How to make the Radeon 7700S expansion bay the default GPU?

Running EndeavorOS installed today, I got the 7840HS mainboard version. I use Wayland, but if this can only be done on X11, I’ll switch I guess, prefer a solution for Wayland, or even better, both.

Everything seems to use the much slower APU by default and has to be manually told to use the dGPU. I don’t like this, how can I make desktop applications use the GPU by default? I’ve tried installing the stuff from step 2 in the AMDGPU part of the archwiki but I’m totally lost after step 2. But after installing it all and restarting nothing changed, glxgears reveals that the APU is still the default. I don’t know what all this “Island” stuff means, it said it was for older AMD GPUs and the series it refers to don’t match mine. It seems like it’s for older AMD GPUs. Aren’t AMD drivers supposed to come with the kernel? Why do I have to install this stuff?

I feel like I’m doing something wrong. Currently the only way I can use my GPU is by tacking on DRI_PRIME=1 before everything, which is annoying and cumbersome. I feel like I don’t actually need to do that, and what I am doing is clearly not right so I’m looking for a pointer in the right direction on what I need to do to simply make it use my 7700S by default for most everything instead of the APU, thanks in advance for any answers.

Which release version?
Not sure how exactly to check but I installed it using online mode, less than 12 hours ago as of writing this post.

Which kernel are you using?
6.10.4-arch2-1

Which BIOS version are you using?

BIOS Information
        Vendor: INSYDE Corp.
        Version: 03.03
        Release Date: 03/27/2024
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 32 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 3.3

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)
AMD Ryzen™ 7840HS with AMD Radeon™ 7700S GPU addon

1 Like

Hey there! I figured it out. So DRI_PRIME=1 is apparently an environment variable being set for a specific run, so I looked up how to set them manually and here’s what I got:

Introduce the file gdk.sh in /etc/profile.d with the following contents:

/etc/profile.d/gdk.sh
DRI_PRIME=1
export DRI_PRIME

Programs will then use the dGPU for rendering by default unless manually told otherwise. If there’s a better way to do this, please let me know!

1 Like