@Anachron also, I tried installing and testing wlr-randr as Iâm guessing that itâs something youâre familiar with: wlr-randr compositor doesn't support wlr-output-management-unstable-v1
The ritual to convince Linux to run both of my 4k displays at 60 Hz when it initially refuses to recognize that both are 60 Hz capable:
1. Turn off the 60 Hz one.
2. Turn off the 30 Hz one.
3. Turn that one back on. It is now 60 Hz.
4. Turn the first one back on.
Iâve sunk many evenings into debugging this and so far this is the best solution that works consistently.
So maybe you just need to force 60hz on your display. Not sure how you do that with Mutter, for me I would have to modify my river config.
Edit:
Also, do you need vsync? You could turn it off and check if that allows the programs to have more fps.
I know that vsync off would allow me to reach (and exceed) my monitorâs target, but that doesnât help either, as it still appears to render at 30fps. itâs almost as if the compositor doesnât actually know my external monitorâs refresh rate.
2.2 and 2.2.1 are specific to southern islands support (HD 7000, not RX 7000) and sea islands support (HD 8000), and so are pointless in regards to my setup (RX 6800). Module nouveau is specific to nvidia, and is not loaded either, so blacklisting that is also pointless. Your last point, however, is interesting as it points out similar issues that I have been having. It may also be worth pointing out that I have never seen the GPU in my enclosure spin up itâs fans past boot (I at least know they work), so stuck clocks may be a real thing here.
@Be_Far after monitoring my clocks with corectrl, I can see that my GPU clocks are not spooling up at all. using the same tool, I was able to switch the GPU from low performance to high performance, with the clocks now engaging! Unfortunately however, Iâm still limited to 30 FPS. going to try fix outlined in the gist now
@Be_Far gist did not work either, sadly. I have, however, come up with a half decent workaround that allows my external display to work at full speed:
using all-ways-egpu and some extra scripts I typed up myself, I was able to get very close to 60 FPS on my external display while at the cost of hot plug and unplug support.
Current state of things now:
No hot plug support (requires logging out, plugging in, and logging back in)
No hot unplug support (requires logging out, unplugging, and logging back in)
When using the eGPU, my internal display is now stuck at rendering 30 FPS with VSync (inverse of original problem, but I can live with that)
When I plug in the eGPU at the login screen, I have to wait for the enclosure to finish bringing up all attached hardware or nothing will work right in KDE (left with only software rendering). Issues caused by this can be solved by logging out and back in.
If the laptop lid is closed when logging out and unplugging the eGPU from the laptop, everything will hang, requiring a hard shutdown.