GPUOpen-Drivers / AMDVLK

AMD Open Source Driver For Vulkan
MIT License
1.69k stars 160 forks source link

Reach out request, re distro support #356

Closed khionu closed 1 month ago

khionu commented 3 months ago

My apologies if this is not an appreciated way of reaching out, I was unable to find a better alternative.

I have interest in packaging the proprietary Linux Radeon drivers for NixOS. The key difference between NixOS and the officially supported distros is that Nix doesn't play well with other tools trying to manage what is installed on the system. The benefit I'm hoping to bring to NixOS is primarily in the game-specific optimizations that don't get released in this project.

What I would like is if I could get in contact with someone at AMD who could help me navigate how to bridge the gap here. Hopefully, they could point me to where the assets I would need to fetch for Nix would be, though ideally they could provide information that would make it easier to maintain the wrapper.

If not through replies to this issue, I can be reached through the email on my profile.

perlfu commented 3 months ago

I am not the ideal contact, but will try and start the ball rolling here. If possible, can you expand on which assets and information you need?

I don't have any experience with NixOS, so apologies in advance if my questions/comments miss the mark. Are you asking about installing/repackaging existing binaries created for other distributions? Or, building new packages from public sources?

Normally for binary distribution the user downloads a package file, like this one (for Ubuntu): https://repo.radeon.com/amdgpu-install/23.40.2/ubuntu/focal/amdgpu-install_6.0.60002-1_all.deb

This installs a bash script called amdgpu-install, which when invoked adds package sources for kernel mode drivers (KMD) via DKMS, user mode drivers for APIs OpenGL, OpenCL, Vulkan, and X11/Xorg/Wayland drivers. More recently this can also add ROCm sources if required. On Ubuntu the script then invokes apt to install combinations of packages based on the support the user requested. You might want to review what amdgpu-install does if your intention is to port the existing binary packages.

Binary repackaging has been done by a few distributions, for example Gentoo. Some useful information may be present in the relevant ebuilds: https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/amdgpu-pro-vulkan Or GURU binary build: https://gitweb.gentoo.org/repo/proj/guru.git/tree/media-libs/amdvlk-bin

If you want to go the source route then Gentoo's GURU source build might also be a good starting point: https://gitweb.gentoo.org/repo/proj/guru.git/tree/media-libs/amdvlk

As an aside, it might be worth changing the title of this issue to "NixOS support" (or similar), if that is your goal.