Comparing to a dedicated gamescope session makes this issue very obvious.
My setup:
- 3440x1440 @ 100hz external monitor plugged directly into an eGPU via displayport.
- eGPU connected to framework 13 (ryzen AI 350).
- Internal display is 2.8k @ 120hz.
- Nixos-unstable.
- Nvidia 610.43.03.
With two sessions, a dedicated gamescope session and a normal cosmic desktop session.
- The gamescope session is set to use the eGPU as the preferred device, and to output only to the external monitor.
- The cosmic session is all defaults. Both monitors available, nothing fancy.
Running vkcube in each session:
- Gamescope:
- 100FPS on the external monitor at full screen.
- Windowed not available to test in this configuration.
- Internal monitor not available to test in this configuration.
- Cosmic:
- 30FPS on the external monitor at fullscreen.
- 50FPS on the external monitor at half of screen.
- 100FPS on the external monitor at quarter of screen.
- 120FPS on internal monitor at full screen.
Mangohud in all cases is showing the eGPU being used, so it’s not a GPU selection issue. I suspect the issue is probably with some critical piece of data getting stored on system memory instead of vram maybe? And a dedicated gamescope session avoids the issue because it hides the iGPU entirely? Just a guess.