Device notes and configuration under Linux for the Framework Laptop 13 AMD Ryzen 7040 Series Ryzen 5 7640U variant, DIY edition.
Everything works of the box as of Linux v6.5 (>=6.9 recommended) with firmware version 03.03 (03.05 recommended).
- AMD Ryzen 7640U (Phoenix, Zen 4)
- SK hynix Platinum P41 1TB SSD
- Crucial CT2K16G56C46S5 32GB DDR5-5600 SODIMM
- BOE NE135FBM-N41 v8.2 (matte) 13.5", 3:2, 2256x1504, 204 ppi, 400 nits, eDP1.4, 40 pins, DC-mode dimming (not PWM)
- 55Wh battery
- RZ616/MT7922 WiFi adapter
- 4x USB-C Expansion Cards
- Capella CM3218 ambient light sensor
- Notebookcheck review
- 204 ppi display - not ideal for HiDPI, needs 1.5x fractional scaling
- System freezes: update to BIOS version 03.03
- Fingerprint reader fails to register: update fingerprint reader firmware
- Graphical corruption, blinking/flashing white screen: workaround: fixed in BIOS 03.05 (workaround:
amdgpu.sg_display=0
or increase iGPU RAM in BIOS) - vaapi vp9 decoding glitches: fixed in linux-firmware@97733278
- Further AMDgpu instability and performance issues
- MT7922 WiFi limited to 802.11n (WiFi 4) and 2.4GHz: configure the regulatory domain
-
ectool
unsupported: pending kernel patches, workaround via fork - system wakes if AC is connected during sleep: pending firmware update, BIOS 03.05 workaround in Linux >=6.9, BIOS 03.03 workaround in Linux >=6.7, otherwise workaround via udev rules
- Bluetooth LE Audio unsupported by MT7922: see MediaTek MT7922 controller crashes after LE Setup Isochronous Data Path
- Systemd suspend-then-hibernate wakes up after 5 minutes: fixed in Linux >=6.8-rc.1 via kernel patch, workaround:
rtc_cmos.use_acpi_alarm=1
- power-profiles-daemon does not set EPP: fixed in v0.20
- HDMI and DisplayPort expansion cards do not autosuspend: fixed in systemd v255 (via systemd patch)
- ambient light sensor fails to init: fixed in Linux >=6.7
- VP9 HW decoding issue, high power use when decoding H264 & vp09 with vaapi (software decoding is more efficient) and Power consumption for HW accelerated video decoding for Radeon iGPUs is simply outrageous: fixed in Linux >=6.10.7 (see AMD VCN Dynamic Power Gating)
- Headset microphone not selectable as an input source: fixed in Linux >=6.6.8 (via kernel patch, workaround via kernel params)
- ucsi_acpi errors
- USB Power Delivery issues with <60W chargers: fixed in 3.03b firmware update
- PCIe not utilising full USB 4 40Gb/s link speeds: fixed in Linux >=6.8-rc.1 via kernel patch
- AMD P-State Preferred Core: added in Linux >=6.9
- Adaptive Backlight Management (ABM): added in Linux >=6.9 and ppd >=0.20
- Coreboot support
- GUI-based UEFI
- can set custom charge limit
- no "legacy" S3 deep sleep option
- getUserMedia / getDisplayMedia Test Page - useful for testing webcam/screensharing
- Hardware video acceleration VA-API support via
libva-mesa-driver
- Firefox requires
media.ffmpeg.vaapi.enabled=true
- Firefox requires
- S3 sleep unsupported
- S0ix supported, reaches S0i3.0
- consumed ~4.7% battery in ~12 hours
- Debug via drm/amd amd_s2idle.py
Test environment
- 40% brightness (~200 nits)
- WiFi connected
- Bluetooth disabled
- webcam and microphone disabled (via hardware switches)
- keyboard backlight disabled
- power button LED lowest brightness
- ambient light sensor disabled (
hid_sensor_hub
) - Firmware: 03.03
- GNOME with 150% scaling
- 4x USB-C expansion cards
powerstat -d 0 -c -H 1 480
One foot
terminal running powerstat
- Linux 6.5.9-arch2-1
- GNOME 45.1
gnome-shell --no-x11
(XWayland disabled)gdm3
gnome-settings-daemon
- MT7922
State | C3% | Power (W) |
---|---|---|
idle (kernel: no TLP/ppd) | 92.268% | 3.92 |
idle (ppd balanced) | 85.5% | 3.86 |
idle (ppd power saver) | 86.521% | 3.67 |
- 6.6.0 #1-NixOS
- GNOME 44.5
- MT7922
State | C3% | Power (W) |
---|---|---|
idle (kernel: no TLP/ppd) | 99.586% | 4.27 |
idle (ppd balanced) | 98.32% | 4.43 |
idle (TLP defaults) | 97.899% | 3.93 |
idle (TLP power saver) | 98.256% | 3.89 |
- 6.6.2 #1-NixOS
- GNOME 45.1
amdgpu.abmlevel=3
- MT7922
State | C3% | Power (W) |
---|---|---|
idle (TLP power saver, balanced platform profile) | 99.451% | 3.10 |
- 6.6.8 #1-NixOS
- GNOME 45.2
- patched power-profiles-daemon (multiple drivers)
- AX210
State | C3% | Power (W) |
---|---|---|
idle (ppd balanced) | 99.338% | 4.51 |
idle (ppd balanced, powertop autotune) | 99.382% | 4.35 |
idle (ppd power saver) | 99.368% | 4.32 |
idle (TLP power saver, low power platform profile) | 99.376% | 3.84 |
idle (TLP power saver, balanced platform profile) | 99.391% | 3.80 |
- 6.9.0 #1-NixOS
- GNOME 46.1
- AX210
- 40% brightness (~200 nits)
- ppd 0.21 (with Adaptive Backlight Management)
State | C3% | Power (W) |
---|---|---|
idle (ppd power saver) | 99.368% | 3.12 |
idle (ppd balanced) | 99.313% | 3.61 |
- One
foot
terminal runningpowerstat
- Firefox (in Wayland mode with hardware-video acceleration) playing 1080p vp9 YouTube video
- both windows evenly split (vertically)
- other baseline settings as above
- 6.6.0 #1-NixOS
- GNOME 44.5
- MT7922
State | C3% | Power (W) |
---|---|---|
video (kernel: no TLP/ppd) | 85.867% | 10.25 |
video (ppd balanced) | 86.230% | 10.36 |
video (ppd power saver) | 85.531% | 10.50 |
video (TLP defaults) | 86.122% | 10.20 |
video (TLP power saver) | 84.004% | 8.59 |
video (TLP power saver, balanced platform profile) | 84.842% | 8.13 |
- 6.6.2 #1-NixOS
- GNOME 45.1
amdgpu.abmlevel=3
- MT7922
State | C3% | Power (W) |
---|---|---|
video (TLP power saver, balanced platform profile) | 83.483% | 7.99 |
- 6.6.8 #1-NixOS
- GNOME 45.2
- patched power-profiles-daemon (multiple drivers)
- AX210
State | C3% | Power (W) |
---|---|---|
video (ppd balanced) | 84.705% | 9.35 |
video (ppd balanced, powertop autotune) | 84.891% | 8.83 |
video (ppd power saver) | 83.443% | 8.82 |
video (TLP power saver, low power platform profile) | 83.390% | 8.11 |
video (TLP power saver, balanced platform profile) | 84.495% | 8.26 |
- 6.9.8 #1-NixOS
- GNOME 46.1
- ppd 0.21, balanced
- AX210
- mpv fullscreen
- Firefox (windowed) + terminal evenly split (vertically)
State | C3% | Power (W) |
---|---|---|
video (mpv) | 88.199% | 7.43 |
video (patched amdgpu, mpv) | 87.410% | 6.72 |
video (Firefox) | 88.199% | 7-8 |
video (patched amdgpu, Firefox) | 87.410% | 5 |
- One
foot
terminal runningpowertop
- Firefox, light websites (no videos)
- both windows evenly split (vertically)
- other baseline settings as above
- 6.6.1 #1-NixOS
- GNOME 44.5
- RZ616 WiFi adapter: 1.84-2.19W
brightnessctl set 0%
- TLP power saver (config)
State | Power (W) |
---|---|
browsing, WiFi disabled | 4-5 |
browsing, WiFi enabled | 5-6 |
- 6.7.4 #1-NixOS
- GNOME 45.3
- AX210
- 40% brightness (~200 nits)
- patched power-profiles-daemon (multiple drivers)
State | C3% | Power (W) |
---|---|---|
browsing (ppd power saver) | 75.899% | 5.79 |
browsing (ppd balanced) | 80.195% | 6.09 |
- 6.9.0 #1-NixOS
- GNOME 46.1
- AX210
- 40% brightness (~200 nits)
- ppd 0.21 (with Adaptive Backlight Management)
State | C3% | Power (W) |
---|---|---|
browsing (ppd power saver) | 89.596% | 5.49 |
browsing (ppd balanced) | 89.436% | 5.98 |
- 6.6.1 #1-NixOS
Device | State | Power (W) |
---|---|---|
Display | 0% brightness | 3.14 |
Display | 40% brightness | 3.52 |
MT7922 | Idle (0.0 pkts/s) | 1.67 |
MT7922 | YouTube 4K (3461 pkt/s) | 4.05 |
MT7922 | YouTube 4K (4690 pkt/s) | 4.98 |
MT7922 | Speed test (16557 pkts/s) | 9.16 |
- 6.6.2 #1-NixOS
Device | State | Power (W) |
---|---|---|
Display | 40% brightness | 3.52 |
AX210 | Idle (0.0 pkts/s) | 1.55 |
AX210 | YouTube 4K (3601 pkts/s) | 5.06 |
AX210 | Download (10400 pkt/s) | 6.40 |
AX210 | Speed test (13539 pkt/s) | 7.14 |
- CPU:
/sys/devices/system/cpu/cpu*/cpufreq/*
- Platform:
/sys/firmware/acpi/platform_profile
Param | Value |
---|---|
scaling_governer |
performance |
scaling_driver |
amd-pstate-epp (active) |
energy_performance_preference |
performance |
platform_profile |
balanced |