Guide to Running Qubes R4.1

Hello everyone, I’ve successfully installed Qubes 4.1 on my Framework Laptop and publish this post from a disposable qube. I should warn that this guide is subject to further revision and that Qubes 4.1 is prerelease software and as such does not have the same security and stability guarantees as official stable releases.

The Qubes-20210731-kernel-latest-x86_64.iso was sourced from this Qubes community post and verified as described in How to verify the cryptographic hash values of Qubes ISO. It should be noted that the iso isn’t signed by any release key or any key signed by the Qubes Master Signing Key but instead by fepitre-bot.

The hash of the installation media and later the installed Qubes OS must be added to the BIOS to satisfy secure boot. The media installs and boots Qubes successfully though the fan does spin up and the laptop becomes warm as the templates are installed and configured.
It should be noted that by default the sys-net qube is set to use the 5.12.14-1.fc32.qubes kernel. I have not been able to get the AX210 wifi card working under this kernel and as such the kernel for sys-net should be changed to 5.10.54-1.fc32.qubes in Qubes Manager. Shut down all qubes that depend on this as a netvm and then restart sys-net. The wifi card can be cajoled to work via renaming or removing /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm.xz and reinserting the iwlwifi and iwlmvm kernel modules.

Open a terminal in sys-net

Navigate to firmware directory

cd /lib/firmware/

Rename problematic pnvm file so it doesn’t load

sudo mv iwlwifi-ty-a0-gf-a0.pnvm.xz renamed.iwlwifi-ty-a0-gf-a0.pnvm.xz

Remove iwlwifi and iwlmvm kernel modules

sudo modprobe -r iwlmvm && sudo modprobe -r iwlwifi

Reinsert those kernel modules

sudo modprobe iwlwifi && sudo modprobe iwlmvm

The NetworkManager applet in the Application tray should refresh and show wifi networks you can connect to. The first attempt to connect to a network will fail and display disconnected and remove the list of networks. To resolve this reinsert the kernel modules as above and the applet will refresh and successfully connect.

Refresh NetworkManager

Remove the kernel modules again.

sudo modprobe -r iwlmvm && sudo modprobe -r iwlwifi

Reinsert them again.

sudo modprobe iwlwifi && sudo modprobe iwlmvm

Some final notes as sys-net is either configured by the user at install as an AppVM or as a DisposableVM these fixes will not persist past reboot of sys-net or Qubes itself. In order to more permanently address this issue the commands to rename the iwlwifi-ty-a0-gf-a0.pnvm.xz should be executed in the Fedora-34 TemplateVM and then shutdown.

Open a terminal in dom0

Run gnome terminal in fedora-34 TemplateVM

qvm-run -a fedora-34 gnome-terminal

Enter all following commands in the TemplateVM terminal

cd /lib/firmware/

sudo mv iwlwifi-ty-a0-gf-a0.pnvm.xz renamed.iwlwifi-ty-a0-gf-a0.pnvm.xz

sudo poweroff

My own experience is with a dispVM version of sys-net and as such I have to reinsert the kernel modules and connect to wifi manually every boot.

Commands that were helpful for information gathering/troubleshooting

See messages about wifi firmware and how it loads

sudo dmesg | grep iwlwifi

See messages about NetworkManager and why connections fail

sudo journalctl -u NetworkManager

Restart NetworkManager

sudo systemctl restart NetworkManager

Edit 1
In order to fix screen tearing I added a configuration file as described in this community post and the Qubes Gui Configuration doc. I also reformatted some of the earlier instructions to clarify why and what commands should be entered into terminals.

Open a terminal in dom0

Navigate to directory where the file will be written

cd /etc/X11/xorg.conf.d/

Write the file

sudo nano 20-intel.conf

Type what’s below into the file

Section “Device”
Identifier “Intel Graphics”
Driver “intel”
Option “TearFree” “true”
EndSection

6 Likes

nice post! I haven’t played with qubes yet (still a live kali image guy or TAILS guy) but I’ve been meaning to and now seems like a grand time. Thanks!

Thank you for this reply,
I have just made my way back to framework after getting their email about running Linux.

I did post some time back about Qubes being able to run on the Framework laptop. The reply was that the Tigerlake processor was not supported by Qubes (I note that the git link in that post is now blank Support for Intel Tiger Lake Processors · Issue #6411 · QubesOS/qubes-issues · GitHub).

So do I take from this post that the latest qubes (yes, I see it pre-release) will work with Framework? If so, I’m buying. I was hanging off looking at the latest Purism but that company has problems, so it if pleasing to hear that qubes may work with a bit of tweaking which should hopefully improve, or even be offered by Framework.

Thanks for the post.

I’m not saying it won’t work, but the link you mentioned isn’t blank to me but leads to an issue that is still not closed, so my guess would be that it may still cause problems.

I really wanted to install Qubes on this laptop, and was quite disappointed that official release wouldn’t even boot the installation media.
I can’t run a beta because I actually use this for work, however, it does give me hope that in the future Frame.Work will have this option.

I installed the beta knowing I was taking a risk. So far, I’ve been happy with it. It preforms well and even plays YouTube videos. My only complaint is that it doesn’t do more to warn of a low battery. I get about 3 hours of battery life and then it will suddenly shut down (a proper O.S. shutdown, not just a power cut).

1 Like