在rk3399(rockpi 4b)上部署gpu的應用層驅動(linux-5.3)


之前介紹過gpu的驅動分為內核和應用層兩部分,之前一直5.3的內核完成了內核部分的配置,接下來進行用戶層部分的配置

安裝weston

weston 是負責對各種應用繪制的圖層進行合成的軟件框架,它是按照 Wayland 標准實現的,目標是替代在 Linux PC 端存在了很久的 X11,

如果對 Android 圖形系統比較了解的話,它相當於 Android 中的 HWC。

root@localhost:/home/gpu# apt install weston

安裝依賴庫

這是為了進一步安裝mesa做的准備

root@localhost:/home/gpu# apt install flex bison python3-mako libwayland-egl-backend-dev libxcb-dri3-dev libxcb-dri2-0-dev libxcb-glx0-dev libx11-xcb-dev libxcb-present-dev libxcb-sync-dev libxxf86vm-dev libxshmfence-dev libxrandr-dev libwayland-dev libxdamage-dev libxext-dev libxfixes-dev x11proto-dri2-dev x11proto-dri3-dev x11proto-present-dev x11proto-gl-dev x11proto-xf86vidmode-dev libexpat1-dev libudev-dev gettext mesa-utils xutils-dev libpthread-stubs0-dev ninja-build bc python-pip flex bison cmake git valgrind llvm llvm-8-dev python3-pip pkg-config zlib1g-dev wayland-protocols meson

安裝libdrm

libdrm 是一個封裝了和 Linux Kernel DRM 驅動交互的 api 庫

#拉取
root@localhost:/home/gpu# git clone git://anongit.freedesktop.org/mesa/drm
 
#編譯安裝
root@localhost:/home/gpu# cd drm
root@localhost:/home/gpu/drm# meson build --prefix=/usr
root@localhost:/home/gpu/drm# ninja -C build
root@localhost:/home/gpu/drm# sudo -E ninja -C build install

安裝 mesa

mesa 中實現了 Panfrost GPU 驅動的 userspace 部分,它向下操作內核中的 GPU 驅動,向上提供標准的 opengl 接口供各種繪圖應用使用

#拉取庫
root@localhost:/home/gpu/drm# git clone git://anongit.freedesktop.org/mesa/mesa
 
#編譯--這里需要注意:mesa要求0.46+的版本meson可以用pip3 install --user meson進行安裝
root@localhost:/home/gpu/mesa# /root/.local/bin/meson -Ddri-drivers= -Dvulkan-drivers= -Dgallium-drivers=panfrost,kmsro -Dlibunwind=false -Dprefix=/usr build/ 
root@localhost:/home/gpu/mesa# ninja -C build/
root@localhost:/home/gpu/mesa# sudo ninja -C build/ install

到這里所有的用戶層的gpu庫就安裝完了,重啟

執行 cat /proc/interrupt 可以看到 gpu和job 的中斷數不斷上漲,至此 gpu的所有驅動安裝完成

我這里運行的aarch64-ubuntu18.04

界面采用的是gnome

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM