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?

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