Mesa - howinfo/howinfo GitHub Wiki
SW:Ubuntu Asahi Mesa
For accelerated graphics. Tested on Ubuntu 22.10 Asahi on M1 Air.
2023-03-11: From 60 FPS to 1500 FPS with glxgears, tested with newest Mesa.
https://asahilinux.org/2023/03/road-to-vulkan/
https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/
NOTE: Maybe this is not needed, if there is PPA or already installed here?
- https://github.com/AsahiLinux/docs/issues/60
- https://github.com/tobhe/ubuntu-asahi/issues/3
- https://launchpad.net/~tobhe/+archive/ubuntu/asahi
1) /etc/apt/sources.list
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic multiverse main universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic multiverse main universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-security main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-security main multiverse universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-updates main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-updates main multiverse universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ kinetic-backports main multiverse universe restricted
deb-src http://ports.ubuntu.com/ubuntu-ports/ kinetic-backports main multiverse universe restricted
2) Install dependencies
Below building newest from official repo:
sudo apt update
sudo apt -y build-dep mesa
sudo apt -y install linux-edge-asahi build-essential wget meson ninja-build mesa-utils
git clone --depth 1 --branch main https://gitlab.freedesktop.org/asahi/mesa/mesa.git
cd mesa
mkdir build
3) Build
Building below with meson https://docs.mesa3d.org/meson.html without options mentioned at https://github.com/AsahiLinux/PKGBUILDs/blob/main/mesa-asahi-edge/PKGBUILD , because with those options came some errors.
meson build/
ninja -C build/
ninja -C build/ install
4) Reboot
sudo reboot
5) Test with glxgears
2023-03-21
$ glxgears
7208 frames in 5.0 seconds = 1441.540 FPS
7564 frames in 5.0 seconds = 1512.677 FPS
7339 frames in 5.0 seconds = 1467.652 FPS
7567 frames in 5.0 seconds = 1513.253 FPS
2023-02-15
$ glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
302 frames in 5.0 seconds = 60.372 FPS
6) Test with glxinfo -B
2023-03-21
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: llvmpipe (LLVM 15.0.6, 128 bits) (0xffffffff)
Version: 23.1.0
Accelerated: no
Video memory: 15701MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 4.5
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 63 MB, largest block: 63 MB
VBO free aux. memory - total: 12615 MB, largest block: 12615 MB
Texture free memory - total: 63 MB, largest block: 63 MB
Texture free aux. memory - total: 12615 MB, largest block: 12615 MB
Renderbuffer free memory - total: 63 MB, largest block: 63 MB
Renderbuffer free aux. memory - total: 12615 MB, largest block: 12615 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 4294836239 MB
Total available memory: 4294851940 MB
Currently available dedicated video memory: 63 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.6, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.0-devel (git-92ea49edcb)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
2023-02-15
$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Asahi (0xffffffff)
Device: Apple M1 (G13G B1) (0xffffffff)
Version: 23.0.0
Accelerated: yes
Video memory: 15702MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: Asahi
OpenGL renderer string: Apple M1 (G13G B1)
OpenGL version string: 2.1 Mesa 23.0.0-devel
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 23.0.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
7) Test with SuperTuxKart
For sound, used USB-C hub => USB3 port => USB wireless dongle => Jabra Link 380 Headset
https://supertuxkart.net/Download / Linux Show / Full game (.tar.xz) ARM 64-bit
./run-game.sh
Options / Interface / [X] Display FPS
OLD:
Old Mesa code is from https://gitlab.freedesktop.org/asahi/mesa/-/tree/asahi/oq and https://gitlab.freedesktop.org/asahi/mesa/-/archive/asahi/oq/mesa-asahi-oq.tar.gz tar -xzvf mesa-asahi-oq.tar.gz cd mesa-asahi-oq