7800xt on Debian

I recently purchased a Ryzen 9 7900x bundle from Microcenter and have everything I need to start building my PC, except for the graphics card. I’m planning on getting either an ASRock 7800xt or a Sapphire 7800xt Nitro+. However, I have never used an AMD GPU on Debian before and would appreciate any advice on the matter. I came across this Debian ATI How to and was wondering if there’s anything else I need to know. I watched Wendell’s video about the 7600 on Pop OS and he had to set nomodeset before he was able to boot and pick up the correct driver via updates. Do you have any suggestions or tips? Thank you in advance!

amdgpu linux drivers are baked into the kernel for the general use case, and the 7800XT (being relatively new) requires kernel 6.3 or newer, whereas right now Debian 12 (bookworm) currently supports 6.1 out of the box. You will also want non-free-firmware for the various pieces of hardware that don’t release an open source firmware (including GPUs).

My opinion is that you would be better off with a distro that uses a newer kernel by default (Ubuntu 23, Fedora 38, Arch, etc), rather than trying to force Debian to use a newer kernel. Distro opinions tend to come off strong, but you choose what makes you happy.

Congrats on the new hardware, and best of luck!

3 Likes

Okay, I’ll check what kernel Debian testing is on and if it’s < 6.3 I will probably go with Fedora 38. Thanks for your reply.

1 Like

you can also install mainline kernel on debs without too much headache iirc, so maybe less drastic than distrohopping. Cant get to my debs system right now but its possible theres an experimental package

https://wiki.debian.org/HowToUpgradeKernel

that is what you need anyway. certainly kernel.org instructions also can makedeb so that would cover it in a pinch, too.

4 Likes

Thank you very much @wendell, I will that a shot before hopping to Fedora.

Check out Debian backports that exist for this specific purpose. It is slightly more complex than, say, Ubuntu, Mint or Arch, but easy enough to get the hang of.

https://backports.debian.org/

2 Likes

So many options I never knew of :exploding_head:

As per the information available on the Debian Package Tracker website (https://tracker.debian.org/pkg/linux), Debian testing is currently on version 6.4.13-1. I have been using Debian testing on my laptop for over a year now, and I have never faced any issues. Therefore, I plan to go with Debian testing as my first choice. However, if it doesn’t work out, my backup plan is to upgrade the kernel of Bookworm. If I still face issues with that, I will switch to Popos and use the Ubuntu mainline app. Even though I have been using Linux for years, I still feel like a newbie sometimes. Thank you, everyone, for the suggestions. Initially, I wasn’t sure if this would work, but I’m willing to give it my best shot before switching to Windows.

1 Like

My system Radeon RX 7900XT straight up just booted after swapping from my GTX970 on my Fedora 37. So I had some cruft to deal with from the nvidia proprietary drivers.

It should still work with Fedora 38.

1 Like

I just realized Pop os is on kernel 6.4.6 with Mesa 23.1.3 so there is another option to try.

Edit: Nevermind, Popos doesn’t even have the Raphael apu drivers for the 7000 series AMD CPU.

I’m using debian 12 with Kernel: 6.4.0-0.deb12.2-amd64 and when I try to use amdgpu-install I get an error regarding amdgpu-dkms digging in further I get the error dma_resv-> seq is missing in an a log file. Any suggestions on how to proceede? thank you

Sorry Richard, I wasn’t able to figure this out. I just went with Windows for the time being so I could checkout the AMD software and HyperRX. I will switch back to Debian when things are more ironed out.

No problem, I’ll probably keep adding updates, and hopefully a small guide, if that’s okay with you?

1 Like
  1. After doing some digging I have found a couple of things first I found a source where someone is dealing with a similar issue. on ask Ubuntu how-do-i-install-amdgpu-dkms-in-unbuntu-22.

  2. I found that the bash scripts in particular pre-build.sh has incorrect paths. I’ll add more details latter.

edit:

Update on testing thus far,

System updates:

I began as mentioned above with debian 12 and a kernel version of 6.4.

I have switched to debian sid with a kernel version of 6.5.0-2

my hardware has not changed and is as follows:

CPU: ryzen 7 5800x

RAM: 32 gigs ddr 4

GPU: ASRock Challenger Radeon RX 7800 XT 16GB GDDR6 PCI Express 4.0 x16 ATX Video Card RX7800XT CL 16GO

Motherboard: b450m ds3h

a couple of san disk hard drives

Install steps taken:

1.I have installed amdgpu-install from the amd website followed the instructions on there wiki.

  1. when running amdgpu-install I receive the error message problem dkms and sent to the log file

/var/lib/dkms/amdgpu/6.2.4-1652687.22.04/ build/make.log

  1. The make.log file has the error message dma_resv→ seq is missing

Debugging:

  1. Starting from the make file in the install steps I placed print statements throughout the Makefile to see where the error is. I tracked it down to a possible culprit of Makefile.drm_ttm_helper.

a. the directory that I’m working from moving forward is

/var/lib/dkms/amdgpu/6.2.4-1652687.22.04/source/amd/dkms

2. looking into the pre-build.sh it seems that there is an issue with the pathing as it refers to files that exist a directory above where the file is executing. (turns out that where you call the script is important. This was not the issue)

I have resolved the issue as far as I can tell I will put a detailed list of steps taken in a reply.

2 Likes

I will continue to update this section with more accurate information, please leave a comment if the below instructions don’t work, I’ll try to help and update the guide.

warning
I was only able to get this to work with the most up to date linux kernel which required building from source. This is the most beginner friendly experience.

  1. install dkms and change apt source list
    a. run apt install dkms
    b. switch your apt source to sid( may not be necessary, let me know if it isn’t)

  2. Update Kernel to 6.5.8 (source : phoenixnap(website))
    a. download source from your favorite mirror ( I belive wendell uses the linux archives)
    b. extract the source from the tar file.
    c. install required packages on debian it should be able to be done with the command apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison.
    d. run make menu and save
    e. run make ( the source I found online suggested it with the flag -j (the number of cores you have * 1.5) eg a 8 core 16 thread part would be make -j 12
    f. run make modules_install
    g. run make install
    h. reboot

  • if you run into problems with this first step reference the phoenixnap website or these forums I just haven’t looked for a guide on here yet.
  • if you run neofetch it should tell you your kernel version. if you don’t have it installed run apt install neofetch
  1. amdgpu-install (firmware)
    a. install the amdgpu-install script from the amd website currently you should be able to use the Radeon™ Software for Linux® version 23.20 for Ubuntu 22.04.3 version. (blue underline)
    b. follow the instructions in the guide provided under installation instructions. (green underline)


    c. when you run amdgpu-install include the --accept-eula flag.
    d. when you run the installer you will get an error about amd-dkms ( this is fine)
    e. run apt uninstall amdgpu-dkms

  2. install the amdvlk driver
    a. go to the github page for the amdvlk driver and follow the installation instructions. Use Ubuntu instructions where os is specified.
    b. once the driver is installed reboot.
    c. once you have rebooted run sudo lshw -c video it should show ( the part underlined in blue is the important part)

if things aren’t working refer to @wendell guide for the 6800xt, and leave a comment about how you fixed it so I can update the guide.
Thanks hope this helps.
@bers

3 Likes

Thank you very much for this @Richard_Ledbetter, once I finish or get bored with Starfield I will give this a try.

I got my card yesterday and since I prepared my Debian testing install beforehand it all just worked, I couldn’t believe it. Tho soon some small problems poped up, but I solved them by updating from testing to sid.

Debian (testing/sid) has everything you need - new enough kernel, mesa and other amd/radeon stuff to get started - except, inexplicably, AMD graphics firmware, which in Debian is from May, while the newest on kernel_org was released in October.

So all you need to do in order to get a working 7800 XT on Debian testing/sid is to look for the latest firmware package on kernel_org (EDIT: looks like now I can post links, woohoo), unpack it, change ownership to root and copy the amdgpu dir into /lib/firmware - that is all that’s needed.

With Debian upgraded to sid and the newest firmware package copied manually my card works really, really good, great performace; playing Cities Skylines 2 on a mix of medium/high (with some stuff customised in advanced options) and it looks fantastic and works in the 30 to 50 fps range, depending on what’s on camera. The city has about 100k population.

The only thing that wasn’t working for me is halt and reboot, the computer just hanged doing nothing, which I resolved by switching to the liquorix kernel. Sleep/suspend works correctly with either kernel

So td;lr for anyone with a 7800 xt on Debian: just install newer firmware manually, pretty easy to do. I don’t have any idea why Debian kernel team can’t keep this package up to date, since its responsible to make hardware work and all they have to do is just repackage it from kernel.org.

EDIT: Looks like reboot/shutdown works on the latest Debian kernel (6.5.10). So now there’s everything needed expect AMD firmware to run Debian on a 7800 xt.

4 Likes

Welcome to the forums!

Ive had issues with my 7700XT with Linux mint which is a shame because I wanted to try it for a long time and while the GPU works technically, it feels rough and wont recover from a suspend…

I nuked it for Fedora, sadly…

1 Like

Could you explain how i

install the amdvlk driver
a. go to the github page for the amdvlk driver and follow the installation instructions. Use Ubuntu instructions where os is specified.
b. once the driver is installed reboot.
c. once you have rebooted run sudo lshw -c video it should show ( the part underlined in blue is the important part)

thanks

Yeah,
turns out the amdvlk driver isn’t necessary you can from what I’ve done a couple of time is

  1. download the newest firmware shown in the post above from @Slickie_X and then download
  2. download and run amdgpu install with the --no-dkms -y --accept-eula flags. after that it should work.

as for part c when you lshw -c video under the configuration part if you see driver=amdgpu then everything was installed correctly. you can also try running webgl aquarium and if you are getting 60fps on anything above 10 fish then it also installed correctly. hope this helps

2 Likes