Question : Why do I see unreasonable framerates in glxgears and what impact on system performance?

(NOTE: Don’t try to copy my tests in Dom0 unless you can explain how you deal with the danger.)

Playing with my (buggy Intel Arc Pro) GPU, I’ve been exercising graphics in different ways to try to cause corruption.

glxgears in mesa-utils shows very high framerates inside an AppVM (Fedora and Debian). It should adapt to the monitor refresh rate =60Hz, but I get over 1000\ FPS. It is using software rendering, so it uses a lot of CPU power in useless updates.

glxgears in Dom0 (don’t do this!) does what I expect, with a limit at 60 FPS and small CPU use.

It is the same on my up-to-date Qubes 4.2 machine - with a non-buggy gpu)

Does anyone see the same, or know why it is? How should the virtualised monitor look to an AppVM?

I see a reasonable looking modeline in /etc/X11/xorg-qubes.conf which seems to set the display properties, according to xrandr. I expected the refresh rate to come from here.

I know next to nothing about 3d accel, so maybe normal programs get the monitor update rate in a more correct way than the ancient glxgears…

…but could this contribute to any performance issues folk have? I see no special impact except for CPU usage from a useless test application, but maybe for E-cores? Maybe the same problem is behind libreoffice cpu usage probs.

(extra notes:

  • running multiple glxgears brings the vm to its knees - I guess because llvmpipe thinks it has a graphics ram equal to the vm ram. This must surely be a bug, but I do not immediately see the best way to fix it.
  • Did not yet test framerate in any other app - any suggestions welcome.
  • I see no way to adjust any of this in mesa/llvmpipe, which I guess is bfeing used.
  • It seems to be limited to one core in debian, not in Fed42. I don’t know if that is by design. multiple glxgears seem happy to use even more cpu.
  • I see the some high glxgears framerates elsewhere in the forum.
  • I tried changing the modeline to one generated by clt, with no effect.
  • Edit to add: LP_NUM_CORES allows debian to use more cpu, up to a limit of 100% of one processor. Does not allow fractional cores to limit cpu use.