xxmitsu/mesa-and-llvm-git

( forked from xxmitsu/mesa-aco )

Project ID: 25148

Description

This repo is a modified version of che-mesa, triggered to be rebuilt every few hours if code update is detected.

For the ones feeling adventurous, bleeding edge, mesa-git built against llvm-git at regular intervals.

  • It might break from time to time: Because x64 and i686 packages are build asynchronously, and you might encounter the error:

cannot install the best update candidate for package, has inferior architecture.

Resolution: .. Just try again later. When both of the builds will be ready.

The main purpose for this repo was to have the most up2date graphics stack for Radeon Users.

Since ACO has become the default compiler for RADV (Vulkan) and is also planned for RadeonSI (OpenGL), one could use mesa-git, still benefit from latest and have a more stable experience.

If you are using a very recent GPU, you might also need a newer kernel.

Highly experimental kernel for AMD GPUs is available here: kernel-amdgpu-next.

Installation Instructions

For x86_64 you have to enable both the 64bit and 32bit repositories, because most of the games are still 32 bit applications.

For mesa and libdrm create a mesa-and-llvm-git.repo file in /etc/yum.repos.d/ with the following content:

[mesa-and-llvm-git] name=Copr repo for mesa-and-llvm git - x86_64 baseurl=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/mesa-and-llvm-git/fedora-$releasever-$basearch/ skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/mesa-and-llvm-git/pubkey.gpg enabled=1 enabled_metadata=1 [mesa-and-llvm-git-x86] name=Copr repo for mesa-and-llvm git - i386 baseurl=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/mesa-and-llvm-git/fedora-$releasever-i386/ skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/mesa-and-llvm-git/pubkey.gpg enabled=1 enabled_metadata=1 [xxmitsu-llvm] name=Copr repo for llvm build from git daily baseurl=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/llvm/fedora-$releasever-$basearch/ skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/llvm/pubkey.gpg enabled=1 enabled_metadata=1 [xxmitsu-llvm-x86] name=Copr repo for llvm build from git daily - x86 baseurl=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/llvm/fedora-$releasever-i386/ skip_if_unavailable=True gpgcheck=1 gpgkey=https://copr-be.cloud.fedoraproject.org/results/xxmitsu/llvm/pubkey.gpg enabled=1 enabled_metadata=1

Rawhide users:

Due to the following issue, rawhide users, might need to manually modify their $releasever to rawhide.

Important for distribution upgrades or first time installs:

The packages beignet and pocl are not supplied by the repository but installed by default with new installs and distro upgrades, since they both rarely build against llvm svn and mesa git. Please remove the packages manually to avoid any errors when installing the mesa and llvm updates the first time or after a distribution upgrade. For various reasons i do not want to obsolete both packages to get them removed automatically:

dnf remove beignet pocl

For AMDGPU owners, ACO backend is now default backend for RADV:

  • What is ACO? ACO stands for Amd COmpiler. More details here.
  • Testing instructions
  • Backend capabilities. (Check here supported hardware)
  • The ACO backend was enabled by default for RADV(Vulkan) as of 2020-06-25.
  • RADV_DEBUG=llvm option can e used to enable legacy LLVM backend.

Vulkan selection layer:

  • This is the vulkan equivalent of DRI_PRIME=1. Usage instructions:

  • Get your device's vendor id and device id

# lspci -nn | grep -i vga 43:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 20 [Radeon VII] [1002:66af] (rev c1)
  • Set before game launch command:
MESA_VK_DEVICE_SELECT=vendor:device
  • Example for Steam launch options:
MESA_VK_DEVICE_SELECT=1002:66af %command%

Knowledgebase:

For users upgrading from mesa 19

dnf remove mesa-khr-devel

Gnome shell fails to start after recent mesa-20.1-git

It is possible that a bug may slip in that will be fixed on a future version. See this bug reports: 2473 , 2466 and 3694

If you were unlucky to update to the specific build that had the regression:

  • dnf remove mesa-egl-icd
  • then do another update to pickup latest packages.

Or, you could try this workaround.

GDM Startup hangs, I can see a black screen and a mouse cursor that can not be moved

This is a known issue, see: https://gitlab.gnome.org/GNOME/mutter/merge_requests/619 The only way of fixing this is to either manually patch mutter or wait until a new mutter package is provided.

NOTE: updated mutter packages are now available in updates for f29 and f30! Thanks to the official Fedora maintainer Florian Muellner!

Possible workaround: If you do not care about wayland sessions you can edit /etc/gdm/custom.conf and uncomment: WaylandEnable=false This will make gdm start but you will have no more wayland options until you comment it out again.

Mouse clicks not working in GDM/Gnome-Shell/Mutter:

Additionally the latest mesa exposes RGB10 with radeonsi by default. This leads to the problem with gdm and gnome-shell that mouse clicks are not recieved by the applications when using wayland. If you are affected by the problem the workaround is to turn off RGB10 exposure to gdm/gnome-shell:

echo "allow_rgb10_configs=false" >> /etc/environment

The problem has been reported by Mikhail Gavrilov and he was also kind enough to notify me of the workaround that was provided on the amd-gfx mailinglist. He also reported the problem upstream: Bug Report. Thank you Mikhail!

How do i use amdgpu for my si/cik card to get vulkan support?

Important: If you make your system unbootable by screwing up your grub.cfg, do not blame me! I am not recommending you to do this change!

BUG: With kernel-4.18.18 it still works, but all kernel-4.19 versions seem to have a bug that prevents this from working (I will follow up on this here), resulting in a black screen when the login manager is supposed to appear. This is not a bug in mesa!

For SI cards the following kernel boot parameters will enable the amdgpu kernel driver and turn off radeon support:

amdgpu.si_support=1 radeon.si_support=0

For CIK cards the following kernel boot parameters will enable the amdgpu kernel driver and turn off radeon support:

amdgpu.cik_support=1 radeon.cik_support=0

If you want to run Xorg based sessions with your SI or CIK card and the amdgpu kernel driver you will also need to install the amdgpu xorg driver:

dnf install xorg-x11-drv-amdgpu

How do i get back to stock versions of mesa and llvm?

If something goes wrong, you can simply disable:

sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/xxmitsu-mesa-and-llvm-git.repo dnf distro-sync

Or:

dnf --disablerepo=mesa-and-llvm-git --disablerepo=mesa-and-llvm-git-x86 distro-sync

If you want to enable it back:

sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/xxmitsu-mesa-and-llvm-git.repo dnf distro-sync

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 39 i386 (3308)*, x86_64 (3361)* Fedora 39 multilib x86_64+i386 (0 downloads)
Fedora 40 i386 [modified] (1338)*, x86_64 [modified] (1394)* Fedora 40 multilib x86_64+i386 (76 downloads)
Fedora 41 i386 [modified] (571)*, x86_64 [modified] (489)* Fedora 41 multilib x86_64+i386 (25 downloads)
Fedora rawhide i386 [modified] (16535)*, x86_64 [modified] (17759)* Fedora rawhide multilib x86_64+i386 (935 downloads)

* Total number of downloaded packages.

External Repository List

The following repositories are accessible during builds


Quick Enable

#> dnf copr enable xxmitsu/mesa-and-llvm-git
More info about enabling Copr repositories

Other Actions