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?
AMD gpus used to be very bad, but improved a lot in the last 2-3 years. I doubt you’ll have any issues these days.
I’ve had 3 laptops with AMD GPUs in the past - including the last one I still own that use in my shop - and my personal experience so far with Linux is that I’m about ready to kill someone: the machines are unstable, the displays get corrupted, they don’t wake up from sleep…
This last AMD GPU laptop I have (Vega 6 chipset) needs rebooting on a regular basis, and only kind of works okay with an older 5-series kernel.
Having said that, all the bad experiences I’ve had with AMDGPU were with machines older than 3 years. If you say the hardware has improved, I’m glad to hear that. But one thing is for sure: the latest driver is just as buggy and unreliable as it ever was on older hardware.
Maybe newer chipsets with newer drivers now work well. But you know what? I swore I’d never EVER get another machine that requires amdgpu.ko. I’ll go Intel graphics, it’s just safer.
Weird. I never had those problems. Which distro were you running?
Linux Mint - any version.
I had huuge problems with AMD gpus in 2019. By 2023 the problems were gone.
In my experience, once you hit Vega 8, all issues are gone (Fedora, OpenSuse, PopOS and EndeavourOS).
Yes, I distrohop a LOT 🤣
They have reached and perhaps even surpassed Intel’s quality in terms of drivers. Everything just works.
My experience has been positive so far on a laptop with RDNA1 graphics(5500m). There is no true graphics switching. The iGPU is responsible for drawing things on the screen. What it does is offload heavy rendering tasks to the dGPU and then draws the rendered output provided to it by the dGPU. This leads to a small performance penalty but gives graphics switching on laptops without dedicated hardware to enable it.
So all in all, hybrid graphics works well in laptops with an AMD dGPU. I would argue the experience is better than the one in windows.
My friend has one (if I remember it it a Slimbook or Tuxedo laptop) and as far as he told me it is flawless (well almost). My next laptop will for sure be a KDE CPU+GPU one. I hear good things about the combo and if it is any similar to desktop AMD GPU support I will be happy.
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 <command>, 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.
Modern gaming laptops with Advanced Optimus are switching back to a mux for everything.
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.
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…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.