There are two methods that I know of.
1.) Using older downloaded packages.
Check if you have
mesa and
lib32-mesa packages in your pacman cache: (If you still have these then lucky you.)
find /var/cache/pacman/pkg -iname "*mesa*" 2> /dev/null
then follow:
https://wiki.archlinux.org/title/Downgrading_packages2.) Manual Compilation.
Note: freedesktop is currently on the process of server migration, might have issues on downloading the files. I did check and it worked fine as of posting this reply. Just a heads up.
I don't know about proper, but I did the downgrade on packages like this by cloning:
https://aur.archlinux.org/packages/mesa-githttps://aur.archlinux.org/packages/lib32-mesa-gitediting the PKGBUILD file's
pkgver= (check the available versions on gitlab:
https://gitlab.freedesktop.org/mesa/mesa):
pkgver=pkgver=25.0.0_devel.200052.bed748d5f6d.d41d8cd
to
pkgver=24.2.7 (this is an example, choose the version you want on the gitlab site specified above)
To avoid problems you may want to set the PKGBUILD files as immutable: (I've had the issue where it would compile mesa as the latest version unless I did this.)
chattr +i PKGBUILD
to undo:
chattr -i PKGBUILD
You may need to edit the dependency requirements too. Such as using an older dependency or add some missing ones.
Hope this works out for you. Cheers.