mesa本地meson编译
官方编译参考: https://docs.mesa3d.org/meson.html
我的系统环境是 #101~20.04.1-Ubuntu
获取源码:
方法一:https://gitlab.freedesktop.org/mesa/mesa
下载后自己选择分支
$: git clone git@gitlab.freedesktop.org:mesa/mesa.git
方法二:自己在 linux 电脑上 apt source 获取到源码
search 一下 源码包叫啥
$: apt search mesa*
mesa-opencl-icd/focal-updates,focal-security 21.2.6-0ubuntu0.1~20.04.2 amd64
free implementation of the OpenCL API -- ICD runtime
mesa-utils/focal,now 8.4.0-1build1 amd64 [已安装]
Miscellaneous Mesa GL utilities
mesa-utils-extra/focal,now 8.4.0-1build1 amd64 [已安装]
Miscellaneous Mesa utilies (opengles, egl)
mesa-va-drivers/focal-updates,focal-security,now 21.2.6-0ubuntu0.1~20.04.2 amd64 [已安装,自动]
Mesa VA-API video acceleration drivers
mesa-vdpau-drivers/focal-updates,focal-security,now 21.2.6-0ubuntu0.1~20.04.2 amd64 [已安装,自动]
Mesa VDPAU video acceleration drivers
mesa-vulkan-drivers/focal-updates,focal-security,now 21.2.6-0ubuntu0.1~20.04.2 amd64 [已安装,自动] /*<---------*/
Mesa Vulkan graphics drivers
mir-client-platform-mesa-dev/focal 1.7.1-0ubuntu2 amd64
Display server for Ubuntu - client platform library for Mesa development files
mir-client-platform-mesa5/focal 1.7.1-0ubuntu2 amd64
Display server for Ubuntu - client platform library for Mesa
不同系统版本可能包的名字叫的不一样:
下载源码:
mark-zhao@markzhao:~/work/mesa_compile$ apt source mesa-vulkan-drivers
正在读取软件包列表... 完成
选择 mesa 作为源代码包而非 mesa-vulkan-drivers
提示:mesa 的打包工作被维护于以下位置的 Git 版本控制系统中:
https://salsa.debian.org/xorg-team/lib/mesa.git
请使用:
git clone https://salsa.debian.org/xorg-team/lib/mesa.git
获得该软件包的最近更新(可能尚未正式发布)。
需要下载 24.7 MB 的源代码包。
获取:1 http://ru.archive.ubuntu.com/ubuntu focal-updates/main mesa 21.2.6-0ubuntu0.1~20.04.2 (dsc) [5,543 B]
获取:2 http://ru.archive.ubuntu.com/ubuntu focal-updates/main mesa 21.2.6-0ubuntu0.1~20.04.2 (tar) [24.6 MB]
获取:3 http://ru.archive.ubuntu.com/ubuntu focal-updates/main mesa 21.2.6-0ubuntu0.1~20.04.2 (diff) [111 kB]
已下载 24.7 MB,耗时 8秒 (3,076 kB/s)
dpkg-source: info: extracting mesa in mesa-21.2.6
dpkg-source: info: unpacking mesa_21.2.6.orig.tar.gz
dpkg-source: info: applying mesa_21.2.6-0ubuntu0.1~20.04.2.diff.gz
dpkg-source: info: upstream files that have been modified:
mesa-21.2.6/.gitlab/issue_templates/Bug Report - AMD Radeon Vulkan.md
mesa-21.2.6/.gitlab/issue_templates/Bug Report.md
W: 由于文件'mesa_21.2.6-0ubuntu0.1~20.04.2.dsc'无法被用户'_apt'访问,已脱离沙盒并提权为根用户来进行下载。 - pkgAcquire::Run (13: 权限不够)
mark-zhao@markzhao:~/work/mesa_compile$ ls
mesa-21.2.6 mesa_21.2.6-0ubuntu0.1~20.04.2.dsc
mesa_21.2.6-0ubuntu0.1~20.04.2.diff.gz mesa_21.2.6.orig.tar.gz
依赖安装与编译选项配置:
1.安装依赖:
mark-zhao@markzhao:~/work/mesa_compile/mesa-21.2.6/build$ sudo apt build-dep mesa-vulkan-drivers
正在读取软件包列表... 完成
选择 mesa 作为源代码包而非 mesa-vulkan-drivers
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
autopoint debhelper dh-autoreconf dh-strip-nondeterminism diffstat directx-headers-dev dwz gettext intltool-debian lib32gcc-s1
lib32stdc++6 libarchive-zip-perl libc6-i386 libclang-12-dev libclang-common-12-dev libclang-cpp12-dev libclang1-12 libclc-12-dev
libcroco3 libdebhelper-perl libfile-stripnondeterminism-perl libobjc-9-dev libobjc4 libsensors4-dev libset-scalar-perl
libsub-override-perl libtool libva-dev libva-glx2 libva-wayland2 libvdpau-dev libwayland-bin libwayland-dev
libwayland-egl-backend-dev libzstd-dev po-debconf python3-setuptools quilt valgrind wayland-protocols
升级了 0 个软件包,新安装了 40 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 58.7 MB 的归档。
解压缩后会消耗 409 MB 的额外空间。
您希望继续执行吗? [Y