前言
docs/osmesa.html
Q&A
- Mega Drivers
https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Mega_drivers
https://www.x.org/wiki/Events/XDC2013/XDC2013EricAnholtDRIMegadrivers/
编译
meson osmesa-build/ -Dosmesa=gallium -Dgallium-drivers=swrast -Ddri-drivers=[] -Dvulkan-drivers=[] -Dprefix=$PWD/../osmesa-install
ninja -C osmesa-build/ install
源码
include/GL/osmesa.h
src/gallium/state_trackers/osmesa/osmesa.c
src/gallium/targets/osmesa/target.c
src/mesa/drivers/osmesa/osmesa.c
安装
ninja install log
[1044/1045] Installing files.
Installing src/mapi/shared-glapi/libglapi.so.0.0.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/mapi/es1api/libGLESv1_CM.so.1.1.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/mapi/es2api/libGLESv2.so.2.0.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/glx/libGL.so.1.2.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/gbm/libgbm.so.1.0.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/egl/libEGL.so.1.0.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing src/gallium/targets/dri/libgallium_dri.so to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/dri
Installing src/gallium/targets/osmesa/libOSMesa.so.8.0.0 to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu
Installing /home/pi/dev/mesa-20.0.8/include/KHR/khrplatform.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/KHR
Installing /home/pi/dev/mesa-20.0.8/include/GLES/egl.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES
Installing /home/pi/dev/mesa-20.0.8/include/GLES/gl.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES
Installing /home/pi/dev/mesa-20.0.8/include/GLES/glext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES
Installing /home/pi/dev/mesa-20.0.8/include/GLES/glplatform.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES
Installing /home/pi/dev/mesa-20.0.8/include/GLES2/gl2.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES2
Installing /home/pi/dev/mesa-20.0.8/include/GLES2/gl2ext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES2
Installing /home/pi/dev/mesa-20.0.8/include/GLES2/gl2platform.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES2
Installing /home/pi/dev/mesa-20.0.8/include/GLES3/gl3.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES3
Installing /home/pi/dev/mesa-20.0.8/include/GLES3/gl31.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES3
Installing /home/pi/dev/mesa-20.0.8/include/GLES3/gl32.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES3
Installing /home/pi/dev/mesa-20.0.8/include/GLES3/gl3ext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES3
Installing /home/pi/dev/mesa-20.0.8/include/GLES3/gl3platform.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GLES3
Installing /home/pi/dev/mesa-20.0.8/include/GL/gl.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/GL/glcorearb.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/GL/glext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/GL/glx.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/GL/glxext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/EGL/egl.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/EGL
Installing /home/pi/dev/mesa-20.0.8/include/EGL/eglext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/EGL
Installing /home/pi/dev/mesa-20.0.8/include/EGL/eglplatform.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/EGL
Installing /home/pi/dev/mesa-20.0.8/include/EGL/eglmesaext.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/EGL
Installing /home/pi/dev/mesa-20.0.8/include/EGL/eglextchromium.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/EGL
Installing /home/pi/dev/mesa-20.0.8/include/GL/osmesa.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL
Installing /home/pi/dev/mesa-20.0.8/include/GL/internal/dri_interface.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include/GL/internal
Installing /home/pi/dev/mesa-20.0.8/src/gbm/main/gbm.h to /home/pi/dev/mesa-20.0.8/../osmesa-install/include
Installing /home/pi/dev/mesa-20.0.8/src/util/00-mesa-defaults.conf to /home/pi/dev/mesa-20.0.8/../osmesa-install/share/drirc.d
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/glesv1_cm.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/glesv2.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/dri.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/gbm.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/egl.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/osmesa.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Installing /home/pi/dev/mesa-20.0.8/osmesa-build/meson-private/gl.pc to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/pkgconfig
Running custom install script '/usr/bin/python3 /home/pi/dev/mesa-20.0.8/bin/install_megadrivers.py /home/pi/dev/mesa-20.0.8/osmesa-build/src/gallium/targets/dri/libgallium_dri.so /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/dri swrast_dri.so kms_swrast_dri.so'
installing /home/pi/dev/mesa-20.0.8/osmesa-build/src/gallium/targets/dri/libgallium_dri.so to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/dri/swrast_dri.so
installing /home/pi/dev/mesa-20.0.8/osmesa-build/src/gallium/targets/dri/libgallium_dri.so to /home/pi/dev/mesa-20.0.8/../osmesa-install/lib/aarch64-linux-gnu/dri/kms_swrast_dri.so
install files tree
.
├── [4.0K] include
│ ├── [4.0K] EGL
│ │ ├── [3.2K] eglextchromium.h
│ │ ├── [ 66K] eglext.h
│ │ ├── [ 20K] egl.h
│ │ ├── [3.8K] eglmesaext.h
│ │ └── [6.2K] eglplatform.h
│ ├── [ 16K] gbm.h
│ ├── [4.0K] GL
│ │ ├── [417K] glcorearb.h
│ │ ├── [841K] glext.h
│ │ ├── [ 81K] gl.h
│ │ ├── [ 49K] glxext.h
│ │ ├── [ 15K] glx.h
│ │ ├── [4.0K] internal
│ │ │ └── [ 79K] dri_interface.h
│ │ └── [ 10K] osmesa.h
│ ├── [4.0K] GLES
│ │ ├── [ 951] egl.h
│ │ ├── [ 53K] glext.h
│ │ ├── [ 32K] gl.h
│ │ └── [1.2K] glplatform.h
│ ├── [4.0K] GLES2
│ │ ├── [230K] gl2ext.h
│ │ ├── [ 44K] gl2.h
│ │ └── [1.2K] gl2platform.h
│ ├── [4.0K] GLES3
│ │ ├── [106K] gl31.h
│ │ ├── [127K] gl32.h
│ │ ├── [ 765] gl3ext.h
│ │ ├── [ 82K] gl3.h
│ │ └── [1.2K] gl3platform.h
│ └── [4.0K] KHR
│ └── [ 10K] khrplatform.h
├── [4.0K] lib
│ └── [4.0K] aarch64-linux-gnu
│ ├── [4.0K] dri
│ │ ├── [ 79M] kms_swrast_dri.so
│ │ └── [ 79M] swrast_dri.so
│ ├── [ 11] libEGL.so -> libEGL.so.1
│ ├── [ 15] libEGL.so.1 -> libEGL.so.1.0.0
│ ├── [1.6M] libEGL.so.1.0.0
│ ├── [ 11] libgbm.so -> libgbm.so.1
│ ├── [ 15] libgbm.so.1 -> libgbm.so.1.0.0
│ ├── [252K] libgbm.so.1.0.0
│ ├── [ 13] libglapi.so -> libglapi.so.0
│ ├── [ 17] libglapi.so.0 -> libglapi.so.0.0.0
│ ├── [1.2M] libglapi.so.0.0.0
│ ├── [ 17] libGLESv1_CM.so -> libGLESv1_CM.so.1
│ ├── [ 21] libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
│ ├── [ 84K] libGLESv1_CM.so.1.1.0
│ ├── [ 14] libGLESv2.so -> libGLESv2.so.2
│ ├── [ 18] libGLESv2.so.2 -> libGLESv2.so.2.0.0
│ ├── [223K] libGLESv2.so.2.0.0
│ ├── [ 10] libGL.so -> libGL.so.1
│ ├── [ 14] libGL.so.1 -> libGL.so.1.2.0
│ ├── [3.4M] libGL.so.1.2.0
│ ├── [ 14] libOSMesa.so -> libOSMesa.so.8
│ ├── [ 18] libOSMesa.so.8 -> libOSMesa.so.8.0.0
│ ├── [ 80M] libOSMesa.so.8.0.0
│ └── [4.0K] pkgconfig
│ ├── [ 333] dri.pc
│ ├── [ 397] egl.pc
│ ├── [ 242] gbm.pc
│ ├── [ 290] glesv1_cm.pc
│ ├── [ 281] glesv2.pc
│ ├── [ 411] gl.pc
│ └── [ 287] osmesa.pc
└── [4.0K] share
└── [4.0K] drirc.d
└── [ 27K] 00-mesa-defaults.conf