Framework Laptop 12th gen (Alder Lake)

Remarks

I bought this laptop specifically to run Qubes, and was expecting a lot of pain since it is so new but … everything basically works fine. If you don’t want to fool with stuff then wait until next qubes release, as newer kernels fix a lot.

First I disabled secure boot in BIOS, then did a fresh qubes 4.1.1 install.

Graphics

Something is seriously wrong with the graphics during the install. Every screen redraw is extremely slow (comically so). Like even clicking a button takes several seconds, and you can see the next screen slowly slide down.

Still, I got through the install OK, and after a sudo qubes-dom0-update kernel-latest in dom0 the slowness went away.

HOWEVER, the graphics started glitching in a different way. Weird fragmented artifacts appeared over-top everything that changes, and gradually become visible as you wiggle the mouse around. I applied this fix (github QubesOS issue 7507) and then this issue went away too. For reference, I edited /etc/X11/xorg.conf.d/99-intel.conf and added:

Section "OutputClass"
    Identifier "intel"
    MatchDriver "i915"
    Driver "intel"
    Option "AccelMethod" "sna"
    Option "TearFree" "true"
    Option "DRI" "3"
EndSection

The glitchy artifacts are still there on the disk encryption lock screen, but I can live with that.

WiFi

The ax210 doesn’t work out of the box, so I tethered the laptop to my phone, and attached this to sys-net to get internet working. According to this kernel 5.15.64 fixes it without messing around renaming firmware files and stuff, so I ran this in dom0:

sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable 'kernel-qubes-vm-5.15.64*'

Then I switched sys-net over to use kernel 5.15.64, and now wifi works great (using fedora-36 template for sys-net, unsure if that matters).

Touchpad

Works totally fine, very nice hardware. Here’s my config in /etc/X11/xorg.conf.d/30-touchpad.conf (1 tap single, 2 taps middle, 3 taps right):

Section "InputClass"
    Identifier "touchpad"
    Driver "libinput"
    MatchIsTouchpad "on"
    Option "Tapping" "on"
    Option "TappingButtonMap" "lmr"
EndSection

Physical clicking of left and right also work as expected, unlike other reports.

Suspend

Here’s where I thought I’d have major issues, but no, basically I just had to set the mem sleep default to deep. Edit /etc/default/grub and add mem_sleep_default=deep onto the GRUB_CMDLINE_LINUX, then run:

grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg

Reboot, then in your power settings make sure suspend is the default action on lid close, etc.

Etc

  • Audio works out of box
  • Webcam and microphone work out of box. I did not need to increase memory to sys-usb like on other computers. Hardware kill switch for webcam disconnects webcam immediately in a qubes toast. Microphone kill doesn’t for some reason (audio is special I think?), but I confirmed audio isn’t coming through when switch is opened.
  • USB-C/USB-A ports work fine. You can pop out the port adapters and shuffle them around without rebooting too.
  • HDMI works fine
  • Battery: So far my only complaint. Out of the box it only lasts about 4 hours. I’m going to fool with it and try to improve this.
  • Most of the function keys work fine (volume controls, keyboard backlight). For some reason the display backlight ones don’t (but you can still do in the power settings dropdown). If your F-buttons (F1-F12) don’t work, you may have ‘fn lock’ on (use fn+escape to turn it off)
  • Fingerprint reader untested

Attachments

---
layout:
  'hcl'
type:
  'notebook'
hvm:
  'yes'
iommu:
  'yes'
slat:
  'yes'
tpm:
  'unknown'
remap:
  'yes'
brand: |
  Framework
model: |
  Laptop (12th Gen Intel Core)
bios: |
  03.05
cpu: |
  12th Gen Intel(R) Core(TM) i7-1260P
cpu-short: |
  FIXME
chipset: |
  Intel Corporation Device [8086:4621] (rev 02)
chipset-short: |
  FIXME
gpu: |
  Intel Corporation Device [8086:46a6] (rev 0c) (prog-if 00 [VGA controller])
gpu-short: |
  FIXME
network: |
  Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
memory: |
  65244
scsi: |

usb: |
  4
versions:

- works:
    'FIXME:yes|no|partial'
  qubes: |
    R4.1
  xen: |
    4.14.5
  kernel: |
    5.18.16-1
  remark: |
    FIXME
  credit: |
    FIXAUTHOR
  link: |
    FIXLINK

---
13 Likes

Do framework ship their laptops locked with intel boot guard, or is it possible to do a community port of coreboot?

1 Like

Big discussion here about coreboot: Coreboot on the Framework Laptop - #138 by Piotr_Krol - Framework Laptop - Framework Community

1 Like

It would be very cool to see Dasharo on the Framework laptops.

1 Like

I don’t have anything more to add other than that thread @bayesian pasted, other then yes I agree it would be cool!

1 Like

I can confirm that doing this on the i5-1240P model gave the same results as OP. Thanks for the write-up! Additionally, the MicroSD card also works well.

4 Likes

Thank you @hoytech for your report, which is online now!

2 Likes

How did you tether to your phone when the Wi-Fi card wasn’t working?

1 Like

I connected it via USB, and then enabled USB tethering in the android settings. I don’t remember what it was detected as, I think an ethernet connection – it just immediately worked for me.

So frustrating, when I plug in the iPhone via USB-C or USB2.0 it just doesn’t even detect the phone.

I had to use my iPhone to tether it as well, but before it would work I had to:

  1. Attach the USB device to sys-net (it should be labeled in the device manager)
  2. “Trust” the computer on my phone, after attaching it to the VM. It’ll initially prompt you as soon as you plug it in, and then do so again when you attach it to a different VM.

Only after that did it connect, at least in my case. I did this over a USB-C cable, in case that makes a difference.
Actually, if it’s not even detecting it at all, Step 0 might be to check that the cable is actually working, and that it can transfer data and not just power. If you have another device, try connecting it to that, and see if it detects it properly.

I’ve bought the exact same model than you and encountered the same issues. I would like to thank you very much for your report and your config file!

3 Likes

how do you edit the /etc/99-intel to fix artifacts? @hoytech

Simply create the file.

1 Like

@hoytech Thanks for the info. I have the Framework DIY 11th gen i5-1135G7, BIOS ver 3.10, with Qubes 4.1.1, kernel 5.15.74.2 in dom0. Have run OpenBSD and MS-Windows on it before; just getting to Qubes now. I do not see the graphics issue you have (other than for a second after entering the Disk Password after machine booting).

I have the AX200, not the 210, and it always has a hard time connecting. My wired net is on USB and doesn’t appear at all (it’s a Realtek RTL8153B, and it works fine on my other OS, OpenBSD).

1 Like

Thanks for the report! Mine is the 12th gen which probably explains some of the differences in the graphics, and the different wifi cards.

1 Like

@hoytech
Thanks for the write up. Did you manage to get a bit more juice out of the laptop?

1 Like

Just to add on.

I just picked up a new Framework DIY 12th Gen w/ i5-1240P.

Thank you @hoytech for the write up. I experienced the exact same issues and the steps above fixed everything.

I will produce a separate HCL report but wanted to add my review to this thread as well. So far, it is running smoothly.

1 Like

You’re welcome! Sorry, no, I haven’t really had any luck so far optimising the battery life. I’ve tried some basic things with powertop and TLP and maybe got 5% lower idle power. I still need to allocate some time to properly experiment with this.

Have you tried powersave mode on the CPU? xenpm set-scaling-governor powersave

2 Likes