AMDs RADV and ACO Shadercompiler

Hi,

I recently ditched my gtx 1080 in favour of a 6600XT. While on Windows I have a realy good performance gain. This was expected and is okay so far.

But on the Linux side, I expected a much better Performance. With my 1080 I could say, that I reach about 80% the FPS I had on Windows.
With my 6600XT I get about 30-50% in Linux, so I have atleast a 50% Performance lost here.
Im using Endeavour OS with latest Kernel + Zen-Kernel → Installed newest Mesa-git, Gamemode enabled, ACO enabled, Esync,Fsync. All on and all off → no real difference

Are there some secret Settings I could have missed?
Is the 6600Xt genreally supported?
Im not to shure where to beginn with to find out, whats the actual problem.

Thx

1 Like

Can you provide more details on your settings in Lutris, distro, kernel version etc - basically look at the pinned post and give as much info as you can.
As an example. I run a 6700xt on Linux Mint 20.2 with a 5.14.10-tkg-bmq kernel, Mesa-devel-git (21.3.0-devel git-3e36a20). When I run Lutris, I have my own version of vkd3d-proton I compile for dx12 support and use whatever the most recent dxvk version is available for everything else. I use a custom runner (wine-6.18-staging-tkg-amd64) or a Glorious Eggroll Lutris runner depending on the game.
Once we know this sort of info, it becomes easy to point to particular parameters or global variables you can set to improve performance (for example nggc was a setting until this weekend in Mesa 21.3-devel which had a major boost to performance, esync and fsync enabled kernels and runners can also improve performance).

Sorry,
I missed that basic information.
I edited my first post.

And I missed this post here:

1 Like

Also search on Phoronix for the 6600xt reviews to see what setup he was using. For 6600xt, you will most likely want to use a zen 5.14 kernel for the driver support.

1 Like

I think that your GPU is “too new” for your current kernel and will not boost above 500 or whatever MHz clock speed. My best guess is that the power stages are not listed in the kernel information and you will have to poke it to get your windows performance.

I am running a RX 6700 XT with the 5.11 kernel currently (Ubuntu 21.04) and I only get my windows performance (95 to 100 %) with lutris if I use a wine version of Glorious Eggroll (lutris-ge-6.16-1-x86_64).

Like jhu said I think that you need a newer kernel but maybe you can get along with the GE wine versions until the problem solves itself.

BTW: I had to install the current (open source version) AMD GPU drivers to get the idle power draw of the GPU right (the PC uses 1 Watt more than in windows). Without that the power draw increased in idle mode from 43 W (whole PC) to about 72 W.

Maybe a newer kernel version fixes that issue too.

@Hellkite84
I noticed, that my GPUs Fans did not speed up like they do on Windows. So i gues this would perfectly explain my problem.

Just like Windows, if you don’t have the correct driver, performance suffers. Next is to get Corectrl or Radeon-profile to set custom fan curves and if you wish, a decent undervolt (though it seems the 6600xt is pretty power efficient already).

1 Like

With the wrong wine version my PC power draw decreased from 280 to 180 W and the performance by about 50 %. :wink:

If you get a high fps game, max resolution and max oc in Corectrl, what max power figure does Corectrl report your 6700xt as using?

I measured the real PC power draw with an energy cost meter (see the link). In Control (DX 11, 99% GPU usage) the power consumption with the inefficiency from the power supply unit included is quite stable, maybe a 2 watt range.

The GPU is only mildly overclocked (2433 MHz, factory settings with the silent bios), not undervolted and I haven’t installed Corectrl.

link to the meter:

Cool thx - wish my German was up to scratch (haven’t had to use it in 6 years) but I get most of what is in the description… Have been playing MorePowerTool from Igors Lab in Windows this week - scary tool - pushed my 6700xt to 245 watts max power with 80mv undervolt - damn shame AMD is so conservative with the 6700xt, my max temps under full load testing were 62 C edge and 87 C junction with fans at 50%. Still, prefer the quiet power over the jet engine

In Control with 99 % GPU load mangohud reported a power draw of about 188 W (185 to 190 W fluctuating) which is nearly identical to what wattman told me in windows (186 W stable). These values are for the GPU core only. With the RAM etc. the power draw should be around 196 W (test on computerbase with the 6700 XT red devil with both bios settings).

74 W on windows or 84 W on linux for the rest of the gaming PC while gaming sounds allright to me.

Like I said - MPT can really push a gpu :wink: - max I have seen was 252 watts on spike gpu only. I have an OC’ed 11600K, I know that in some loads, the whole systemt is pulling close to 700 watts at the wall. Fun to see how far you can push it though…

Hi guys,

looks like setting the envirounment variable RADV_PERFTEST=nggc did atleast a huge performance boost on my site.

If you install the Mesa 21.3.0-rc1, nggc is now enabled by default.

Hi again,
I was completly wrong. The environmental Variable didn´t change anything. I´ve tried so many things, that I have overlooked the Programm CoreCtl. It was running in background and set my GPU into “Performance-Mode”.
While I tried to figure out my problems ive found the FSR Feature from volkan API. I enabled it in some games, set the screenresolution lower than wqhd → Boost of FPS … lol
For the moment im pretty happy. But Ill expect newer Mesa-Driver to perform better with my 6600xt, so that i don´t need to use CoreCtl sometime in the future.

Can you tell us exactly what kernel you are running? (5.11 or 5.13 or 5.14 etc) As an example, I am running 5.14.11-tkg-bmq patched kernel.

Im running this one:
https://archlinux.org/packages/extra/x86_64/linux-zen/

Your first guess was, that me GPU clock stuck at 500 Mhz. I cannot confirm this. In mangohud it told me all the time, my gpu clock goes up to ~2700 Mhz.
This doesnt even change, when im useing Corectl and switch to performance mode. I Would expect my GPU clock to rise up to 5000 Mhz because every Game runs much better. With Corectl on, my Fans start to spin more, because the gpu gets warmer. Alls this might be a

I mean, for now i can play games pretty well. But maybe there are Driver-improvements or so coming to us.

That has the latest 6600xt drivers. 2700 mhz is the max frequency for the card, 500mhz is the minimum. What are some of the games you are experiencing decreased performance with in Linux?

There was a mesa-git update from AUR two days ago.
There is a option in CoreCtrl which sounds like a cpu govenour but for GPUs. This helped me, get some fps gains in my games using wine(lutris) or Steam (proton). Since the mesa-update i don´t need to use CoreCtrl anymore.

So I guess somewhere inside Mesa the Goveneur for GPU wasn switching to performance mode. But it set the GPU Clock to maximum.

I don´t have a major problem anymore. For example:
Cyberpunk 2077 in Ultra Settings WQHD:
Windows: 42 FPS
Linux (bevor driverupdate): 15 FPS
Linux (bevor driverupdate but with CoreCtrl enabled Performance mode.) : 42 FPS
Linux (only new Mesa-git): 42 FPS
Linux → New Mesa-git drivers → CoreCtrl enabled Performance Mode → FSR Resolution to 1970*1108: 62 FPS (Thats huge!)
Additionally i´ve tested:
Immortals Fenix Rising Win:77/Linux:62
Deus Ex Human Win:88/60
The Ascent Win:70/Linux:60
The Witcher 3 Win:80/Linux:65
Assassins Creed Odyssey Win:61/Linux: 76 (lol)

Something doubled my FPS in Linux. I´m not sure what is exaclty was but if i had to guess, its the newer Mesa driver. CoreCtrl helped in the meantime. Environment Variables did nothing. GPUs Clock has allways been on ~2700Mhz.

For now i have no general Problem. Some Games run better than the others (in Windows/Linux comparison).

Thanky for your help