sys-audio is still not reliable at my system: after reboot, audio was completely disabled for all VMs. Only after disabling sys-audio via qubesctl top.disable qvm.sys-audio, deleting the audio VM and rebooting, I got audio working again.
First run qvm-prefs sys-audio | grep -w xid
You should get something like
xid D 2
Number 2 is what we need.
Then continue to follow procedure from the quote post.
If you prefer GUI text editor, the whole point after is to copy that file to some temp location, to extract it, to make changes to init file by simply putting that number 2 instead 0 in a given line and to compress again and to put it back to original location by overwriting file there. Instead vim editor, you can use sudo gedit/mouspead/kate. geany (whichever gui text editor you have installed in dom0) to edit init file. Then reboot just in case and set sys-audio as deafult audiovm for win qubes with qvm-prefs win-qube-nam-here audiovm sys-audio. Start win qube and it should work flawlessly
If youāre still stuck at some point, please let me know at which point that happened.
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).
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ā¦
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 (4.1.68.1), 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.
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.)
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!