I now described using Windows-based disposables in the new QWT documentation (tested for Windows 7 and 10 - 11 will behave hopefully the same) and just added a pull request.
The tests showed once more how ugly Windows has become. Adding something to the start menu is more or less a nightmare.
A serious problem is here that you cannot enter something in the user-specific Autostart folder because that’s still on drive
C: and so will be removed on AppVM shutdown. (Still a problem with the
Move user profiles function of QWT in Windows 10 n).
I filed an issue Incomplete “Move user profiles” option in Windows 10 #7413on this).
Thank you @GWeck. Really nice and helpful work there!
Sorry for copy/pasting here, I just don’t have a Github account
In my environment the sound became perfect
I thought first of all about the USB webcam, but there alas without much progress on Win10
R4.1 win 10 still crackly after the just-released stubdomain update as well and in stubdomain I see currentclocksource=tsc.
It gets less crackly (but not perfect) if I busybox renice -n -30 $pulseaudio_pid in the stubdomain.
I haven’t rebuilt QWT since December 2021 tabit-pro repo content, so perhaps I need to do so for improved audio as well?
Unfortunately, adding tsc to kernelopts didn’t help to me too, as it seems it didn’t help Brendan.
None yet: not much spare time with young kids and the added excitement of colds/etc. during a pandemic.
I do wonder at the output of busybox top - the virtual size of both QEMU and pulseaudio together is almost 4x allocated stubdomain RAM, but I’m not really familiar with the limited output of busybox top to know if that is worrisome or not.
Also found it hard to get stubdomain console working via sudo xl console $stubdom_id until I found that hitting ctrl-j after connecting got me to the shell and only then would Enter work. Weird.
Edit: Oops I meant xenstore, not pulseaudio above.
Edit edit: oops I was right the first time, just got confused when I checked stubdom under 4.0. Pretend I made no edits!
Ah, sorry to hear, exactly the same here. Hope to find you all well soon. Thanks for taking the time to respond, though.
Meanwhile, it looks I got the winner (at least for me on Win7 x64)!
This is what I did:
- I’m running kernel latest but I didn’t update it to x.17.x due to issues you are already aware of, so I’m on 16.
- As already wrote, set all qubes to
clocksource=tsc(that finding of yours was exceptional!)
- I’ve upgraded, not updated to xen-hvm-stubdom-linux-1.2.4-1.fc32.x86_64 (
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=upgrade xen-hvm-stubdom-linux, for others less in the know)
- updated sys-usb template to testing and restarted sys-usb (not of an importance in this my specific case, because I’m deplying sys-audio, but because of this case of mine)
- I’ve decreased vCPUs to 1 (could try to half as well) for the win qube
- set audio-model ac97 for the qube
- started qube, downloaded and installed drivers from here
- even without restarting anything - I got beautiful sound from Windows, finally!
Just, please, don’t ask why I did what I did. Basically searched a lot on stuttering in Windows guest virtual machines. The next step should be to try to switch from pulseaudio to alsa (if that is even possible and if makes sense anyway), but thankfully, it finished here.
Hopefully, some of these would help to at least some of you.
Wait, I have to play that song once again in a win qube…
Hmm getting an ac97 driver working in win10 looks headache-inducing.
I also wonder if we’re using all of the performance capabilities of Xen/QEMU under R4.1 for Windows HVMs.
Does Xen 4.14 support any of the viridian/hyperv options to allow the Windows VM and/or QEMU to elect to use lower-impact non-emulated hardware access?
Looking at the qemu command line given to the stubdomain, it looks like we are neither using viridian nor hyperv enlightenments even though my read of xen.cfg is that viridian might be available in the current config, but I don’t see it constructed onto the command line.
Hmm, under R4.1 in /var/log/libvirt/libxl/win_vm_name.log, I see “viridian”: “false” for the windows HVMs. This may be non-optimal.
I also see references to PIT, APIC and HEPT timers, but not TSC in that file, and viridian would allow non-emulated tsc…I think.
Are either the viridian capabilities or hyperv enlightenment options usable from Xen 4.14 (directly or via QEMU) in such a way as to give the Windows HVMs a performance advantage?
If so, can this be done without losing the PV drivers? Concern is that at least the second set of capabilities, hyperv options, may conflict with the MSR masking that Xen PV drivers expect?
Probably you will have bad luck there: I tried to find drivers for AC97 on Windows 10 / 11, and there are several offered on the net.But: None of those that I found could be installed. Either the installation terminated with error, or the drivers were simply not recognized by Windows, which complained that there was no suitable driver where I downloaded them.
On Windows 7, a rather old driver from RealTek could be installed and worked. The sound is quite o.k., but not really different from the standard ich6 driver. On Windows 10 and 11, the ich6 driver works, but the sound is somewhat scratchy, no matter whether you use 1 or 2 VCPUs.
According to the documentation, ich6 emulates ac97. So this may explain that, on Windows 7, both behave identically. On Windows 10 and 11, using the (practically non-existent) ac97 driver would probably not change much in terms of scratchiness. But these systems are scratchy in other respects, too.
I have installed QWT in Dom0 from the testing repo (184.108.40.206), and I start the Windows qube with --install-windows-tools. The ISO is shown in the Qubes devices widget, but it never appears as CD-ROM in the Windows qube.
It is a fully up to date Windows 10 installation(imported backup from Qubes R4.0, but as QWT was never installed before, that shouldn’t matter afaik.)
I installed yesterday Win11 as a template. I think one more thing should be mentioned in documentation. Win 11 not let You to install it on VM without internet connection. So if You want to install it in template You have to shift+F10 again when it shows You that You have to connect to internet, start taskmgr and kill Network Connection Flow.
Also I have a question since I’m not install QWT on that template yet. Is QWT setting proxy for windows updates?
I checked with a native Windows 10 Template VM (QWT never before installed) with
stubdom-qrexec on and off. Both times, the CDROM appeared in the explorer.
@jevank Any ideas?
Can you try to attach any other ISO to your Windows qube and check if it’ll appear in your system?
This looks like incomplete shutdown issue. @Szewcu did you try to disable hibernation?
powercfg -H off
That’s it! I tested it, and with hibernation on, the CDROM disappears, without it it is visible (any CDROM, not just QWT installation).
I added the hint to disable hibernation in the documentation of QWT installation. (In fact, it was already in the documentation of Windows installation, but I had forgotten it.)
Pleas add also this “hack” to install Win11 without internet.
Ah yes I forgot about Windows’ fast startup feature, when shutting down is actually hybrid hibernation. Now it works, thanks!
I added this information in the Windows install docs. So far, as I can see, this currently applies only to the Home edition but is already in the dev preview of the Pro edition. Microsoft obviously tries to imprison its users evermore. I am wondering when they will close this loophole!
As far as I can see, Windows does not use a proxy for updates. If I remove its NetVM, updates are refused due to lack of internet access. This system really is not suitable for secure work.
QWT in WIndows 10 is running fine so far, Xen PV Disk driver also installed, no BSOD or instability
All I wish for now is automatic display resolution that was possible on R3.2/4.0 with Windows 7. But I’m not sure if that is technically possible.