Skip to main content
Topic: Radeon vgaswitcheroo performance issue (Read 232 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Radeon vgaswitcheroo performance issue

I'm currently configuring a Thinkpad T400 with an ATI RV620 and an Intel GM45.

I noticed that using the default config, with an Intel iGPU desktop while running specific programs with DRI_PRIME, the discrete graphics performance is very low, only slightly better than the Intel graphics. But if I use radeon.runpm=0 and run only the dGPU the performance is much higher.

Glmark2 benchmarks

intel only
255

radeon with dynamic power management enabled (with an intel desktop, running the radeon card on a per-process basis with DRI_PRIME=1)
317 (+24.3% over intel)

radeon.runpm=0 (running only radeon, with no power saving and no intel driver)
495 (+94.11% over intel)

The problem is that runpm=0 results in more heat, current draw, fan noise, etc.

So what is the way to get a decent performance without completely disabling the radeon power management?

Is there a radeon option, or maybe something has to be tweaked on the intel driver side?

Any ideas and suggestions would be welcome.

Re: Radeon vgaswitcheroo performance issue

Reply #1
The problem is that runpm=0 results in more heat, current draw, fan noise, etc.
I've got the same Intel iGPU/AMD dGPU configuration in my laptop and it works fine, I only set the kernel boot parameters to help things a little: radeon.si_support=0 amdgpu.si_support=1 (this is for SI cards and newer).
Take a look at the PRIME Arch wiki page, it applies verbatim to Artix.

 

Re: Radeon vgaswitcheroo performance issue

Reply #2
I've read everything I could find on the topic...

Do you get exactly the same performance (in glmark2 for example) by using your dGPU dynamically (with DRI_PRIME) as by loading the full desktop with the dGPU? That's the crux of the matter. In my case, as you could see, the performance is about 56% worse using DRI_PRIME.

You can also compare performance with:
vblank_mode=0 DRI_PRIME=1 glxgears

It occurred to me that maybe the XFCE compositor is to blame, but I wouldn't know what to change to make it more compatible. That's how I found this thread. Someone has the same issue, but using newer hardware.
https://bbs.archlinux.org/viewtopic.php?id=253915

I tried using the following kernel parameters to no avail
amdgpu.ppfeaturemask=0xffffffff
amdgpu.power_dpm_state=performance
radeon.dpm=1

It doesn't make much sense to set amdgpu paramenters since the dGPU uses the radeon driver, but surprisingly (why?) the amdgpu module is loaded automatically too.

More benchmark results now using gputest

Intel
365 FPS

Radeon (PRIME)
423 FPS

Radeon
766 FPS

There's something preventing the dGPU to work to its full potential if it's used alongside the iGPU.