Linux kernel release 5.15 introduced a new NTFS file system driver named NTFS3. This kernel driver was originally developed by Paragon Software as a commercial solution (more about the ntfs3 driver can be found on their FAQ page).
NTFS3 is not to be confused with NTFS-3G, a user space driver that employs the FUSE or “file system in user space” approach. There is a 3rd driver available – simply NTFS – that was shipped as the standard NTFS driver on Linux, but it lacked support for many of the Microsoft NTFS features (like writing to disk). Most of us dealing with NTFS drives have installed and use the NTFS-3G driver.
It wasn’t easy this time. Don’t get me wrong – the VFIO passthrough part, though challenging in some ways, went quite well. All in all I’m pleased now with the results. Here the Passmark 9.0 benchmark as uploaded onto their database (for more details, click the frame below):
A year ago I wrote about the 2D graphics performance impact of the Windows 10 (1803) update inside a virtual machine. As it turned out, the performance impact was related to the Spectre vulnerability patch that Microsoft had introduced. However, the same patch had practically no performance impact on a Windows 10 bare-metal installation.
Time has passed and I wanted to see if there has been any progress. Right now I’m running Windows 10 (1903) with Nvidia driver release 431.36. Windows 10 is up-to-date, Nvidia however already offers a newer version (431.60).
Qemu/kvm provides you with a plethora of ways to configure your storage devices. Yet no other type of device shows such a variance in its performance, with disk I/O throughput anywhere from stellar to abysmal using the very same hardware.
Before you get your hopes high, this post is not (yet?) a tutorial on creating a Windows 10 virtual machine using the Virtual Machine Manager (virt-manager) GUI. It should have been, though. I spent the better part of a week trying to configure and install a Windows 10 VM that delivers the performance that I’m used to.
As it turns out, it was a failure. Don’t get me wrong, I did manage to configure and run Windows using virt-manager and virsh. I even installed it multiple times, changing the configuration to what I hoped would improve performance. But whatever I tried, I never got even near the speed and snappiness that I achieve by following my tutorial using a start script.
Many users – myself included – rather prefer the comfort of a graphical user interface with check boxes and pull-down menus to select the various options. I’ve listed some tutorials using the virt-manager at the end, for those who came to find a solution.
I have run a number of benchmarks to document the performance of Windows 10 running as a virtual machine on Linux, in the hope other PC users will dive into the fascinating world of virtualization (VFIO).
Benchmarks are helpful in comparing one system with another, and one configuration with another. I use them to optimize my Windows 10 performance and to make sure that updates/upgrades haven’t produced unwanted side effects.
Problem: bad 2D performance in Windows VM versus Windows on bare metal
For the past few months I noticed sluggish 2D graphics in my Windows 10 VM, something that hadn’t happened before. Below are the Passmark 8 results and comparisons between different configurations/releases:
This is yet another benchmark of my Windows 10 VM. This time I used the free Mersenne Prime Search software Prime95 (mprime under Linux) available at www.mersenne.org. I wanted to see if there is a significant difference between running the benchmark on the Linux host, versus the Windows virtual machine.
Benchmarks help us compare the performance of different hardware configurations as well as drivers and operating systems. With regard to virtualization, benchmarks can be particularly useful in quantifying performance differences between an operating system running on a virtual machine versus the same OS running directly on the underlying hardware.