DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Translation(s): none

Models covered
Framework Laptop 13 AMD Ryzen 7040 Series

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg / Wayland

X-(

- OpenGL

X-(

- Vulkan

X-(

Switch to External Screen

{OK}

Mouse

- Built-in (Touchpad)

{OK}

Wireless/Wifi

{OK}

Keyboard's Hotkeys

{OK}

Ambient Light Sensor

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Tested ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

The non-free AMD GPU firmware versions currently available in Debian repository are not sufficient and will cause issues if not updated. See the Display section bellow for details.

If your machine comes with an older BIOS version like 3.03, you do not need to update before installing Debian. However, for daily use it is recommended to always run the latest BIOS / UEFI version available (currently 3.05), as various firmware issues are still being addressed.

The recommended way to upgrade firmware on the Framework laptop, including BIOS, is to use fwupd:

apt install fwupd
fwupdmgr refresh
fwupdmgr update

For details or alternatives see: https://knowledgebase.frame.work/en_us/framework-laptop-13-bios-and-driver-releases-amd-ryzen-7040-series-r1rXGVL16

Configuration

Display

The laptop uses an integrated AMD GPU based on RDNA3 architecture, which is not correctly supported by either firmware-amd-graphics version 20230210-5 currently distributed with Debian 12 Bookworm, or version 20230625-2 present in Debian testing as of May 2024. If you use these firmware versions, you will almost certainly experience issues ranging from complete system lockups, through GPU restarts leading to crashed or frozen sessions, screen fully or partially flashing white, or stutter during hardware accelerated VP9 playback.

Most of these issues are resolved by upgrading to AMD GPU firmware binaries dated 2024-02-29 (linux-firmware commit 97733278) or newer. To download the newest firmware binaries, use:

wget https://gitlab.com/kernel-firmware/linux-firmware/-/archive/main/linux-firmware-main.zip?path=amdgpu -O amdgpu.zip

Then extract the archive (unzip amdgpu.zip) and use its contents to replace the old firmware binaries in /lib/firmware/amdgpu/. If you wish, you may only replace the firmware relevant to the integrated GPU in the Framework 13 laptop:

cd linux-firmware-main-amdgpu/amdgpu/ && sudo cp gc_11_0_1*.bin dcn_3_1_4_dmcub.bin psp_13_0_4*.bin sdma_6_0_1.bin vcn_4_0_2.bin /lib/firmware/amdgpu/

Please note that this command only copies files required for the 13" laptop variant; if you have the 16" version with discrete GPU, replace all files or check dmesg to see which firmware files are being loaded at startup.

After replacing the firmware binaries, be sure to update the initrd, otherwise the new firmware won't be used:

sudo update-initramfs -u

If you still experience issues after a reboot, you may also want to consider upgrading to a newer kernel (6.6.13 currently being offered through backports) or Mesa version.

Do not upgrade to kernel version 6.7.x (currently in Sid as of May 2024), as it has a known issue causing graphical corruption (colored blocks appearing all over the screen). If you need to use this kernel, as a workaround you may add amdgpu.sg_display=0 to your GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub and run sudo update-grub to apply the change.

Audio

Audio works out of the box, but some users have reported a buzzing sound or noise coming from headphones or speakers connected to the headphones jack when no sound is playing.

If you are experiencing this issue, you can disable power saving on the snd_hda_intel module. This will keep the output pins from being left floating and picking up electromagnetic interference, at the cost of slightly increased power consumption when no audio is playing.

To apply this workaround at startup, you may want to add the following to your /etc/rc.local file:

#!/bin/bash
# resolve EMI noise while audio isn't playing by disabling automatic sleep of the audio module
echo 0 > /sys/module/snd_hda_intel/parameters/power_save
exit 0

If you do not have an /etc/rc.local file, you will need to create it, set is as executable using chmod +x /etc/rc.local, and enable the rc-local compatibility service using systemctl start rc-local.

Mouse

Touchpad

To get Disable while typing(DWT)/Palm detection working, use this for your /etc/libinput/local-overrides.quirks:

[Serial Keyboards]
MatchUdevType=keyboard
MatchName=AT Translated Set 2 keyboard
AttrKeyboardIntegration=internal

[Touchpad]
MatchUdevType=touchpad
MatchName=PIXA3854:00 093A:0274 Touchpad
AttrKeyboardIntegration=internal

Power Management

WiFi

Ambient Light Sensor

The ambient light sensor works with apt install iio-sensor-proxy:

$ monitor-sensor 
    Waiting for iio-sensor-proxy to appear
+++ iio-sensor-proxy appeared
=== No accelerometer
=== Has ambient light sensor (value: 3.000000, unit: lux)
=== No proximity sensor
    Light changed: 31.000000 (lux)
    Light changed: 30.000000 (lux)
    Light changed: 29.000000 (lux)
    Light changed: 28.000000 (lux)

System Summary

lspci

$ lspci -nn
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e8]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Device [1022:14e9]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ee]
00:02.4 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ee]
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef]
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:04.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Family 19h USB4/Thunderbolt PCIe tunnel [1022:14ef]
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ea]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:14eb]
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 71)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f0]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f1]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f2]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f3]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f4]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f5]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f6]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:14f7]
01:00.0 Network controller [0280]: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter [14c3:0616]
02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal] [144d:a80c]
c1:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev cb)
c1:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller [1002:1640]
c1:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 19h (Model 74h) CCP/PSP 3.0 Device [1022:15c7]
c1:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15b9]
c1:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15ba]
c1:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor [1022:15e2] (rev 63)
c1:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
c2:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
c2:00.1 Signal processing controller [1180]: Advanced Micro Devices, Inc. [AMD] Device [1022:1502]
c3:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device [1022:14ec]
c3:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c0]
c3:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:15c1]
c3:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #1 [1022:1668]
c3:00.6 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Pink Sardine USB4/Thunderbolt NHI controller #2 [1022:1669]

lsusb

# lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 003 Device 002: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1 Laptop Camera
      (Bus Powered)
  (Bus Powered)
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 001 Device 003: ID 0e8d:e616 MediaTek Inc. Wireless_Device
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                6 Wireless_Device
Bus 001 Device 002: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         0 
  iProduct                2 Goodix USB2.0 MISC
      (Bus Powered)
  (Bus Powered)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller

Resources

Attachments

Some configuration files and sample outputs.

Credits



CategoryDebianOn CategoryDebianOn