#!/bin/sh tce-load -i compiletc ninja meson cmake llvm15-dev llvm15-bin expat2-dev liblz4-dev liblzma-dev libXdamage-dev \ libXxf86vm-dev libxshmfence-dev libdrm-dev wayland-dev wayland-protocols libXrandr-dev #needs python3 mako #llvm-config needs to be copied to fs tar xf mesa-23.3.1.tar.xz cd mesa-23.3.1 patch -Np1 -i ../mesa-add_xdemos-2.patch mkdir build && cd build CC="gcc -flto -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe" CXX="g++ -flto \ -march=armv8-a+crc -mtune=cortex-a72 -Os -pipe -DNDEBUG" \ meson setup --prefix=/usr/local --buildtype=plain -Dvalgrind=disabled \ -Dgallium-drivers="vc4,v3d,kmsro,virgl,swrast" -Dvulkan-drivers="broadcom,swrast" ../ ninja TMPDIR=/tmp/mesa DESTDIR=$TMPDIR ninja install find $TMPDIR/ -type d | xargs chmod -v 755 find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded ###mesa EXTNAM=mesa ###libEGL (libEGL, libgbm) EXTNAM1=libEGL mkdir -p /tmp/${EXTNAM1}/usr/local/lib mkdir -p /tmp/${EXTNAM1}-dev/usr/local/lib/pkgconfig mkdir -p /tmp/${EXTNAM1}-dev/usr/local/include mv -f /tmp/$EXTNAM/usr/local/include/EGL /tmp/${EXTNAM1}-dev/usr/local/include mv -f /tmp/$EXTNAM/usr/local/include/gbm.h /tmp/${EXTNAM1}-dev/usr/local/include mv -f /tmp/$EXTNAM/usr/local/lib/libEGL* /tmp/${EXTNAM1}/usr/local/lib mv -f /tmp/$EXTNAM/usr/local/lib/libgbm* /tmp/${EXTNAM1}/usr/local/lib mv -f /tmp/$EXTNAM/usr/local/lib/pkgconfig/egl.pc /tmp/${EXTNAM1}-dev/usr/local/lib/pkgconfig mv -f /tmp/$EXTNAM/usr/local/lib/pkgconfig/gbm.pc /tmp/${EXTNAM1}-dev/usr/local/lib/pkgconfig ###libGLES (libGLESv1, libGLESv2) EXTNAM2=libGLES mkdir -p /tmp/${EXTNAM2}/usr/local/lib mkdir -p /tmp/${EXTNAM2}-dev/usr/local/lib/pkgconfig mkdir -p /tmp/${EXTNAM2}-dev/usr/local/include mv -f /tmp/$EXTNAM/usr/local/include/GLES* /tmp/${EXTNAM2}-dev/usr/local/include mv -f /tmp/$EXTNAM/usr/local/lib/libGLES* /tmp/${EXTNAM2}/usr/local/lib mv -f /tmp/$EXTNAM/usr/local/lib/pkgconfig/gles*.pc /tmp/${EXTNAM2}-dev/usr/local/lib/pkgconfig ###glxinfo bin program EXTNAM3=glxinfo mkdir -p /tmp/${EXTNAM3}/usr/local mv -f /tmp/$EXTNAM/usr/local/bin /tmp/${EXTNAM3}/usr/local/ ###mesa-vulkan EXTNAM4=mesa-vulkan-rpi4 mkdir -p /tmp/${EXTNAM4}/usr/local/share mkdir -p /tmp/${EXTNAM4}/usr/local/lib mv -f /tmp/$EXTNAM/usr/local/share/vulkan /tmp/${EXTNAM4}/usr/local/share/ mv -f /tmp/$EXTNAM/usr/local/lib/libvulkan* /tmp/${EXTNAM4}/usr/local/lib ###mesa-dev mkdir -p /tmp/${EXTNAM}-dev/usr/local/lib mv -f /tmp/$EXTNAM/usr/local/include /tmp/${EXTNAM}-dev/usr/local mv -f /tmp/$EXTNAM/usr/local/lib/pkgconfig /tmp/${EXTNAM}-dev/usr/local/lib #####remove extra stuff rm -rf /tmp/$EXTNAM/usr/local/share/man rm -f /tmp/$EXTNAM/usr/local/lib/dri/armada* rm -f /tmp/$EXTNAM/usr/local/lib/dri/e* rm -f /tmp/$EXTNAM/usr/local/lib/dri/h* rm -f /tmp/$EXTNAM/usr/local/lib/dri/i* rm -f /tmp/$EXTNAM/usr/local/lib/dri/k* rm -f /tmp/$EXTNAM/usr/local/lib/dri/m* rm -f /tmp/$EXTNAM/usr/local/lib/dri/p* rm -f /tmp/$EXTNAM/usr/local/lib/dri/r* rm -f /tmp/$EXTNAM/usr/local/lib/dri/st* rm -f /tmp/$EXTNAM/usr/local/lib/dri/sun* tce-load -i squashfs-tools for FILE in $(echo "$EXTNAM $EXTNAM-dev $EXTNAM1 $EXTNAM1-dev $EXTNAM2 $EXTNAM2-dev $EXTNAM3 $EXTNAM4"); do ################################################### # Create extension in temp dir # ################################################### cd /tmp/$FILE rm -f *.tcz* cd .. mksquashfs $FILE $FILE.tcz -noappend -b 16384 cd $FILE find usr -not -type d | sort > $FILE.tcz.list mv ../$FILE.tcz . # Create md5 file md5sum $FILE.tcz > $FILE.tcz.md5.txt # Cleanup temp directory #rm -r -f usr done mesa 23.3.0-rc5 Directories prefix : /usr/local libdir : lib includedir : include Common C and C++ arguments c_cpp_args : OpenGL OpenGL : YES ES1 : YES ES2 : YES Shared glapi : YES GLVND : NO DRI Platform : drm Driver dir : /usr/local/lib/dri GLX Enabled : YES Provider : dri EGL Enabled : YES Drivers : builtin:egl_dri2 builtin:egl_dri3 Platforms : x11 wayland surfaceless drm xcb GBM Enabled : YES Backends path : /usr/local/lib/gbm Vulkan Drivers : broadcom swrast Platforms : x11 wayland surfaceless drm xcb ICD dir : share/vulkan/icd.d Intel Ray tracing : NO Video Codecs : NO APIs : vulkan LLVM Enabled : YES Version : 15.0.7 Gallium Enabled : YES Drivers : vc4 v3d kmsro virgl swrast Platforms : x11 wayland surfaceless drm xcb Frontends : mesa Off-screen rendering (OSMesa): NO HUD lm-sensors : NO Perfetto Enabled : NO User defined options buildtype : plain prefix : /usr/local gallium-drivers : vc4,v3d,kmsro,virgl,swrast valgrind : disabled vulkan-drivers : broadcom,swrast