Radeon 7600 linux help

Hi all,
I have an issue with my Radeon RX 7600 not working under linux.
Hardware:
-Ryzen 4700u Laptop (pcie 3.0)
-RDT-Link eGPU adapter (m.2 → pcie x16)
Software:
-Ubuntu 23.10
-Mesa 23.2.1-1ubuntu3.1
-GL_VERSION: 4.6

The Problem:
I use an eGPU with my Laptop. Normally, that’s a Radeon RX 6500 XT, which is working perfectly fine. Literally plug&play. But the performance isn’t quite there, so I bought a Radeon RX 7600, but that one is (sort of) not detected most of the time. Meaning that the laptop does boot, but the external monitors stay black and programs like corectrl don’t detect the eGPU. Using lspci does sometimes detect it, but not always. Sometimes everything works fine, the laptop boots, the 7600 is detected, the external monitors turn on and I can log in, but then they just randomly turn black again. There are zero issues with the 6500 XT, but the 7600 works perfectly in my PC, just not as an eGPU with the laptop.
Power shouldn’t be an issue, on one of the boots where it was working fine (at first), I used corectrl to cap it’s power to 70W but the screens still turned black eventually.
When it isn’t detected, there are also no mentions of it in the syslog.
Any help would be much appreciated.

Never mind, saw that your issue is with the egpu, not internal installation. I don’t get the impression that egpu is very stable under Linux. Too bad you can’t install it internally.

Do you have the hardware enablement version of the kernel? These are even newer than my card so it needs a supported kernel…

1 Like

I can’t speak about thunderbolt, but ‘dumb’ pcie adapters normally work flawlessly and I haven’t had any issues with my 6500xt. Only with the 7600.

Ubuntu 23.10 is currently on kernel 6.5, the 7000 cards should work fine

You could try to update to Ubuntu 24.04 and see if the 6.6 kernel solves the problem for you. Sometimes it does, but not always.

24.04 is in beta right now meaning it is ready for consumption but might have one or two release blockers.

1 Like

The card works perfectly well in my PC, which runs Ubuntu 22.04.
Kernel should not be an issue.
The 7600 works perfectly in my PC, but not with the m.2 to pcie x16 adapter. Neither when connected to the laptop, nor connected to the PC. Using my PC’s PSU to power the adapter connected to my laptop causes the adapter to not even turn on. Using my PC’s nvme SSD in the laptop does not change anything either. I think there might be some incompatibility between the adapter and the 7600, but I’m not sure. Both cards (6500XT still works perfectly fine) have pcie 4.0 (although the adapter only supports 3.0 x4), except the 6500XT only has 4 lanes in total and 4GB VRAM, while the 7600 has 8 lanes and 8GB VRAM. But neither the lane count, nor the VRAM should be an issue.

It could be that the adapter and or the gpu aren’t getting enough power. I’ve had issues with running addin cards on my ADT-Link adapters and its always been either power or signal interference that caused the issue. Reducing the GPUs power limit only works if the GPU can operat at that power limit. Do you have it set up with a PSU when its plugged into the adapter on your laptop?

Well, that might be your answer then. Downgrade that laptop to 22.04? :person_shrugging:

In a perfect world none of the things you mention should matter. In a perfect world a mesa driver that pass all OpenGL unit tests should also run every OpenGL game flawlessly. Unfortunately we do not live in a perfect world.

From your description I think we can narrow down the problem to either a janky TB port that only sometimes initialize correctly, or a faulty driver issue with the 7xxx cards specifically when running on an eGPU.

The cause for this could be something known like the reset bug not working properly on the 7600 series cards, or it could be that someone at AMD did a big oopsie and forgot to reverse an if statement during the latest round of refactors. There is a ton of improvement work going into the 7xxx Radeon series, which is why I am suggesting upgrading to Ubuntu 24.04.

Chances are, 24.04 has a hot-patch that fixes this issue, that is not backported to 23.10 since according to Canonical, people are either looking for the latest-and-greatest and seek to upgrade every 6 month ish, or stick to tried and true and do LTS releases. If that is not your jam, then you are free to install something else. Like Arch btw.

Could be power related, but when I remove the PSU in my PC and use that one to power the adapter, the adapter does not seem able to send the wakeup signal. Adapter, PSU and GPU don’t turn on in that configuration.
Edit: normally the adapter is powered by an older, much weaker (400W) PSU.

I’ve put my Gaming-PCs nvme SSD into my laptop and tried that with the 7600, but no luck either. I’ll think about trying 24.04.

Could you explain that reset bug on the 7600 to me a bit more?

Sure. The gist of the problem is that most modern AMD GPUs will not reset properly, which leads to some problems with things like VFIO and hibernation boot (suspend works fine). One simple fix could be to make sure the eGPU enclosure is powered down completely when not in use.

There are kernel patches available but no idea if they have been implemented and for what models.