The use case for this setup is that I run Windows 11 Pro VM in the Virtual Manager as my workhorse for my consultancy business. VM let’s me compartmentalize and isolate customer space from my personal space. I have one issue with this setup - the VM is slow to the point where it becomes barely usable. I think I red somwhere that AMD mobile CPUs are not good in the virtualization scenarios.
What is your experience ? Maybe there are some settings which help with the VM performance ? Should I look for different HW ?
Your system specs are kinda on the low/mid end if you’re running multiple VMs simultaneously.
I previously had a FwL 13 with 7640U/64GB/1TB and my VMs ran buttery smooth (on KVM). Now that I have upgraded my FwL 13 to HX 370/96GB/2TB, my VMs are running as well as before (likely better, but I can’t tell the difference). In my case, I give VMs at least 4GB and often 8GB memory based on the use case.
You might want to consider upgrading your memory or running a single VM at a time with beefier specs (about 8GB memory if you’re using the VM as if it was a standalone machine).
I have FM 13, AMD 7840/ 32Gb RAM. I use QEMU in libvirt manager. VMs running Windows 11 are near native performance even without GPU pass-through. There are several good instructional videos on Youtube on setting up Windows VM in Linux. I like SysGuides video tutorials. Pretty sure your specs are fine; the Windows VM in Linux can be a little tricky sometimes.
As per original post, I mentioned that I use only one active/running VM at a time. The VM is given 12-16GB of RAM, 4-6 CPU cores. I installed all guests addons and use virtio devices for storage, network, etc.
Regarding the storage - 500GB drive is only used for the system. I use systemd-homed to manage my homedir on an external 1TB drive, that’s 2nd gen Framework 1TB module. It is advertised as capable running an OS off that drive, thus I assumed that it is OK if I store and run my VM off it.
If you are running windows in a VM. You might find that it is using a lot of swap space.(page file)
While running the vm, see how much ram it is using and how much pagefile it is using. Then increase the ram given to the vm by how much pagefile it is using. That is the most likely thing that will speed things up.
Windows can be quite hungry for ram, so you might need to increase the amount of ram in the laptop, so that you can give more to the vm.
VMs on all modern cpus are near native performance. E.g. if you had a windows PC with only 4GB ram, it would be slow, so it will be just as slow in a vm.
You don’t say what applications you run on windows. If they are GPU intensive or games, they might run slower in a vm.
There is I/O overhead when using software virtualized devices instead of hardware pass-through of an entire device or SR-IOV. If you’re already using all the virtio devices available then the performance for those types of I/O is likely as good as it’s going to get for your Windows VM.
The one I/O device that is lacking for Windows guests on QEMU is display output. There is no acceleration whatsoever, 2D or 3D, with the QXL DOD (display-only device) driver and I suspect this is what makes your workloads feel slow. Unfortunately there’s not a way around this until someone writes an accelerated virtio display driver for Windows.
For comparison, spin up a Linux VM and choose the virtio model for the video device with 3D acceleration enabled. The GUI should be nearly as responsive as your native system since compositor commands are passed via virtio to the host GPU for execution.
I haven’t tried it, but perhaps another hypervisor product like VMware Workstation might support accelerated video for Windows guests on a Linux host.
It looks like RAM / swap usage is fine there. No more RAM needed to be assigned to the VM.
You say you are only using Office 360 and a web browser.
It should be pretty fast in a VM.
Maybe look for which processes are using a lot of CPU.
The FW BIOS does not have an option to switch off hardware acceleration for VMs, so that is not the cause.
This could very well be why your VM is slow. The 1TB expansion card advertises 1000 MB/s and 800 MB/s read and write speeds, respectively. That’s significantly slower than the 7000+ MB/s read/write speeds offered by typical NVMe SSDs these days.
Is there any possibility you could test your VM on an SSD?
Microsoft office 365 does use the Internet a lot.
Maybe the slowness is due to a problem on the network side in the vm.
What does speedtest.net say, if run from inside the vm?
Need to test both download and upload.
OK, I copied the VM to the internal SSD. Performance improved, but still feels “too slow“ with assigned resources and notebook specs overall. I switched all visual effect off except font smoothing and then apps start noticeably faster and Windows feels more responsive.
Well, maybe my expectations are too high My desktop machine (see specs below) handles Windows 11 Pro VM just fine, it feels “normal“ on the desktop HW. I guess this experience is the base for my judging about Win11 VM poor performance on Framework 13”….
I think I’ll have to look for some good guides to fine tune VM to its limits on FW 13”.
I use QEMU in libvirt to run Win11 VMs and I find the console a little clunky, so I access the VM with Remmina (RDP), which has the advantage of supporting copy/paste. Performance has been very good.
I’m running Fedora 42 on a FW AMD 7040 with 64Gb RAM and a 2TB SSD. My Win11 LTSC VM has 4 vcpus and 16 gb RAM.
Thanks @Jim_Williams for sharing your experience and setup. I think I need to use the VM off the internal SSD for better IO performance even if it breaks my vision of keeping all user stuff on systemd-homed managed external USB storage.