Are AMD laptop discrete gpus good in linux?

Waffelson@lemmy.world to Linux@lemmy.ml – 61 points –

I want to buy used laptop with rx6600m and r7 5800h
Does switch between discrete gpu and apu work on linux for amd gpus?
Maybe there are some pitfalls?

25

You are viewing a single comment

Linux does not do GPU switching the same way Windows does, if that's what you're asking. You won't be able to just dynamically switch between video adapters.

As far as the quality of the AMD APU chips, totally fine. They are the best on the market, obviously. I have a Ryzen 7000 series with a 680M, and it "just works", as well as playing every title I've ever thrown at it totally smoothly.

Most gaming laptops these days don't do GPU switching anyways. They do render offloading, where the laptop display is permanently connected to the integrated GPU only. When you want to use the discrete GPU to play a game, it renders the game frames into a framebuffer on the discrete GPU and then copies the completed frame over PCIe into a framebuffer on the iGPU to then output it to the display. On Linux (Mesa), this feature is known as PRIME. If you have two GPUs and you do DRI_PRIME=1 , it will run the command on the second GPU, at least for OpenGL applications. Vulkan seems to default to the discrete GPU no matter what. My laptop has an AMD iGPU and an NVIDIA dGPU and I've been testing the new NVK Mesa driver. Render offloading seems to work as expected. I would assume the AMD Mesa driver would work just as well for render offloading in a dual AMD situation.

On Linux (Mesa), this feature is known as PRIME.

OH THAT'S WHY IT'S CALLED OPTIMUS

I think it's the other way around. NVIDIA's marketing name for render offloading (muxless) GPU laptops is NVIDIA Optimus so when the Mesa people were creating the open source version they called it PRIME.

Yeah, hybrid graphics is a blessing. I have an Intel iGPU for Wayland/VA-API and Nvidia offload for Steam and it's great.

Out of curiosity, how does this work with an external display? Does your HDMI/DisplayPort out go via the dGPU, or is it still done in the same way?

Most of the laptops I've seen the external port is connected to the dGPU.

You won’t be able to just dynamically switch between video adapters.

You will if you use GNOME, at least. It uses switcheroo to provide an easy way to open apps with your discrete GPU through a right click menu.

Hmm... are you sure about that?

$ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Gallium 0.4 on AMD TURKS

DRI_PRIME=1 switches to the discrete GPU (or used to at least - I don't have hybrid graphics anymore). I'd be surprised if that feature were removed...

CC BY-NC-SA 4.0

This is render offloading, not GPU switching. GPU switching implies switching the primary rendering device (the one power the displays) entirely rather than rendering on a separate GPU and copying the output to the primary.

Most gaming laptops these days don't support true GPU switching as it requires a hardware mux to switch the display between the GPUs. Every gaming laptop I've used from the past decade has been muxless and only used render offloading.

You won’t be able to just dynamically switch between video adapters.

Why not?

1 more...