Framework Laptop Qubes User: Hardware, updating issue, and alternatate Desktop UI

Hello, everyone! I have been digging into the forums as well as other forums on the web looking for solutions to the struggles I will list below. I believe a lot of useful information is already out there related to some of these, but I am not able to either understand or apply it correctly yet, as I am very new to Qubes. That said, I do have a solid technical understanding of computing in general so I am hopeful I just need a few pointers.

There are 4 issues I am looking for advice with:

  1. I am installing on a Framework Laptop, and I know users have succeeded at this before, but I believe I need a newer kernel in both Dom0 and the TemplateVMs to use some of my hardware. I cannot seem to get the kernels to update, though I have tried everything I can on the documentation for managing the kernels. (Especially the AX210 NIC is unsupported in current kernel)

2.I cannot seem to update Debian nor Fedora VMs in general. I am getting an error that says proxy is unavailable when I try. I understand from my reading that Qubes updates through an internal proxy system, so I think something is not communicating correctly…

  1. I am very much trying to change the default desktop environment in Dom0 from XFCE, as the screen resolution is almost unusable on the Framework laptop (SOOOO Small), and I also just like the look of something like Gnome better if it is at all possible. I followed the advice here: https://gist.github.com/code3z/244ea17d306f11fdf1127c8d4ce5296c BUT there seems to be no effect on Dom0 that I can discern after completing those steps. Is anyone using Gnome or even KDE on Qubes?

  2. There is a potential question for any Framework users out there. As installed, my sys-USB VM seems to have a constant cycle of “USB device connected” and then “USB device disconnected” in the upper right corner where attached devices are listed in Dom0. I assume that a newer kernel may resolve this as it may just be a compatibility issue (hopefully not a hardware issue as the laptop is brand new), but I want to ask if other Framework users have had that issue as well?

I am running Qubes 4.1 Final release and have updated Dom0 successfully with the latest patches. After running the Official updater for the VMs in Dom0, it will lie and say that the VMs are up to date, when in fact the log shows that they failed to connect due to the proxy error. So I am as up to date as I can be, but am running into those issues. ANY help would be very appreciated. If I can get everything working smoothly, my intention is to do a write-up under the HCL Forum as well as on the Framework forum to help other users who are trying to combine the framework with Qubes. It seems like a logical connection so I bet many are doing that and could use a guide.

1 Like

See also: Framework Laptop.

You should create separate topics for separate problems. It would make it easier to help you and to find a solution for future users.

1 Like

I’ve installed fine using the ISO, and dom0 worked fine with the bundled kernel, though I now run kernel-latest. VMs starting working a lot better once I switched to kernel-latest-qubes-vm

Do you have networking working? are your qrexec policies correct?

I agree, the screen resolution made readability just dreadful first. I’ve managed to scale everything to get it to be usable in XFCE, link at bottom

This went away for me when I switched to kernel-latest-qubes-vm for sys-usb. Running debian-11-minimal

Here are some of my jot notes from installing:

2 Likes

Thanks so much for taking the time to respond. I have updated to kernel-latest and played with the settings for some time (in between too much life stuff happening to distract me from getting Qubes setup on my Framework). Things are actually working pretty well the more I get used to Qubes, and it does take some getting used to!

However, I cannot get the AX210 card to work. I had it working for a couple months with kernel 5.10 on sys-net and a script the unloaded and reloaded the iwlwifi and iwlmvm modules every boot, but then a few weeks ago the update intel firmware rendered that method non-working somehow. Did you find a way to get the card working??? I have seen several posts about this but all the methods seem unclear to me or they ended up unsuccessful. I’d appreciate any help. I will make a new forum topic on this to see if we can solve it for everyone once and for all.

At that point, I will make a huge write-up guide for installing and running Qubes on Framework oon this forum and probably the Framework forum as well.

2 Likes

Did you manage to fix it? My framework is coming and i would love to be able to run Qubes on it.

@bayesian Are you getting the Framework with the 11th Gen Intel or the 12th Gen? I am running on 11th gen and I can confirm that the vast majority of things work OK or well. So far I am having only a few issues that I am stuck on still:

Suspend simply does not work…It works on Framework in Fedora, so something with the Qubes Xen setup or the configuration there is breaking it I suspect, the AX210 wifi card won’t work for me, so I am using an older card now and that’s working great. I can tell you though that there is a Xen patch for the AX210 issue now, though I have not tested it and I honestly don’t know how to test it… But if someone can explain how, I’d love to try. Also I am having odd issues with sound input and output devices that are connected on USB, so I don’t know if that’s my own ignorance of how Qubes configures those or if there is a Qubes bug. I have a thread open for that right now.
The other issues seem to be resolved at this time on the 11th Gen.

OH! Also, battery life is terrible. I’d love to get a thread together on how to improve Qubes battery life, because I get between 1 and 2 hours max right now, and since there is no suspend, you must power down when leaving it idle and not plugged in.

1 Like

CPU Frequency Scaling Broken has a solution for intel CPU to utilize intel-pstate scaling driver with Xen, which provides more fine-grained CPU frequency tuning than acpi-cpufreq driver. This might be helpful to your battery problem.

You can also try to find the equivalent of ryzenadj for intel CPU, and set lower PL1, PL2, etc.

For myself, with Ryzen R5-5600u, I have a reasonable idle power as low as ~4.2w (with no animation effects running in background). How about you? You can see that in the Sensor Viewer.

Also, adding sched_smt_power_savings=true to xen boot parameters will allow the processor to enter deeper idle states, which is important on intel CPUs. Do you see C6 idle state when running xenpm start 1 in terminal in dom0?

2 Likes

@moonlitOrca 12th gen. It will arrive mid-Sep. I don’t think I will be installing Qubes straight away. But I am monitoring the AX210, Sleep, Sound and Battery Life issues. Once those are solved or in a better position than now I might install it.

I am very happy to have your input on this as I am having a tough time navigating how to handle Xen as well as Linux when it doesn’t play nicely for my hardware… That being said, I am going to need a bit of time to decipher your suggestion, because I don’t know how to add boot parameter to Xen yet (I will look it up); I just learned how to add boot parameters to grub today for Linux :). Is that very different? And the github link seems to suggest patching Xen?? And I definitely don’t know how to do that. I really want to learn, but I don’t know what to do yet.

Is the deeper idle state you mean an “awake” state that just uses less power, or is that a suspend state? Either one is great, but I just tried something to try to fix suspend (which did not work…) Would you be willing to take a quick look at what I just tried to do to fix it unsuccessfully on my dedicated forum post for this issue? The ability to have lower power states is important to me, so I’d love to get that set.

By the way, I ran the tool you suggested here, and I get output for each processor core showing C0, C1, C2, C3, and then P0, P1…all the way to P15. In those sets, C0, C1, C2, P0, P14 and P15 have significant time listed.

And then later in the readout there is another section that says “Socket 0” and lists the 4 cores again, but this time they say CC1, CC2, CC3, CC4, CC5, CC6, CC7. CC7 is the only one of those sets that has any time listed.