I don’t understand what to do for Hybrid Graphics and 2 AMD GPUs. I have tried with switcheroo-control and suse-prime. Everything I have seen so far of them seems to be based around the assumption that the GPUs will be different vendors. I.E Intel/Nvidia AMD/Nvidia. My machine is AMD iGPU/AMD dGPU. Switching GPU seems to be based around switching driver but in this case it’s the same driver.
Using DRI_PRIME=1 environment variable does work to switch the device according to glxinfo, and glxgears runs fine with 0 or 1. When I try to run Steam with DRI_PRIME=1, I don’t see a window. When running Steam normally, most games run with Proton crash. It might not be GPU-related, but this is what I currently suspect.
Trying to understand what environment/configuration I need to set here to get Proton to switch to dGPU like it happens under Windows if this is something I can do. I am using GNOME; otherwise a default install of Leap.
There is software for the machine from ASUS in the way of asusctl and supergfxctl, which need building. I haven’t built them yet. I want to make sure I’m not missing something first.
@sosay Hi, switcherooctl is exactly what is needed. I have a Dual AMD GPU Laptop running Aeon, works OTB… Did you enable/start the switcherooctl service?
GNOME has switcherooctl d-bus integration, so should just right-click and select the discrete card to run on.
I did enable and start the service but I didn’t reboot. This time I rebooted after installing swithcheroo-control and now “switcherooctl list” does work and detect the 2 GPUs. Also, I now have a “Run with Integrated Graphics Card” option on Gnome’s launch icons’ right-click menu.
Steam now shows no window by default, though. But at least now I have a Steam problem instead of a hardware/driver problem.
I saw this same behaviour under Ubuntu and there I worked around it by completely disabling the Intel iGPU. Here though I would prefer not to do that as I dual-boot this machine and would not like to run it with the dGPU all the time.
@sosay Steam settings somewhere to add the relevant option eg DRI_PRIME=1 should suffice? I don’t run steam, but if you run the flatpak version I think that takes care of it all (Well Nvidia users report it does)?
So I had another go at this and now realize that I lacked the necessary vulkan packages. Installing libvulkan and mesa-device-select packages, as well as vulkan validationlayers package in case games would rely on those calls for crash dumps, have got it all running OK.
I suspect the absence of Mesa-vulkan-device-select package caused Steam not to have the Vulkan calls necessary to discover for itself arbitrary device addresses that weren’t handed off to it from the graphical environment, and the lack of libvulkan caused 3d games to not have what they needed to do their thing.