Installation of mesa-amber on G4 MDD 2003 with Radeon 9000 Pro

The following instructions deal with installation of a tweaked mesa-amber from Debian Salsa’s source and the steps to take to make it all work. If you follow these instructions, it is possible to get hardware acceleration on this old machine. Please note that this document is a draft version and that further redacting will be done in the future by the original author of this document. The document was written by Alexis Levie, a French Linux enthusiast.

CTRL+ALT+F2
# Go to TTY2, a virtual console

# login as <username>
su -
adduser sudo
exit


|# logout and re-login as <username>

sudo systemctl stop lightdm

sudo nano /etc/X11/xorg.conf

Make it look like this:
Section "Device"
Identifier "ATI Radeon 9000 Pro Mac Edition (RV250)"
Driver "radeon"
Option "NoAccel" "true"
EndSection

sudo systemctl start lightdm

# XFCE may not run the window manager with no acceleration, if that’s the case run it from ALT+F2

xfwm4 --compositor=off --replace

#disable compositor in XCFE permanently for now

xfwm4-tweaks-settings

sudo nano /etc/apt/sources.list

# deb cdrom:[Debian GNU/Linux 13.0.0 Sid - Unofficial powerpc NETINST 20251206>

deb http://deb.debian.org/debian-ports/ sid main
deb http://deb.debian.org/debian-ports/ unreleased main

# deb-src http://deb.debian.org/debian-ports/ sid main
# 'unreleased' does not support sources yet
# deb-src http://deb.debian.org/debian-ports/ unreleased main

deb [arch=all] http://deb.debian.org/debian sid non-free-firmware

# This system was installed using removable media other than
# CD/DVD/BD (e.g. USB stick, SD card, ISO image file).
# The matching "deb cdrom" entries were disabled at the end
# of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

sudo apt modernize-sources

cat /etc/apt/sources.list.d/debian-ports.sources

# Modernized from /etc/apt/sources.list
Types: deb
URIs: http://deb.debian.org/debian-ports/
Suites: sid
Components: main
Signed-By: /usr/share/keyrings/debian-ports-archive-keyring.gpg

# Modernized from /etc/apt/sources.list
Types: deb
URIs: http://deb.debian.org/debian-ports/
Suites: unreleased
Components: main
Signed-By: /usr/share/keyrings/debian-ports-archive-keyring.gpg

sudo nano /etc/apt/sources.list.d/debian.sources

# Modernized from /etc/apt/sources.list
Types: deb
URIs: http://deb.debian.org/debian/
Suites: sid
Components: non-free-firmware
Architectures: all
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg


# Need to add “Architectures: all” manually (manual edit)

# Fix apt
sudo apt install vim-common

# Upgrade all packages
sudo apt upgrade

# Useful tools
sudo apt install fastfetch
sudo apt install mac-fdisk hfsprogs
sudo apt install exfatprogs ntfs-3g dosfstools mtools udftools
sudo apt install mesa-utils
sudo apt install htop btop radeontop lshw
sudo apt install aptitude


# If you plan to try an Nvidia graphics card later, you may install
sudo apt install nvtop

# locate
sudo apt install plocate
sudo updatedb

sudo apt install gparted
sudo apt install synaptic
sudo apt install menulibre

ls /usr/lib/xorg/modules/
# libglamoregl.so is alright, do not delete
drivers input libfbdevhw.so libint10.so libshadow.so libwfb.so
extensions libexa.so libglamoregl.so libshadowfb.so libvgahw.so


# No need for kernel parameters, don’t change /etc/default/grub
cat /etc/default/grub
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=( . /etc/os-release && echo ${NAME} )
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""


# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.

GRUB_DISABLE_OS_PROBER=true

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD …)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"


# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA
# you can see them in real GRUB with the command `videoinfo'
#GRUB_GFXMODE=640x480


# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"


# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"


# Do NOT install these packages: firmware-linux firmware-linux-free firmware-linux-nonfree
# Crash otherwise
# Install only AMD / ATI Radeon firmware:
sudo apt install firmware-amd-graphics

# Optional airport support
sudo apt install firmware-b43-installer firmware-b43legacy-installer

# Tune alsa
alsamixer
Bass: 50
Treble: 50
PCM: 67 # More on my system brings distortion

# Test speakers
speaker-test -t wav -c 2 -l 1

Instead of building mesa-amber, you can also install the required libraries in MintPPC by installing the mesa-amber-powerpc package.


# Build mesa-amber

mkdir -p ~/git/debian && cd $_
sudo apt install git build-essential devscripts
git clone https://salsa.debian.org/xorg-team/lib/mesa-amber.git
mv mesa-amber mesa-amber-21.3.9
cd mesa-amber-21.3.9


# At the time of writing last commit is 1800dfbe25f88c97612d024dfd06c3f44c350d40

git log -1
commit 1800dfbe25f88c97612d024dfd06c3f44c350d40 (HEAD -> debian-unstable, origin/debian-unstable, origin/HEAD)
Author: Timo Aaltonen tjaalton@debian.org
Date: Wed Aug 27 14:15:03 2025 +0300
control: Migrate to pkgconf.


# Patch
# The patch can be found here

alexis@PowerMac-G4:~/git/debian/mesa-amber-21.3.9$ git apply ~/Documents/mesa-amber-21.3.9_ppc-2.patch

sudo mk-build-deps --install ---remove
# Remove and install are optional

mk-build-deps
dpkg-deb --info mesa-amber-build-deps_21.3.9-2_powerpc.deb
new Debian package, version 2.0.
size 2672 bytes: control archive=888 bytes.
1027 bytes, 11 lines control
254 bytes, 3 lines md5sums
Package: mesa-amber-build-deps
Version: 1:21.3.9-2
Architecture: powerpc
Maintainer: Equivs Dummy Package Generator root@PowerMac-G4.local
Installed-Size: 10
Depends: build-essential:powerpc, bison, debhelper-compat (= 13), flex, libdrm-dev (>= 2.4.107-4), libelf-dev, libexpat1-dev, libglvnd-core-dev (>= 1.3.2), libwayland-dev (>= 1.15.0), libwayland-egl-backend-dev (>= 1.15.0), libx11-dev, libx11-xcb-dev, libxcb-dri2-0-dev (>= 1.8), libxcb-dri3-dev, libxcb-glx0-dev (>= 1.8.1), libxcb-present-dev, libxcb-randr0-dev, libxcb-shm0-dev, libxcb-sync-dev, libxcb-xfixes0-dev, libxext-dev, libxfixes-dev, libxrandr-dev, libxshmfence-dev (>= 1.1), libxxf86vm-dev, libzstd-dev, linux-libc-dev (>= 2.6.31), meson (>= 0.45), pkgconf, python3, python3-mako, python3-setuptools, quilt (>= 0.63-8.2~), valgrind-if-available, wayland-protocols (>= 1.9), x11proto-dev, zlib1g-dev
Section: devel
Priority: optional
Multi-Arch: foreign
Description: build-dependencies for mesa-amber
Dependency package to build the 'mesa-amber' package

sudo dpkg -i mesa-amber-build-deps_21.3.9-2_powerpc.deb

dpkg-buildpackage -us -uc

# If for whatever reasons you need to resume the build use the noclean option

dpkg-buildpackage -us -uc -nc

# Install only these, other packages are not necessary
sudo dpkg -i libegl-amber0_21.3.9-2_powerpc.deb libglx-amber0_21.3.9-2_powerpc.deb libgl1-amber-dri_21.3.9-2_powerpc.deb libosmesa6_21.3.9-2_powerpc.deb libglapi-amber_21.3.9-2_powerpc.deb

# Enable Mesa Amber

sudo nano /etc/environment
# add the following line
__GLX_VENDOR_LIBRARY_NAME=amber

# Xorg config
sudo nano /etc/X11/xorg.conf
Section "Device"
Identifier "ATI Radeon 9000 Pro Mac Edition (RV250)"
Driver "radeon"
#Option "NoAccel" "true"
Option "DRI" "2"
Option "AccelMethod" "EXA"
Option "EXAPixmaps" "false"
EndSection


# The last three Xorg options prevent system freeze

reboot

# Enable compositor in XCFE permanently
xfwm4-tweaks-settings

alexis@PowerMac-G4:~$ glxinfo | grep OpenGL
OpenGL vendor string: Mesa Project
OpenGL renderer string: Mesa DRI R200 (RV250 4966) DRI2
OpenGL version string: 1.3 Mesa 21.3.9 Amber (git-1800dfbe25)
OpenGL extensions:


# Warning glxgears makes the system freeze, when it does not the gears have artifacts.
# DO NOT USE IT

### Test

sudo radeontop

# Install OpenGL screensavers

sudo apt install xscreensaver-gl xscreensaver-gl-extra
# Note : some may make the system crash
# This will allow you to test OpenGL

# If needed reset XFCE screensaver settings:

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml

# The ATI Radeon 9000 Pro Mac Edition (RV250) supports only OpenGL 1.3

# Install Web Browser

cd ~/Downloads
wget https://u58733p55594.web0093.zxcs-klant.nl/wicknix/powerpc/sealion_34.2.0_powerpc.deb
sudo dpkg -i sealion_34.2.0_powerpc.deb

# The name of the package may have changed because of a newer version

alexis@PowerMac-G4:~$ fastfetch