Whonix in kvm on fedora host. Smoothness and system animations are lagging. slows down

I am upgrading from virtualbox to virt-manager kvm on my fedora 42 kde host. I have powerful and modern hardware on my host, AMD processor and video card.

everything works fine on virtualbox. no problems at all.
My Display: 3440x1440 @ 144 Hz in 34

Installed the latest version of whonix.
1 problem: in xfce in whonix there is no screen resolution suitable for 21:9, as a result I have black bars.
This problem was solved with this script GitHub - h0ek/x-resize: Auto-resize X screen on resolution change for Kali with XFCE on KVM. .

2 problem: window sizes, fonts and icons.
I managed to partially fix it by setting 192 DPI and increasing the size of the panel, icons. For now I’m staying with this setting.

I also tried such scale settings: but in some programs, for example installed through flatpak interface of buttons and fonts was
small.
sudo xfconf-query -c xsettings -p /Gdk/WindowScalingFactor -s 2
sudo xfconf-query -c xfwm4 -p /general/theme -s Default-xhdpi
Go to Settings Manager > Appearance > Fonts > Custom DPI setting and change from 96 to 192
sudo nano /etc/environment
GDK_DPI_SCALE=0.5

3 and the main problem now is the speed of animation and system performance. Everything is very slow, any program windows lag, open with a delay. This does not get fixed.
For example, telegram is very slow, chat opens only 2 seconds after clicking.
I tried changing the display resolution in whonix, but it didn’t affect the brakes.

I’ve now enabled virtio 3D and OpenGL - but it didn’t improve the situation.
On the second monitor which is 60Hz everything is the same.

Here are my XML settings

<domain type="kvm">
  <name>Whonix-Workstation</name>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://debian.org/debian/12"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory dumpCore="off" unit="KiB">9437184</memory>
  <currentMemory unit="KiB">9437184</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <source type="memfd"/>
    <access mode="shared"/>
    <allocation mode="ondemand"/>
    <discard/>
  </memoryBacking>
  <vcpu placement="static">16</vcpu>
  <os>
    <type arch="x86_64" machine="pc-q35-9.2">hvm</type>
    <boot dev="hd"/>
    <bootmenu enable="yes"/>
  </os>
  <features>
    <acpi/>
    <hap state="on"/>
    <pvspinlock state="on"/>
    <pmu state="off"/>
    <vmport state="off"/>
  </features>
  <cpu mode="host-passthrough" check="none" migratable="on"/>
  <clock offset="utc">
    <timer name="rtc" present="no"/>
    <timer name="kvmclock" present="no"/>
    <timer name="pit" present="no"/>
    <timer name="hpet" present="no"/>
    <timer name="hypervclock" present="no"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/media/veracrypt1/images/Whonix-Workstation.qcow2"/>
      <target dev="vda" bus="virtio"/>
      <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
    </disk>
    <controller type="virtio-serial" index="0">
      <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
    </controller>
    <controller type="usb" index="0" model="qemu-xhci" ports="15">
      <address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
    </controller>
    <controller type="sata" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
    </controller>
    <controller type="pci" index="0" model="pcie-root"/>
    <controller type="pci" index="1" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="1" port="0x10"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="2" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="2" port="0x11"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
    </controller>
    <controller type="pci" index="3" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="3" port="0x12"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
    </controller>
    <controller type="pci" index="4" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="4" port="0x13"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
    </controller>
    <controller type="pci" index="5" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="5" port="0x14"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
    </controller>
    <controller type="pci" index="6" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="6" port="0x15"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
    </controller>
    <controller type="pci" index="7" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="7" port="0x16"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x6"/>
    </controller>
    <controller type="pci" index="8" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="8" port="0x17"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x7"/>
    </controller>
    <filesystem type="mount" accessmode="passthrough">
      <driver type="virtiofs"/>
      <source dir="/media/veracrypt1/Shared/"/>
      <target dir="shared"/>
      <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
    </filesystem>
    <interface type="network">
      <mac address="52:54:00:ae:68:d6"/>
      <source network="Whonix-Internal"/>
      <model type="virtio"/>
      <driver name="qemu"/>
      <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
    </interface>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
      </target>
    </serial>
    <console type="pty">
      <target type="serial" port="0"/>
    </console>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
      <address type="virtio-serial" controller="0" bus="0" port="1"/>
    </channel>
    <input type="tablet" bus="virtio">
      <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
    </input>
    <input type="keyboard" bus="ps2"/>
    <input type="tablet" bus="virtio">
      <address type="pci" domain="0x0000" bus="0x08" slot="0x00" function="0x0"/>
    </input>
    <input type="mouse" bus="ps2"/>
    <graphics type="spice">
      <listen type="none"/>
      <clipboard copypaste="yes"/>
      <filetransfer enable="no"/>
      <gl enable="yes" rendernode="/dev/dri/by-path/pci-0000:03:00.0-render"/>
    </graphics>
    <sound model="ich9">
      <codec type="output"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
    </sound>
    <audio id="1" type="spice"/>
    <video>
      <model type="virtio" heads="1" primary="yes">
        <acceleration accel3d="yes"/>
      </model>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
    </video>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="2"/>
    </redirdev>
    <watchdog model="itco" action="reset"/>
    <memballoon model="none"/>
    <rng model="virtio">
      <rate bytes="1024" period="1000"/>
      <backend model="random">/dev/random</backend>
      <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
    </rng>
  </devices>
</domain>

I scaled up the interface with the help of the instruction HiDPI - ArchWiki .
but for example cryptomator installed via flaptak was not scaled and looks like this

This problem was solved by disabling opengl and virtio 3D. It feels closer to virtualbox level now.
It’s a pity you can’t make normal speed, smoothness as on the host:(
And there is no possibility to adjust the screen resolution as in virtualbox.

There is still a problem with the size of the interface of some programs.
For example cryptomator is still very small.
And the browser brave on the contrary is very huge. (on the screenshot is an example of brave and in the background is the normal size of librewolf).

Could you tell me how to make whonix workstation 17 qemu kvm scale the xfce interface size automatically depending on the window size, it doesn’t work for me.
On virtualbox it works correctly. On whonix 18 it works correctly.

Make sure that you have spice-vdagent installed in the VM, and that the “Auto resize VM with window” checkbox under “View” is checked. (This is assuming you’re using virt-manager.)

Yes, but now some of the programs remain small size.
The xfce settings are set to scale x2.
For example cryptomator installed via flatpak
or System Maintenance Panel or keepass.

Also, I don’t understand why the animation is very slow and when you drag windows you can see a trace of their movement.

I thought you meant resolution resizing, not scaling. Xfce’s scaling settings might be for GTK applications only. Maybe try running QT_SCALE_FACTOR=2 sysmaint-panel and see if that scales things up? If so, add QT_SCALE_FACTOR=2 to ~/.profile and see if that does the trick.

Probably caused by kloak. See: