Shiny new QWT has landed! (was: old man yells at a cloud)

Congratulations! For the first time ever, we now have a fully usable Qubes Windows Tools! :+1:

The following tests were completely successful:

  • Install QWT 4.3.3 over an existing 4.3.2 (Windows 10 22H2). The old version was replaced by the new one.
  • Install QWT 4.3.3 on virgin Windows 10 22H2 and Windows 11 25H2 templates. The systems are running as expected, and even the native Windows menu can be used if the Windows keyboard key is enabled. No need to install Open-Shell for that.
  • AppVMs based on these templates can now be used, too, and support the native Windows menu.
  • Installing Open-Shell in the templates provides additional functionality in the templates and in the AppVMs, too. In both, the native Windows menu may also be called from the Open-Shell menu, and it is working.
  • Network access is working in the AppVMs, even if - as should be - the template never had a netVM assigned.

That is extremely promising!

Just one small snag, which does not impair usability: The AppVM based on Windows 11 still shows the black windows, but it may just be minimized; it cannot be closed. The rest is working just as expected, and this does not happen in the templates or the Windows 10 AppVM.

4 Likes

Cool! “Black windows” are typically override-redirect drop-down menus and synthetic window artifacts I was chasing down already, please tell me how to reproduce more and I hope I will able to eliminate the rest. Good that I got rid of so-called “secure desktop” attempts in seamless mode because it is nothing but secure, moreover, it is plain harmful.

3 Likes

I used a Windows 11 template without QWT, installed QWT 4.3.3 there, and rebooted several times to get it into a stable state. Then I just created an empty AppVM based on that template and started it.

It’s just standard M$ security: maximum nuisance combined with an ineffective simulation of security.

1 Like

hm hm, and black windows appear when you try to do what? also please try winenum again when it happens. Is template update reliable for you, btw?

1 Like

The black window appears immediately after starting the AppVM, before any interaction with this qube.

Here’s the log of winenum.exe; I hope it helps:

winenum.txt.gz (1.9 KB)

After I had created this log, the normal windows again had lost their capability to respond to the Windows key, while the black window kept it. Still somewhat weird.

With respect to template update: My Windows 10 and 11 templates are both fully updated. So the Qubes Updater just informs that there are no updates available. I’ll probably have to wait for the next Patch Tuesday for W11, and for W10, give up.

2 Likes

Is it with idd or without?

With idd

Could you please attach the most recent C:\ProgramData\QubesLogs\gui-agent-*.log? (also wtf, I stored logs on the volatile root, will be fixed in next release!)

I installed your qwt, and the GUI agent is a huge improvement! It can even make use of both of my screens which is very nice. However, I have found two problems. I am unable to run an appvm created from either a windows 11 or windows 10 template. I create the appvm, start it, and a couple seconds after I get the notification that it has started, it shuts down. For the updates, I installed windows 11 25H2, so there is a pending update to be installed. Qubes OS Updater recognizes that there is an update to be installed in the qube, (it only noticed after I had left the qube running for a couple minutes, it did not notice it when the qube was shut down, which makes sense). But when I try to update it through the Qubes OS Updater, I get this error:

Updating windows11-qwt
Microsoft Windows [Version 10.0.26200.8037]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\System32>mkdir -p /run/qubes-update/& exit

Microsoft Windows [Version 10.0.26200.8037]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\System32>mkdir -p /run/qubes-update/& exit

and the update shows as failed.

yes, you need to finish updates and let the template to reboot itself to finalize it, otherwise appvm will try to do it and fail forever because of volatile root. do not run updater on appvm!

upd: this symptom is consistent with missing qvm-features <windows-qube> vmexec 1which I did not document anywhere, sorry (and don’t forget to increase qrexec timeout also; upgrade is still needed, there were more bugs!)
.
updated README and published a bugfix release 4.3.7. also moved logs to persistent private volume Q:\Qubes Logs . Upgrade in place, it should help. If anyone picked up 4.3.6 earlier today, please upgrade as well.

Thanks for the update! Appvms are working, I ended up updating the template manually, so I’ll report back on the updates when I find time to make a new qube to test with.

1 Like

I made a fresh template to test with. Setting vmexec to 1 allows updating to work.

1 Like

no “black window” problem? still chasing it, cannot reproduce on my system. once i finish it we are close to first really usable pre-release.

I haven’t had it show up.

Windows 11 AppVM still shows the black window - no change. Here’s the log:

gui-agent-20260827-110828-4588 .log (2.2 MB)

Please install 3.4.10, enable debug log with qvm-features service.gui-agent-debug 1 and send me the log if problem persists (i fixed couple more things, so maybe it would not)

The black window is still there. Now it does not react to the Windows key, while other windows react.

Here are the logs:

gui-agent-20260827-185418-4560 .log (1.4 MB)

gui-agent-20260827-185114-4072 .log (5.8 KB)

gui-agent-20260827-184536-4540 .log (37.8 KB)

gui-agent-20260827-185116-3136 .log (5.9 KB)

1 Like

thanks, on it.

I think this time I nailed it, and it was (almost certainly, and as I suspected before) UAC residue (I typically disabled it in full, which not necessarily was a good idea). Now a) UAC prompt in seamless mode is just a normal dialog b) you can disable it entirely in StandaloneVM or TemplateVM (still cannot do in AppVM because it writes to system volume and needs reboot to apply), documented in README, please try 4.3.13