Weird Display in Archlinux Template in Qubes 4.1

As fepitre said, there are packaging issues with the Arch template (both R4.0 and R4.1):

The qrexec (build) issue on R4.1 is because of some reorganization that didn’t address community templates (understandable since they are community templates and seem to only be supported to some degree officially). I mention this in #6028.

As fepitre said, there are packaging issues with the Arch template (both R4.0 and R4.1):

PRs to fix the issue in 4.0 are in place.

Arch Linux build failure on 4.1 · Issue #6028 · QubesOS/qubes-issues · GitHub

Archlinux again, Qubes 4.0 : component make gui-agent-linux-vm build failed · Issue #6114 · QubesOS/qubes-issues · GitHub

The qrexec (build) issue on R4.1 is because of some reorganization that didn’t address community templates (understandable since they are community templates and seem to only be supported to some degree officially). I mention this in #6028.

Yes, there is no regard taken for Ubuntu or Arch templates. I think that
Whonix templates get a little more love.

I understand that, and I don’t mind getting my hands dirty with a little hacking.

The community templates haven’t got as much attention as debian and fedora, which is quite justified. I’ve been trying for the past three months to get a few community templates (OpenSUSE, MacOS, Archlinux, Ubuntu, BeOS, Windows 10, and a few other) to a point in which they work out-of-the-box in 4.1. I understand how RHEL and Debian-based systems work, but I’m a little fuzzy on the details of Arch.

That’s why I asked openly for help on where to put the respective files.

I have seen in qubes-builder that the qrexec directory has been removed and replaced with core-qrexec. It’s just that the Archlinux PKGBUILD doesn’t know what it is, and I’m trying to fix that.

From https://www.qubes-os.org/news/2020/10/05/new-gentoo-templates-and-maintenance-infrastructure/: “Depending on the needed resources, we could also add the longer Arch Linux jobs into my GitLab CI instance, because we currently don’t properly validate the template itself.” :slight_smile:

Oh, my favorite glitchy thread ! :slight_smile:

for collection!

@fepitre With CentOS-8, under R4.0.3, there are also currently some problems concerning python versions. Trying to update the template aborts due to lack of xcffib. So far, I have found no way to install this module in the template.

Yes I’m aware of this. This is due to old template having packages in transition to python38. All should now be done but we need to rebuild a full template. Solving such issues is possible currently with the help of rpm -e --nodeps and removing qubes-vm-{dependencies,recommended}. Then, it should be possible update with --allowerasing.

1 Like

Thank you for your fast reply!

Even with your corrections, the update fails on qubes-gui-agent, stating broken dependencies (Nothing provides python38-xcffib). I could force the update with --alloerasing --skip-broken --nobest, but the update marker still stays on.

So far, there is no operational problem - just to inform you for your template re-build.

Can you check if you have COPR repository fepitre/epel-8-python38 enabled? If not: dnf copr enable fepitre/epel-8-python38.

1 Like

The repository was not enabled. After enabling, the update went without problems, and the Qube manager now shows the template as updated.

Thanks a lot for your help!

This is because of too old template. Due to recent python3 version requirements for app-linux-pdf-converter, we had to create all the needed python38 dependencies because CentOS8 provides only python 3.6 packages (the one with python3- prefix). An extra COPR repository that I manage is for this purpose.

I notice these graphical issues when restoring Debian 10 VMs. How can I apply the same fixes like you have?

When trying to upgrade one of my Standalone Debian 10 R4.0 VMs. All I did was change the 4.0 to 4.1 for my qubes repo:

apt update; apt upgrade

Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages were automatically installed and are no longer required:
libblas3 libgfortran5 libimagequant0 liblapack3 libquadmath0 python-numpy
python-pil python-pkg-resources python3-numpy python3-pil
Use ‘sudo apt autoremove’ to remove them.
The following NEW packages will be installed:
libxengnttab1 libxentoolcore1 libxentoollog1 xserver-xorg-qubes-common
The following packages have been kept back:
qubes-core-agent qubes-core-agent-networking
The following packages will be upgraded:
libqrexec-utils2 libqubes-rpc-filecopy2 libqubesdb pulseaudio-qubes
python3-qubesdb qubes-core-agent-passwordless-root qubes-gui-agent
qubes-utils qubes-vm-dependencies qubesdb qubesdb-vm
xserver-xorg-input-qubes xserver-xorg-video-dummyqbs
13 upgraded, 4 newly installed, 0 to remove and 2 not upgraded.
Need to get 332 kB of archives.
After this operation, 121 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Minus some noise here …

Installing new version of config file /etc/X11/Xsession.d/25xdg-qubes-settings

Installing new version of config file /etc/X11/xorg-qubes.conf.template …
Installing new version of config file /etc/xdg/autostart/qubes-icon-sender.desk
top …
Setting up pulseaudio-qubes (4.1.11-1+deb10u1) …
Processing triggers for libglib2.0-0:amd64 (2.58.3-2+deb10u2) …
Processing triggers for libc-bin (2.28-10) …
Setting up qubes-vm-dependencies (4.1.10-1+deb10u1) …
/usr/lib/qubes/qrexec-client-vm: error while loading shared libraries: libqrexec-utils.so.2: cannot open shared object file: No such file or directory

apt install libqrexec-utils2

Reading package lists… Done
Building dependency tree
Reading state information… Done
libqrexec-utils2 is already the newest version (4.1.8-1+deb10u1).
libqrexec-utils2 set to manually installed.

apt list --upgradable
Listing… Done
libvchan-xen/unknown 4.1.3-1+deb10u1 amd64 [upgradable from: 4.0.8-1+deb10u1]
qubes-core-agent-networking/unknown 4.1.16-1+deb10u1 amd64 [upgradable from: 4.
0.56-1+deb10u1]
qubes-core-agent/unknown 4.1.16-1+deb10u1 amd64 [upgradable from: 4.0.56-1+deb1
0u1]

apt upgrade
The following packages have been kept back:
qubes-core-agent qubes-core-agent-networking
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

And now after shutting down and relaunching the VM, it won’t start.

You need to ensurethat you have latest gui-daemon in dom0 (current-testing) and to have latest gui-agent-linux in you VM (current-testing) too.

After fiddling with all .onion/https, 4.0/4.1 repo combos, I managed to upgrade those packages, but the last package threw an error. I cannot boot the VM again now.

Unpacking xen-utils-guest (4.14.0-7+deb10u1) ...
dpkg: error processing archive /var/cache/apt/archives/xen-utils-guest_4.14.0-7+deb10u1_amd64.deb (--unpack):
 trying to overwrite '/lib/systemd/system/xendriverdomain.service', which is also in package xen-utils-common 2001:4.8.5-23+deb10u1
Errors were encountered while processing:
 /var/cache/apt/archives/xen-utils-guest_4.14.0-7+deb10u1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Updating the centos-8 template fails again, due to incompatibilities in python3, even if the repositories epel-8-python38 and epel-8-qubes are enabled via copr. The problem, which cannot be solved by specifying --allowerasing, --skip-broken and/or --nobest, seems to be a collision of several files (rst*) in /usr/bin between python38-docutils-0.16-3.el8.noarch and
python3-docutils-0.14-12.module_el8.3.0+562+e162826a.noarch.

CentOS 8 fixed for me.
Archlinux fixed for me, expect for pulseaudio, but that will come eventually.

Thank you to everyone who contributed to fixing the issue.

1 Like

Are there working ready arch linunx template and centos 8 for downloading over the community-templates-repo or I have to build it on my own?
And what exactly was the fix now that it is working? The latest-gui-agent?
If I need to build it I will try it the next time and update if it ist working for me:)

edit:
centos-8 is working for me now ,only pulse-audio in arch not .
but I am sure that this will be fixed soon and it doesn’t matter.
I build it on my own following these great descriptions here and the officiall qubes doc how to build it. But for people I found that archlinux minimal.rpm from Neowultran here:
https://neowutran.ovh/qubes/vm-archlinux/
If u download it and copy it to dom0 ,then run dnf install .rpm and after installing u can do a complete update & upgrade in the templatevm. Then it is working,too without the pulseaudio. That should be easier for people, who like to have an archlinux template and don’t know or have the time to run through the building steps.

much blesses
Thank you

I updated again at my other pc now and got the testing repo packages working renaming the qmemman.conf.rpmnew to .conf only and delete the old one. but the display in the archvm is still weird. what exactly is the fix for that? In a bionic vm it is the same problem. at my other pc everything is working ,but I don’t know what is missing now at the new one.

Ps. I cannot delete a post here. Otherwise I would replace my post before. sorry for that many posts. I dont really want that .

Fixed again and lucky for the weekend. And update and switch to a newer kernel in the qubes manager fixed it for me and now working again. Just my wired networking problem with new kernels I need to fix now and then I can run a backup of my lovely qubes system hehe;)

Ps: And always doing a reboot after doing such things affecting the system before trying it:)

Hey, I had to install centos-8 again at an other Pc and updating with --nobest --skip broken & --allowerasing helps to get the vm fully updated and audio working.
Only archlinux now has the audio problem. I have a read in an other topic that when I build the arch template on my own with qubes builder then audio is working? Is it worth to do those steps and can anybody confirm if it is working then? It does not really matter, but it is every time fine to have a complete working system:)
Thank you