Ubuntu20.04 编译 mesa 库
一: 必要配置
(1): 安装meson 参考https://www.cnblogs.com/qianhuan/p/15335984.html
(2): 检查更新libdrm_intel https://ubuntu.pkgs.org/20.04/ubuntu-proposed-main-amd64/libdrm-intel1_2.4.110-1ubuntu1~20.04.1_amd64.deb.html
(3): 安装依赖包 sudo apt-get install -y libelf-dev libwayland-egl-backend-dev libxcb-glx0-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxshmfence-dev llvm-11 tmux libpciaccess-dev libxcb-shm0-dev
二:下载mesa
git clone Mesa / mesa · GitLab
git checkout 23.1
三:编译mesa
cd mesa
mkdir build && cd build
meson .. --buildtype debug -Dperfetto=True -Dplatforms=x11 -Dprefix=/tmp/install
ninja -C ./ install
四:使用mesa
(1): 设置库路径
export LIBGL_DRIVERS_PATH="/tmp/install/lib/x86_64-linux-gnu/dri" #设置驱动路径
export LD_LIBRARY_PATH="/tmp/install/lib/x86_64_linux-gnu" #设置GL库路径
(2): 检测mesa是否生效
运行glmark2 , 查看 GL_VERSION信息, 如果是否为 Mesa 23.1.0 则配置正确
(3): 调试3D应用,在mesa库中设置断点,断点的设置方法为:
例:如想调试 glDrawArrays 函数,则到Mesa库中找 mesa_DrawArrays 方法,设置断点。