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 🤣
deleted by creator
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.
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.
Ah. Still, neat pun.
Modern gaming laptops with Advanced Optimus are switching back to a mux for everything.
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.deleted by creator
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.
I see! Thanks for clearing that up.
You won’t be able to just dynamically switch between video adapters.
Why not?
I got an all amd msi laptop with ryzen 7 5800h and rx6700m a few month ago, and it’s been great. Wayland compatibility was ridiculously good compared to the nvidia 3060 desktop I had previously, not to mention no fear of a completely black screen on update. If I had to complain about something it would be no real cuda support, and I still cannot get my llm working with rocm.
I have an ancient HP laptop with an AMD CPU and vega graphics. It is legit one of my favorite systems to use Linux on. I have desktop towers with gpus that would run circles around it. But they’re Nvidia so that means I can’t use Wayland or the experience gets very unstable. This little laptop. It just cruises light fast and efficient. And though not up for modern gaming, still does respectable.
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.