Hi all, here is my feedback after installing and using for few months QubesOS R4.2 on a Framework 13 AMD 7040 Series. 2TB SSD, 64GB of RAM.
Brand: Framework
Model: Laptop 13 (AMD Ryzen 7040Series)
CPU: AMD Ryzen 5 7640U w/ Radeon 760M Graphics
Chipset: Advanced Micro Devices, Inc. [AMD] Device [1022:14e8]
Graphics: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev cb) (prog-if 00 [VGA controller])
RAM: 57148 Mb
QubesOS version: R4.2.4
BIOS: 03.09
Kernel: 6.15.10-1
Xen: 4.17.5
Background
I already installed Qubes on a Framework 250GB expansion card, and the installation went smoothly. One specific point about this install is the expansion card considered as an USB drive, therefore it has been no creation of sys-usb. So some tests were may not most relevant. It was a bit painful when I wanted to add some external drives or trying to get HDMI working, or connect the camera back then. Else, everything I tested worked.
Installation process
TLDR: if you are not able to install, use Debian template as default instead of Fedora during the first reboot.
I tough I would be able to get Qubes OS working in minutes then! BUT, I had to do the re-installation process 3 times, because it was impossible to access the login screen after typing the disk password. However after some reading, I switched to Debian default on first reboot post installation and everything worked then. I am not sure about why and how, but if anyone has an explanation please share.
Overall notes
About hardware:
- At first, I did not find how to enable click on touch pad (I need to really “click” it). I found in global settings / Mouse and touchpad that there is 3 “devices” detected: “
PIXA3854:00 …:0247 Touchpad”, “PIXA3854:00 …:0247 Mouse”, and “FRMW0004…:0006 Consumer Controller”. By selecting the Touchpad one, I was able to access the option “Tap touchpad to click” and “Two-finger scrolling”. - Function keys such as mute, volume up / down, screen brightness up / down, print screen* work out of the box.
- Function keys such as play, next, previous, airplane mode do not work out of the box
- From the keyboard shortcuts settings, I was able to add shortcuts to open qubes-app-menu, dom0 terminal, etc. easily.
*There are 2 defaults screenshot tools in dom0: print → screenshot of the whole screen; and Alt+print → screenshot of the current App Qube Windows.
About noises: Fan noises are not a problem for me but I noticed I saw this coming time to time on Framework forums. So maybe it will interest some people.
- Even with around 15 Qubes running the laptop does not make any noises. It happens often when updates are happening but I am quite impressed.
- Fans also makes a bit of noise when I converted 100 PDFs to save PDFs with 4 bash loops. So indeed, it created / destroyed continuously disposable VM, not a classical workload I guess.
Not working or not working well
I have some struggle to get an external display working properly. Using the HDMI expansion card makes things work well better apart that I need to unplug it on boot. But to get an external DockTech (USB-C to HDMI + USB-As adapter) to work, I had to turning on all three options in the advanced tab. Also updating kernel in dom0: sudo qubes-dom0-update kernel-latest.
The only point left is during boot, where external screen get stuck black when booting. However, after waiting a bit and typing password nonetheless, the login is alright. Else just unplug and plug again HDMI after login.
“Issue” with Ethernet expansion card detected as an USB
During the installation process, I used WIFI without any troubles. At one point I needed to use the Ethernet expansion card for the first time and was surprised that it did not “work” out of the box. The point is, that I needed to… attach the expansion card to sys-usb.. So if anyone encounters this case, do not worry, that’s normal – it seems.
Install and various apps
Below are some examples of use cases where more or less work was required to function properly.
Thunderbird
All working out of the box.
Install & configure Signal
Followed roughly this: Signal Messenger - Community Guides - Qubes OS Forum and classic link new device from phone. For video calls, attaching camera + mic was working on first time.
Printing / scan with a network hp printer
In the templateVM: sudo dnf install simple-scan hplip python3-reportlab.
Then, in the QubeVM: sudo hp-setup <printer-ip> and lp -d Office_Jet-xxx test.txt. You can get the identifier of the printer with lpstat -p -d.
To scan, use after the hp-setup: hp-scan –output=scan.pdf.
Nextcloud VM, accessing a self-hosted instance with Wireguard
I only intent to use WireGuard to get a remote access point to a self-hosted Nextcloud instance. Following this post’s link: No DNS using Wireguard ProxyVM on Qubes 4.1 - General - Qubes OS Forum it ran surprisingly right away.
I first logged into the browser, then I installed nextcloud-desktop on Fedora41-xfce template. Shutting down the template, reboot the AppVM and badabim badaboom nextcloud connection and sync.
Prusa Slicer
Using the prusa3D slicer before exporting bgcode to an USB device, gives non-working files if downloading them from the Internet. However, the workaround is downloading this from the printable website directly (via Firefox).
SplitSSH to access external machines
Works perfectly with: Split SSH - Community Guides - Qubes OS Forum .
Get reverse shells to work for HackTheBox (and related platforms) stuff
Starting the Open-VPN file directly from the AppVM. Using a Debian based template and the Parrot’s script to change repos to get most of tools already setup. To get reverse shells to work, in the AppVM just use: sudo nft add rule ip qubes input iif “tun0” accept.
Other tips and remarks:
- Using scripts from dom0 to start / stop many Qubes / Apps is very useful. You can also add to desktop an icon that will execute these, rather than going back and forth in qubes menu.
- With this configuration, I am able to run a huge amount of Qubes simultaneously, without noticing lagging issues.
- I am able to start Qubes with a ~4 to ~13 seconds loading time. I did not try with pre-started templates.
- Running an hypervisor is not cheap, battery last between 1h30 and 4h30, highly dependent on the type of workload.
- Suspend still draws a lot of battery.
Hope it was not too long, tell me if you have any questions.