Entry created
2026-03-27
Translation(s): none
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. |
Model covered
Framework Laptop 13 DIY Edition (AMD Ryzen™ AI 300 Series)
AMD Ryzen AI 7 350 13.5" w/Radeon 860M
Contents
Overall Status
Debian trixie 13.4 was installed without any problems.
Core Components |
||
Boot Standard Kernel: |
|
|
LAN network card: |
|
|
Detect CD/DVD: |
[?] |
|
Detect hard drives: |
|
|
Secure boot: |
|
|
Extra Features |
||
CPU Frequency Scaling |
[?] |
|
Hibernation |
|
|
Sleep / Suspend |
|
|
Xorg |
|
|
- OpenGL |
[?] |
|
- Resize-and-Rotate(randr) |
[?] |
|
Switch to External Screen |
|
|
Mouse |
|
|
- Built-in (Touchpad) |
|
|
Wireless/Wifi |
|
|
Keyboard's Hotkeys |
|
|
Fingerprint reader |
[?] |
|
Legend:<<BR>>
= OK ;
Unsupported(No Driver) ;
= Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required;
= Only works with a non-free driver and or firmware
Note
Debian trixie 13.4 was installed with non-free-firmware enabled by default. It had kernel 6.12.74-2 (from package version 6.12.74+deb13+1-amd64, dated 2026-03-08).
The laptop was brand new (put together via DIY) and had the latest available firmware installed.
Firmware upgrades may be offered via fwupd:
$ sudo apt install fwupd [...] $ sudo fwupdmgr refresh --force [...] $ sudo fwupdmgr update [...] $
framework_tool utility
Certain aspects of Framework can be tweaked using framework_tool utility. The utility is not available in Debian trixie, but currently it can be downloaded from Debian forky without any additional dependencies.
The command-line utility can query firmware versions, battery and USB-C status, thermal data, expansion card details and more.
See the instructions in framework_tool utility to install and use it in your Debian distribution.
Configuration
Display
c1:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Krackan [Radeon 840M / 860M Graphics] (rev c2)
The system was installed with lxde as the desktop environment. X11 started without additional configuration. Using arandr, it was possible to switch between displays (either with the Framework HDMI expansion module or with the USB-C expansion module with a USB-C "docking" station that provided HDMI interface over USB-C).
3D, DRI, etc. were not tested.
Video playback in the browser (tested only on Firefox) worked correctly.
Fix display refresh glitch
A display refresh problem was initially observed. The problem was that, in at least two graphical terminal emulators (konsole and lxterminal), typing would eventually stop updating the display even though the terminal itself continued working. Moving the mouse pointer over the terminal window caused it to refresh. Typing would then not refresh until new pointer movement on the window, and so on.
This issue was fixed by adding amdgpu.dcdebugmask=0x10 to the kernel parameters:
1. Edit /etc/default/grub, in the GRUB_CMDLINE_LINUX_DEFAULT add amdgpu.dcdebugmask=0x10 2. Run $ sudo update-grub 3. Restart, then verify that /proc/cmdline contains amdgpu.dcdebugmask=0x10
For reference, relevant X11 package versions were:
$ dpkg-query -W -f='${Package} ${Version}\n' xserver-xorg xserver-xorg-core xserver-xorg-video-amdgpu
xserver-xorg 1:7.7+24+deb13u1
xserver-xorg-core 2:21.1.16-1.3+deb13u1
xserver-xorg-video-amdgpu 23.0.0-1
carles@pinux:~$
$
Enable changing the brightness
In lxde, changing the screen brightness using "Fn+F7" or "Fn+F8" did not work by default.
Using brightnessctl utility worked:
1. In /etc/default/grub file, in {GRUB_CMDLINE_LINUX_DEFAULT variable, add amdgpu.backlight=0 parameter. 2. Run $ sudo update-grub 3. Restart, then verify that /proc/cmdline contains amdgpu.dcdebugmask=0x10 4. Install the brightnessctl package ($ sudo apt install brightnessctl) 5. Use $ brightnessctl set "+1%" to increase the brightness by 1%, or $ brightnessctl set "1%-" to decrease it by 1%.
To use Fn+F7/F8, desktop environment shortcut settings were used to run scripts for those key combinations. The key symbols for Fn+F7/F8 are XF86MonBrightnessDown and XF86MonBrightnessUp. The key symbols were discovered using xev utility from x11-utils package.
Audio
Audio worked out of the box on Debian trixie 13.4 (with some settings for some applications as described below)
c1:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] c1:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] Audio Coprocessor (rev 71) c1:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller
Speakers
The speakers needed to be unmuted using pavucontrol.
Microphone
In order to use the internal microphone, it might be needed to change some settings in pavucontrol.
- In the "Configuration" tab, choose:
- In the "Recording" tab, when an application is recording (so, if it's audacity, after clicking recording, after joining a meeting, etc.) choose the device "Family 17h/19h/1ah HD Audio Controller Internal Stereo Microphone"
Adjust the levels if necessary.
In the application, you might need to change to the "Family 17h/19h/1ah HD Audio Controller Internal Stereo Microphone".
Mouse
The touchpad worked out of the box.
"Tapping" was configured without any problems. Left and right clicks in the touchpad button areas were also recognized by default.
To enable "Tapping", the file /etc/X11/xorg.conf.d/40-libinput.conf was created with the following contents:
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Tapping" "on"
Option "TappingButtonMap" "lmr" # 1 finger: left, 2: middle, 3: right
EndSection
Power Management
Suspend worked out of the box under lxde.
For hibernation, the option did not appear in the lxde menus. This was because the kernel was in lockdown mode while UEFI Secure Boot was enabled. Disabling Secure Boot in the firmware setup enabled hibernation.
To verify whether this is the cause:
$ cat /sys/power/state freeze mem disk $
Hibernation is not available if /sys/power/state does not contain disk.
Battery consumption during suspension was not tested.
WiFi
It worked from the installation without additional configuration:
c0:00.0 Network controller: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHz
It uses the kernel module mt7925e with firmware ____000000-20250305133013, included in non-free-firmware, since it was already working during installation.
Bluetooth
No special configuration was required for Bluetooth. Using lshw, it is identified as:
product: Wireless_Device vendor: MediaTek Inc. driver=btusb
After installing user-space utilities (for example, the blueman package), pairing with earphones worked. The "Device profile" could then be configured and the device used as a microphone, etc.
Battery charging control
Use framework_tool utility
It's possible to set the battery charge threshold to avoid charging the battery to 100% (which is not good for the battery health).
The package framewoork_tool has the utility framework_tool that can be used for it.
Refer to the section framework_tool utility to see how to install it in Debian trixie or forky.
Once installed it can be used to set the maximum battery charge limit:
$ sudo framework_tool --charge-limit 85
Via the Framework UEFI
The Framework UEFI setup allows configuring a battery charge threshold to improve long-term battery health by avoiding charging the battery to 100%. The same setting can also be controlled from Linux.
In the UEFI, this can be found in "Setup Utility" section. On the left hand side pane "Advanced" there is the option "Battery Charge limit". The help text of this option is "Limit the maximum allowed state of charge of the battery. Setting this to a value such as 60% can prolong battery life if your system is plugged into AC most of the time."
Setting it using Linux is more convenient in order to not have to restart the computer to enter the UEFI options to change it.
One way to control the battery charge threshold from Debian is via the sysfs attribute /sys/class/power_supply/BAT1/charge_control_end_threshold.
To enable the sysfs interface:
Create /etc/modprobe.d/framework-charge-control.conf file containing:
options cros_charge_control probe_with_fwk_charge_control=1
- Then re-generate the initramfs:
$ sudo update-initramfs -u -k all
- Reboot the machine
In order to use it, for example to set it to 80%:
echo 80 | sudo tee /sys/class/power_supply/BAT1/charge_control_end_threshold
The value is an integer percentage between 0 and 100.
The configured threshold is stored by the embedded controller and therefore persists across reboots.
The setting set using sysfs is not reflected in the UEFI setting.
Besides reading/writing from the mentioned charge_control_end_threshold file, see a simple Bash script.
System Summary
lspci
$ lspci -nn 00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Root Complex [1022:1122] 00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Krackan IOMMU [1022:1123] 00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1124] 00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1125] 00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1125] 00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1124] 00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1126] 00:02.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1126] 00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1124] 00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1124] 00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus A [1022:1110] 00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus B [1022:1111] 00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Krackan Internal PCIe GPP Bridge 0 to Bus C [1022:1112] 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] Krackan Data Fabric; Function 0 [1022:1248] 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 1 [1022:1249] 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 2 [1022:124a] 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 3 [1022:124b] 00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 4 [1022:124c] 00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 5 [1022:124d] 00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 6 [1022:124e] 00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Krackan Data Fabric; Function 7 [1022:124f] bf:00.0 Non-Volatile memory controller [0108]: Sandisk Corp WD Black SN850X NVMe SSD [15b7:5030] (rev 01) c0:00.0 Network controller [0280]: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHz [14c3:0717] c1:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Krackan [Radeon 840M / 860M Graphics] [1002:1114] (rev c2) c1:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Radeon High Definition Audio Controller [Rembrandt/Strix] [1002:1640] c1:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Strix/Krackan/Strix Halo CCP/ASP [1022:17e0] c1:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:1128] c1:00.5 Multimedia controller [0480]: Advanced Micro Devices, Inc. [AMD] Audio Coprocessor [1022:15e2] (rev 71) c1:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h/1ah HD Audio Controller [1022:15e3] c2:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Krackan PCIe Dummy Function [1022:1116] c2:00.1 Signal processing controller [1180]: Advanced Micro Devices, Inc. [AMD] Strix/Krackan/Strix Halo Neural Processing Unit [1022:17f0] (rev 20) c3:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:1118] c3:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:111c] c3:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:111e] c3:00.5 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:1120] c3:00.6 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:1121]
lsusb
$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint USB Device Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 32ac:0002 Framework HDMI Expansion Card Bus 003 Device 003: ID 046d:c542 Logitech, Inc. M185 compact wireless mouse Bus 003 Device 004: ID 32ac:001c Framework Laptop Webcam Module (2nd Gen) Bus 003 Device 005: ID 0e8d:0717 MediaTek Inc. Wireless_Device Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
$ sudo lsusb -v 2>/dev/null | grep -E '\<(^Bus|iProduct|bDeviceClass|bDeviceProtocol)' carles@pinux:~$ sudo lsusb -v 2>/dev/null | grep -E '\<(^Bus|iProduct|bDeviceClass|bDeviceProtocol)' [sudo] contrasenya per a carles: 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 Bus 001 Device 002: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint USB Device bDeviceClass 239 Miscellaneous Device bDeviceProtocol 0 iProduct 2 Goodix Fingerprint USB Device Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub bDeviceClass 9 Hub bDeviceProtocol 3 iProduct 2 xHCI Host Controller 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 003 Device 002: ID 32ac:0002 Framework HDMI Expansion Card bDeviceClass 0 [unknown] bDeviceProtocol 0 iProduct 2 HDMI Expansion Card Bus 003 Device 003: ID 046d:c542 Logitech, Inc. M185 compact wireless mouse bDeviceClass 0 [unknown] bDeviceProtocol 0 iProduct 2 Wireless Receiver Bus 003 Device 004: ID 32ac:001c Framework Laptop Webcam Module (2nd Gen) bDeviceClass 239 Miscellaneous Device bDeviceProtocol 1 Interface Association iProduct 1 Laptop Webcam Module (2nd Gen) Bus 003 Device 005: ID 0e8d:0717 MediaTek Inc. Wireless_Device bDeviceClass 239 Miscellaneous Device bDeviceProtocol 1 Interface Association iProduct 6 Wireless_Device Bus 004 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 006 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 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub bDeviceClass 9 Hub bDeviceProtocol 3 iProduct 2 xHCI Host Controller
USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.
Resources
Attachments
Some configuration files and sample outputs.
Other reports
Useful Links
None known.
