[QWT] Update to qubes-windows-tools crosscompile project

47 views
Skip to first unread message

P. Hofmann

unread,
Dec 23, 2020, 4:59:55 AM12/23/20
to qubes...@googlegroups.com

Hi,

after setting up Qubes R4.1 Alpha on a new laptop I found that my old, restored Windows Qubes would not work anymore with R4.1, the reason being the updated qrexec protocol (from version 2 to 3). During my research on the mailing list I stumbled upon the qwt-crossbuild project by tabit-pro that addresses this and other issues. Unfortunately the software did not compile right out-of-the box. I have made some minor changes and created a github repo with the updated version:

https://github.com/uiskla/qwt-crossbuild

I made essentially the following minor changes:

  • Specified to use Fedora 32 (instead of latest, which is probably 33) for the Docker image build
  • Removed some conflicting packages in the Dockerfile
  • Added a patch to remove header annotations not understood by mingw and added that to the SPEC file

With these change I have successfully built a .msi installer and tested that with Windows 7 VMs and DVMs. GUI, qrexec, seamless mode etc. seem to work fine. I have sent a pull request to tabit-pro but have not received an answer yet (probably because of the holiday season).

If you want to rebuild, here are some hints:

  • I have cloned the standard Fedora 32 template for devel VM
  • I have followed the steps to install Docker from the Fedora documentation
  • The devel VM must be converted to HVM so that it is possible to re-enable cgroup v1 for the kernel (needed by Docker on Fedora)
  • Then follow the steps from the Readme.md in the repo

Kind regards

Peter

-- 
<ptrx...@googlemail.com>

Ivan Kardykov

unread,
Dec 23, 2020, 9:50:16 AM12/23/20
to qubes...@googlegroups.com
On 12/23/20 12:59 PM, 'P. Hofmann' via qubes-devel wrote:
> Hi,
>
> after setting up Qubes R4.1 Alpha on a new laptop I found that my old,
> restored Windows Qubes would not work anymore with R4.1, the reason
> being the updated qrexec protocol (from version 2 to 3). During my
> research on the mailing list I stumbled upon the qwt-crossbuild project
> by tabit-pro that addresses this and other issues. Unfortunately the
> software did not compile right out-of-the box. I have made some minor
> changes and created a github repo with the updated version:
>

Hi all,

We are going to deprecate qwt-crossbuild in docker in favor of builds in
mock as other our experimental packages [1].

There are other caveats related to dotnet running in wine, but I hope
this method will be more convenient. It will be available in the next
few days.

Regards,
Ivan Kardykov

tabit.pro


[1] https://github.com/tabit-pro/Qway-qubes-repo

OpenPGP_signature

Ivan Kardykov

unread,
Dec 25, 2020, 10:16:56 AM12/25/20
to qubes...@googlegroups.com
Hi again,

Qubes Windows Tools crossbuild project is available on github now [1].
Here is short features description since base package:

- include updated xen pv drivers (8.2.2)
- prepare reproducible/deterministic build (binaries only)
- hide command prompt windows during setup execution (WixQuiteExec)
- sign and install drivers without prompt (libwdi-based pkihelper utility)
- avoid high cpu consumption (move qga CreateEvent outside an event
processing loop) (QI#3418)
- use dhcp instead of network setup service
- stop disabling audio services while R4.1 has audio support for HVM
- disable Windows recovery console with preparation script
- remove format dialog (diskpart instead of prepare-volume) (QI#5090,
QI#5768)
- support Qubes-r4.1 (qrexec v2 backward compatibility)
- fix qvideo early restart error (QI#5864)
- fix qvideo incorrect destroy procedure (possibly fixes BSOD 0x50)
- fix installer relocate-dir fails on Windows 10 due to special reparse
points (QI#5093)
- fix halting DispVM right after start (QI#4369).

Our wiki contains instructions how to build it with Qubes Disposable VM [2].

In addition Qubes R4.1 users can test Windows audio support with setting

```qvm-features [VM] audio-model ich6```

[1]
https://github.com/tabit-pro/Qway-qubes-repo/tree/master/qubes-windows-tools
[2]
https://github.com/tabit-pro/Qway-qubes-repo/wiki/How-to-build-package-with-mock-in-Qubes-Disposable-VM

Regards,
Ivan Kardykov
tabit.pro

OpenPGP_signature

Frédéric Pierret

unread,
Dec 25, 2020, 11:35:34 AM12/25/20
to P. Hofmann, qubes...@googlegroups.com


Le 12/23/20 à 10:59 AM, 'P. Hofmann' via qubes-devel a écrit :
> Hi,
>
> after setting up Qubes R4.1 Alpha on a new laptop I found that my old, restored Windows Qubes would not work anymore with R4.1, the reason being the updated qrexec protocol (from version 2 to 3). During my research on the mailing list I stumbled upon the qwt-crossbuild project by tabit-pro that addresses this and other issues. Unfortunately the software did not compile right out-of-the box. I have made some minor changes and created a github repo with the updated version:
>
> https://github.com/uiskla/qwt-crossbuild
>
> I made essentially the following minor changes:
>
> * Specified to use Fedora 32 (instead of latest, which is probably 33) for the Docker image build
> * Removed some conflicting packages in the Dockerfile
> * Added a patch to remove header annotations not understood by mingw and added that to the SPEC file
>
> With these change I have successfully built a .msi installer and tested that with Windows 7 VMs and DVMs. GUI, qrexec, seamless mode etc. seem to work fine. I have sent a pull request to tabit-pro but have not received an answer yet (probably because of the holiday season).
>
> If you want to rebuild, here are some hints:
>
> * I have cloned the standard Fedora 32 template for devel VM
> * I have followed the steps to install Docker from the Fedora documentation
> * The devel VM must be converted to HVM so that it is possible to re-enable cgroup v1 for the kernel (needed by Docker on Fedora)
> * Then follow the steps from the Readme.md in the repo
>
> Kind regards
>
> Peter
>
> --
> <ptrx...@googlemail.com>
>
> --
> You received this message because you are subscribed to the Google Groups "qubes-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel...@googlegroups.com <mailto:qubes-devel...@googlegroups.com>.
> To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/6abdc75d-0aff-6c4a-1027-051276a37cf3%40googlemail.com <https://groups.google.com/d/msgid/qubes-devel/6abdc75d-0aff-6c4a-1027-051276a37cf3%40googlemail.com?utm_medium=email&utm_source=footer>.

Hi,

You should have a look to https://qubes-os.discourse.group/t/testing-windows-and-qwt-in-r4-1/1143/37. Especially this comment https://qubes-os.discourse.group/t/testing-windows-and-qwt-in-r4-1/1143/29?u=fepitre. I've discussed yesterday with @easydozen, we will focus our efforts on Qubes components which will at the end result in the same "tool" when we build the final RPM for QWT.

Best,
Frédéric

OpenPGP_signature

P. Hofmann

unread,
Dec 25, 2020, 11:35:34 AM12/25/20
to qubes...@googlegroups.com

Am 23.12.20 um 11:06 schrieb Frédéric Pierret:
Hi,

thanks for the pointer, I missed that thread. Actually I have solved the
compilation problems independently in a slightly different manner. I
have also not encountered any of the seamless mode problems with Windows
7 - I just tested it again, it works perfectly with Windows 7 DVMs (eg.
opening Word attachments from Thunderbird in a DVM). I have created the
Windows 7 template VM with the excellent qvm-create-windows-qube.sh
script using the ISO from my build process to automatically install QWT
(note: slight change to the windows mgmt VM necessary, a script needs to
be changed to use the .msi from the crossbuild process instead of an .exe).

I know that the QWT tools need to be adapted to Windows 10 (especially
the video driver) and that USB is missing from qwt-crossbuild, but don't
really have expertise here. I just wanted to help others like me who
want use Windows (D)VMs with Qubes R4.1. I plan to test it with a
Windows 10 automated installation using the qvm-create-windows-qube.sh
script again in the next weeks.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages