New Adventure, Challenges I overcame

I think my new favorite GNU/Linux distribution is Garuda, with either KDE/Plasma, or XFCE desktop environments running. Recently, I embarked on the adventure of installing Windows 11 in a QEMU/KVM virtual machine. I completed the steps in this tutorial. Note that you must complete the steps in the first hyperlinked article to satisfy the requirements enumerated at the beginning of the tutorial. The tutorial assumes that you will be using the graphical ‘Virtual Machine Manager’ app to create and run your VM, so install it before you start.

With Windows 11 installed and configured as I want in a VM, and running superbly, I decided to set up my hardware fingerprint scanner, so I can use my fingerprint with Windows Hello. First, I had to add the physical USB adapter to the virtual machine, so I opened the details page of my Windows 11 VM, clicked ‘Add Hardware’ (bottom), selected ‘USB Host Device’ (left pane), selected my fingerprint adapter (right pane), then I clicked the ‘Finish’ button (bottom-right). Next, I started Windows, and installed the fingerprint scanner driver (Windows Update - Advanced Options - Optional Updates) Note: you may need to check for updates to get the driver to show up. Next, I completed the fingerprint set-up (Accounts - Sign-In Options - Fingerprint Recognition (Windows Hello)). Now I have the fingerprint scanner on my computer working flawlessly on Windows 11 in my new VM!

There’s a lot to get through in this tutorial, but if you want to switch to any GNU/Linux distribution, except that there’s something in the Windows OS that you can’t live without/must have, this tutorial may be the answer for you. I’ve been using Windows since version 3.1, and now I’m finally starting to wean myself away from the OS all together. I’m going to use my shiny new Windows 11 VM for a few weeks, and if it works out for me, I’ll remove my bare-metal Windows installations from my desktop and primary laptop PCs, and switch to booting Garuda, and using Windows in the VM - at least until I’m satisfied that I no longer need it.

QEMU/KVM provides a level 1 hypervisor that approximates bare-metal performance. The difference between it, and any other virtualization solution I’ve ever tried, is simply mind-boggling.

UPDATE
With a bit of research, I found this item, which explains how to enable file transfer between the GNU/Linux host and any guest (Windows or Linux). Note that after completing the tutorial (How to Properly Install a Windows 11 Virtual Machine on KVM), when you set up your Windows guest, you already have the virtiofs drivers installed. After completing these new steps, I can now drag/drop files in both directions between my Garuda host, and my Windows 11 guest.

UPDATE 2
I’ve found an additional refinement/improvement for my KVM configuration! When validating my host virtualization setup, I get a warning that IOMMU is not enabed by the kernel. Since I’m using refind to dual-boot Windows 11 and Garuda Linux with secure boot enabled, I can’t configure boot options in the grub configuration file. Instead, I edit /boot/refind_linux.conf in a terminal emulator, using nano:

sudo nano /boot/refind_linux.conf

to add

intel_iommu=on iommu=pt

to the end of the first two lines (boot with standard options, and boot to single user mode).

Following a reboot, re-validating my host configuration setup reports that IOMMU is now enabled by the kernel.

I hope this information and tutorial helps others,

Ernie

6 Likes

That sounds like a good project. Are you also able to use the fingerprint scanner in Linux? I have not been able to get mine working yet. I only poked at it a couple times and gave up quickly since it’s an optional thing.

Not yet. I have an Elan device, but it’s not well-supported in fingerprintd. I can run the print scan function, and register a fingerprint after several tries, but when I try to sign in, no joy (zero success) using it at my login screen. When the scanner failed to log me in, I opened a terminal screen (CTRL+ALT+F2), logged in, ran ‘startx’ to get to my GUI, then I reconfigured my log-in screen to use a password (as previously set up).

When I have time, I’m going to look for a better USB fingerprint scanner (one listed in the compatibility list) to see if it works better. Interestingly, the scanner works flawlessly in my Windows VM. Go figure.

Ernie

3 Likes

I have to agree with you Ernie. The libvirt, virtio, virt-manager setup is the best VM
setup for Linux.
Can you communicate between the the Win VM and the Linux host? You need at least an ssh/sftp link or a samba mount so you can share files with Linux.

1 Like

Mine is listed as Shenzhen Goodix Technology Co.,Ltd. FingerPrint.

I tried to follow a tutorial on how to install drivers and use it on Ubuntu from ItsFoss, but it wouldn’t let me register a fingerprint.

In my experience, fingerprint reader support is very hit-and-miss in GNU/Linux. I have an Elan sensor, and it’s on the libfprint supported list. With a lot of diligence, I can successfully register my right-index fingerprint, but verification fails 100% of the time. My next move will be to try out the development version to see if it works any better, but I’m not holding out much hope, at least for now.

I know this is a bit of a pipe dream, but it would be a good thing if the fingerprint reader interface was standardized (ISO standard/API), at least for all new devices, then, manufacturers could build their scanners for that standard, and OS developers could build drivers for that standard, and all new readers would/could just work. Is that even possible/dies it really work like that?

Ernie

3 Likes

I can copy content from my GNU/Linux host, and paste it into a file in my Windows 11 VM, but I can’t copy/paste files. I haven’t bothered to set up an ssh/sftp link yet. If/when I find that I need that functionality, I set it up then.

Ernie

OK, you are half way there. Good on you.

This has nothing to do with me. It happens as a result of how the hypervisor is implemented. In fact, I suspect that it could be something of a security issue, because (IIUC) the clipboard runs in RAM, and that means that there may be a leak between the GNU/Linux clipboard and the (Windows) clipboard running in the VM. I don’t know whether this is intentional or not, although it is convenient, and I use it to get stuff from the host to the VM, or vice versa from time to time. What do you think?

Ernie

1 Like

It is the sane when the VM is Linux. The 2 clipboards mirror each other , so that copy/paste will work across the VM boundary.
With Linux you have to install spice-vdagent in the guest to make this work. I am not
sure what you do with Win.
It is just a communication channel… no different to using ssh or a mount. I dont see that it is a security hazard. The VM is on a virtual network that is protected by NAT…
noone from outside can see it.

1 Like

It sure seems like a useful thing. They were able to make many different network cards work. It seems like at worst it would be the same amount of effort.

1 Like

I agree with that!!

See? I learned something new :slight_smile:, and it’s good to know that this is a part of that communication channel, and not a security vulnerability.

Now, I’m going to look into whether there’s a special agent for Windows, or if the spice one works for all client OSes (I suspect the latter).

Ernie

1 Like

Not sure if this is of help.

https://www.spice-space.org/download.html

Screenshot_2024-06-10_22-49-13

3 Likes

I took a look, and the last time anything was contributed was years ago. I’m not so sure if it’ll work with Windows 11, but I’ll keep looking for a solution. I’m sure there’s something out there, somewhere :slight_smile:,

Ernie

@ernie ,
I think you may already have this in your Win., because copy/paste works

https://www.spice-space.org/download.html

1 Like

I do. All that got installed when I worked through the tutorial mentioned in my original post. :slight_smile:

The main change I made to the VM (after completing the tutorial) was adding the USB port where my fingerprint scanner’s installed. I’m on Windows currently, so I can’t properly describe/name the component I added in the VM details list to get Windows Hello working with my fingerprint.

Ernie

2 Likes