Windows support in Qubes

Recreating the menu item via qvm-appmenus --remove and qvm-sync-appmenus did the trick: Now Windows 7 applications can be started from the XFCE menu, too.

By the way, I am using Windows 7 SP1 Professional, fully updated.

Good news!

The topic turned out more about QWT, so in order not to mix up I made a separate one for testing USB devices with Windows.

1 Like

To make long story short, did anyone manage to create a script for single-click win10 template deployment with modern QWT that would not require any manual trickery in the middle?

1 Like

Take a look to qvm-create-windows-qube project and my message about it with 4.1

In line 113, install.sh of that project is:

sudo qubes-dom0-update -y qubes-windows-tools

But that command doesn’t work for me. When I run that in a terminal of dom0, I get:

No match for argument qubes-windows-tools

I installed a new qubes os 4.1 beta1 directly from the iso, instead of upgrading from 4.0.

You can build it with instructions and copy to dom0 after that
qvm-run -p dispXXX -- cat /home/user/qubes-builder/qubes-packages-mirror-repo/dom0-fc32/rpm/qubes-windows-tools*.noarch.rpm > qubes-windows-tool.rpm

In qubes os 4.1, the disposable qubes are based on fedora 34, but the dom0 is based on fedora 32.

Should I create a disposable qube based on fedora 32 to setup the build environment for qubes-builder?

By the way, after reading the install.sh of the qvm-create-windows-qube project, I don’t think it builds the qubes-windows-tools package for dom0.

I tested it with fedora 33 disposable vm, but 34 might be ok too. Don’t forget to increase private storage

I built qubes-windows-tools in a standalone fedora 34 qube with the instruction at the repository.

The sha256sum is:

6cf317f99bd97c7af0e5a21b3f7a5f1fcf3779939211e711457486eabebe8139  qubes-windows-tools-4.1-65.noarch.rpm

Did anyone get the same sha256 sum?

I’m afraid this is not reproducible build

Can I use the qubes-windows-tools package from Qubes OS 4.0 in the dom0 of Qubes OS 4.1?

Erh. The last build was at 18-Jul-2018 15:18 for fedora 25:
https://ftp.qubes-os.org/repo/yum/r4.0/current/dom0/fc25/rpm/

After building the rpm and iso, I install the rpm to dom0. I also start the Windows 10 HVM (restored from the backup) with the iso and install the new Qubes windows tools.

But copy and paste doesn’t work.

I use the iso file at chroot-dom0-fc32/mock/fedora-32-x86_64/root/builddir/build/BUILD/qubes-windows-tools-4.1/qubes-windows-tools-4.1.65.iso in the qube for building QWT.

The command does not work because QWT is not yet packaged and available
for 4.1
You’ll need to comment out that line from the script.

The qubes-windows-tools package provides an iso image that can be
attached to the Windows qube at start up using qvm-start --install-windows-tools

The proposal here is to build an iso image yourself, and manually
transfer it in to dom0.
You can then use qvm-start --cdrom to start the Windows qube with the
iso attached.

Can you make a template this way? Also, it is Win7, so next step would require hacking ESU :-/ Also last time I checked qvm-create-windows-qube it required manual actions like “pause installation, fix private volume issues and continue”

Of course, no reason why you can’t have a Windows template.
If you don’t move the User directory from xvda, then your Windows
TemplateBasedVMs will be disposables. Neat.

I checked now this QWT version with the new Qubes R4.1 beta, and it behaves quite similar to the fully updated Qubes R4.1 alpha - not really surprising!

QWT works for both W7 and W10, and I can copy files to other VMs; so qrexec is working. Screen resolution is still restricted to the few values described above, and the start button of W7 is still missing if the VM is set to seamless mode.

For both W7 and W10, I could not start applications from the XFCE menu, and the trick with the re-creation and syncing of the appmenus did not work. Trying to start a command via qvm-run -p --service [windows-qube] qubes.StartApp+Accessories-Paint does not work either for W7 - this command just does not terminate, and it does not produce any output. For W10, the command starts the application.

For W10, qvm-features gui has to be set in order to make the window visible.

2 Likes

I’'m afraid that is always was because of reasons I was told above. But window resizing with W7 should work with XFCE trick.

was qube menu completely removed after qvm-appmenus --remove?

If there is no qrexec connection problem this behavior looks like application was successfully started and working and command wait to it closing.

So… to clarify for some of us who are illiterate…(i.e. not software developers/coders/CS majors/etc)…

Are there Windows 10 install instructions somewhere that fix the usb and screen size problems we have had for years?

2 Likes

In my Windows HVM after installing QWT 4.1.65 and copying the 2 .dll’s to /bin, which were missing, I try to attach a USB device. I still get “Failed to open data vchan connection” in dom0 and this is a log file from the VM:

qrexec-agent-20210723-035105-3924.log

[20210723.035105.349-4020-E] XcOpen: XenIface handle: 00000000000001B0
[20210723.035125.162-4020-E] InterceptRPCRequest: CreateFile failed with error 2: The system cannot find the file specified.
[20210723.035125.162-4020-E] InterceptRPCRequest: Failed to open service 'qubes.USBAttach' configuration file (C:\Program Files\Invisible Things Lab\Qubes Tools\qubes-rpc\qubes.USBAttach)
[20210723.035125.162-4020-E] HandleExecCommon: InterceptRPCRequest failed

There is no C:\Program Files\Invisible Things Lab\Qubes Tools\qubes-rpc\qubes.USBAttach in my Qube.

Contents of /qubes-rpc:

----                 -------------         ------ ----
-a----        14.07.2021     00:26             19 qubes.ClipboardCopy
-a----        14.07.2021     00:26             20 qubes.ClipboardPaste
-a----        14.07.2021     00:26             18 qubes.Filecopy
-a----        14.07.2021     00:26            161 qubes.GetAppMenus
-a----        14.07.2021     00:26             19 qubes.GetImageRGBA
-a----        14.07.2021     00:26             19 qubes.OpenInVM
-a----        14.07.2021     00:26             13 qubes.OpenURL
-a----        14.07.2021     00:26            157 qubes.SetDateTime
-a----        14.07.2021     00:26             17 qubes.SetGuiMode
-a----        14.07.2021     00:26            164 qubes.StartApp
-a----        14.07.2021     00:26             28 qubes.VMShell
-a----        14.07.2021     00:26             19 qubes.WaitForSession

These seem to work. Clipboard copy/paste and GetAppMenus definitely work.
Inspecting the files, some of them are pretty short, e.g. qubes.FileCopy only contains file-receiver.exe.
I tried to create a qubes.USBAttach and inputting usb-attach.exe but no luck so far.