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)

Overall Status

Debian trixie 13.4 was installed without any problems.

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect CD/DVD:

[?]

Detect hard drives:

{OK}

Secure boot:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

{i}

Sleep / Suspend

{OK}

Xorg

{OK}

- OpenGL

[?]

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

{OK}

Mouse

- Built-in (Touchpad)

{OK}

Wireless/Wifi

{OK}

Keyboard's Hotkeys

{OK}

Fingerprint reader

[?]

Legend:<<BR>> {OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = 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.

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:

$ sudo update-initramfs -u -k all

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.

  • [get | view] (2026-03-28 07:38:39, 12.3 KB) [[attachment:dmidecode.Trixie_Framework_13_AI_300_Series.txt]]
  • [get | view] (2026-03-28 07:38:48, 9.2 KB) [[attachment:lsmod.Trixie_Framework_13_AMD_Ryzen_AI_300_Series.txt]]
 All files | Selected Files: delete move to page copy to page

Other reports

None known.


CategoryLaptopComputer