Framework Laptop 13

This article or section needs language, wiki syntax or style improvements. See
Help:Style
for reference.
Reason:
The page has been renamed to reflect the introduction of the 16" model, but the page content would probably gain from being updated with that wording too.
The multiple tables from
#Hardware
look like they can be squashed into the generic table since everything is listed as working.
#Expansion cards
should be left as-is given the fact that more modules can be added over time.
(Discuss in
Talk:Framework Laptop 13
)
Hardware
PCI/USB ID
Working?
GPU
Yes
Wi-Fi
Yes
Audio (Intel)
8086:a0c8
Yes
Audio (AMD)
1002:1640
Yes
Touchpad
093a:0274
Yes
Webcam
0bda:5634
Yes
Fingerprint reader
27c6:609c
Yes
Bluetooth
Yes
TPM
Yes
Ambient light sensor
Yes
This article covers the installation and configuration of Arch Linux on a Framework Laptop.
For a general overview of laptop-related articles and recommendations, see
Laptop
.
Hardware
Framework is intended to be a configurable and upgradeable laptop. The lists below is not intended to be an exhaustive list of all the hardware sold with the framework, but rather a list of tested components.
Note
Ensure you have
linux-firmware
installed, as pointed out by
Installation guide#Install essential packages
before reporting hardware issues on the Arch bug tracker or Framework Community boards. It is an optional dependency of
linux
and does not automatically get installed as part of
base
. Without it, much of the hardware will be detected but will not be fully functional. You will see firmware loading issues in the
journal
.
Wi-Fi/Bluetooth
Device Name
PCI ID
Bluetooth USB ID
Working?
Bluetooth?
Notes
AX200
8086:2723
8087:0029
Yes
Yes
Pre-production units
AX201 vPro
Untested
Untested
Professional Edition
AX201 w/o vPro
8086:a0f0
8087:0026
Yes
Yes
Base/Performance Editions
AX210 vPro
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
AX210 w/o vPro
8086:2725
8087:0032
Yes
Yes
DIY Edition (Optional)
AX411 vPro
8086:51f0
8087:0033
Yes
Yes
Not sold by Framework, but works
BE200
8086:272b
8087:0036
Yes
Yes
Not sold by Framework, but works
only with intel CPU
RZ608 / MediaTek MT7921K
–
0e8d:e608
Yes
Yes
Not sold by Framework, known to work
RZ616 / MediaTek MT7922
14c3:0616
0e8d:e616
Yes
Yes
AMD edition
RZ717 / MediaTek MT7925
14c3:0717
0e8d:e717
Poor support
Yes
AMD edition
Wi-Fi performance on AMD edition
You will be limited to 802.11n (Wi-Fi 4) and 2.4GHz bands if you do not configure the
regulatory domain
.
There have been reports of Wi-Fi stability and throughput improvements when using
iwd
, either directly or as the
NetworkManager backend
.
For MT7921/MT7922, Wi-Fi stability can be improved by disabling power saving mode as described in
Network configuration/Wireless#mt7921 / mt7922
.
For MT7925, network speeds over Wi-Fi are very limited; see
this thread
.
Graphics
Intel / i915
Device Name
PCI ID
Working?
TigerLake-LP GT2 [Iris Xe Graphics]
8086:9a49
Yes
Alder Lake-P GT2 [Iris Xe Graphics]
8086:46a6
Yes
Meteor Lake-P [Intel Arc Graphics]
8086:7d55
Yes
AMD / amdgpu
Device Name
PCI ID
Working?
Notes
Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1
1002:15bf
Yes
Needs BIOS 3.03 or newer
Expansion cards
Card Name
PCI/USB ID
Working?
Notes
USB-C
N/A
Yes
USB-A
N/A
Yes
Can cause high power drain if placed on the two back slots.
MicroSD
090c:3350
Yes
HDMI
32ac:0002
Yes
For some series, may not work if placed on the front-left slot
.
DisplayPort
32ac:0003
Yes
For some series, may not work if placed on the front-left slot
.
Storage 250GB
13fe:6500
Yes
Can crash your USB controller on the AMD Ryzen AI and UAS. You can revert to usb-storage for that device only with: `options usb-storage quirks=13fe:6500:u`
Storage 1TB
13fe:6500
Yes
Ethernet
0bda:8156
Yes
SD (full-size)
32ac:0009
Yes
Can cause booting issues if an empty SD-to-MicroSD adapter is inserted at boot time.
Headset jack
On Intel and AMD motherboards, when powersave activates and deactivates on the sound card, there is a small
noisy popping sound
or a
buzzing sound
.
The number of seconds after which, if there is no sound activity, the kernel puts the audio module into powersaving, therefore producing the pop or buzz noise, is stored in
/sys/module/snd_hda_intel/parameters/power_save
.
You can deactivate powersave for the sound card entirely by passing
power_save=0
as a
module option
to
snd_hda_intel
, as described in
Advanced Linux Sound Architecture/Troubleshooting#Power saving
.
If you are using
TLP
, you can instead set the
SOUND_POWER_SAVE_
variables in
/etc/tlp.conf
.
Motherboards with an Intel Core 12th Gen and later use a different DAC, the
Tempo 92HD95B
[1]
, which can cause popping noises when playing back audio using the
PipeWire audio server
. This seems to happen because PipeWire incorrectly sets the bit depth for the device to 32-bit, while the card only supports 16, 20 & 24-bit
[2]
.
The supported rates can be verified by probing
/proc/asound/card0/codec#0
:
$ cat /proc/asound/card0/codec\#0
...
Default PCM:
    rates [0x560]: 44100 48000 96000 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM
...
The current sample rate can be verified by probing
/proc/asound/card0/pcm0p/sub0/hw_params
while playing back audio:
$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 32768
The solution is to force the use of 16-bit samples through
WirePlumber
, by creating the following config file
[3]
:
/etc/wireplumber/wireplumber.conf.d/51-fix-crackle.conf
monitor.alsa.rules = [
  {
    matches = [
      {
        node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
      }
    ]
    actions = {
      update-props = {
        audio.format = "S16LE",
      }
    }
  }
]
Speakers
By default, the speakers do not sound very balanced (due to downward firing speakers), so you may want to use an equalizer to fix this. The recommended method is to install
EasyEffects
and use the official preset found
here
.
Alternatively, you can use user-created profiles such as
this one
created by cab404.
Display
The Framework Laptop 13 can be configured with 2 different displays: a 2256x1504 TFT-LCD display
[4]
or a 2880x1920 display with rounded corners, both manufactured by
BOE
. They are uncalibrated from factory, giving a suboptimal default sRGB coverage. It is thus recommended to apply an
ICC profile
to have better color reproduction.
[5]
Intel Framework 13 ICC color profile:
https://www.notebookcheck.net/uploads/tx_nbc2/BOE_CQ_______NE135FBM_N41_01.icm
AMD Framework 13 ICC color profile:
https://www.notebookcheck.net/uploads/tx_nbc2/BOE_CQ_______NE135FBM_N41_03.icm
Intel Core Ultra Framework 13 ICC color profile for the 2.8k display:
https://www.notebookcheck.net/uploads/tx_nbc2/BOE0CB4.icm
HDMI audio output
On Intel 11thGen there is a
problem
where an HDMI TV or HDMI VideoProjector is recognized as an Audio Output Device but no sound is heard when playing music. The HDMI TV output sound correctly using a fresh installed Windows operating system. For correcting this issue you have to first install the
sof-firmware
package, then you have to pass
dsp_driver=3
as a
module option
to
snd_intel_dspcfg
so it uses the SOF version instead of the legacy one.
Firmware
BIOS updates
Updates are generally available as UEFI Shell updates from Framework directly. LVFS support is still in testing for some models.
Generation
Stable
Beta
LVFS
LVFS
Testing
Notes
Intel 11th Gen
3.24
3.17
(testing only)
Warning
3.23 must be installed before 3.24 due to an issue with secure boot.
There will be no LVFS releases for 3.22+ because because they have an Intel CSME update. An UEFI Shell update method is available.
Announcement here:
[6]
Intel 12th Gen
3.19
3.19
Later batches come with 3.05 "to resolve an in-factory specific issue"
[7]
.
Warning
After updating your BIOS to version 3.06 or 3.08, you cannot downgrade to version 3.04 or 3.05 as it will result in the left side ports to stop functioning properly.
Announcement here:
[8]
Intel 13th Gen
3.09
3.09
Windows updater and EFI Shell packages for 3.05 available.
Announcement here:
[9]
Intel Core Ultra 1
3.06
3.06
Announcement here:
[10]
AMD Ryzen 7040
3.18
3.18
If you have a batch 1 or 2 device (of the first original Framework AMD release), make sure you upgrade to at least 3.03 first. It comes preinstalled on batch 3 and later. Newer AMD releases with the new 2.8k display batches should already contain latest BIOS firmware (Framework started counting again from batch 1).
Announcement here:
[11]
AMD Ryzen AI 300
3.05
3.05
All initial batches should come with 3.03 preinstalled.
Announcement here:
[12]
The BIOS can be updated by EFI shell script placed on a bootable USB flash drive. This firmware update method clears EFI
boot loaders
registered in NVRAM, so having a recovery disk or alternate method of reinstalling your boot loader(s) handy is recommended. If your boot loader installs itself as the EFI fallback at
esp
/EFI/BOOT/BOOTX64.EFI
(
systemd-boot
will by default, GRUB will with
GRUB#Default/fallback boot path
), no recovery disk is necessary, but your boot loader may need to be reinstalled to restore its NVRAM entry.
To check which bios is currently installed without rebooting into the bios itself is possible with:
# dmidecode -s bios-version
LVFS
Support for
fwupd
is readily available through the stable remote, which should be enabled by default. Beta firmware builds can sometimes be found on the testing remote
[13]
, which can be enabled by running:
$ fwupdmgr enable-remote lvfs-testing
Note
As of August 2025, only the original 11th Gen Intel mainboards lack any stable BIOS updates on LVFS, partly due to the mandatory Intel CSME patches in BIOS updates newer than 3.17. You should not enable the testing remote on newer mainboards if you want to use only stable BIOS updates and not those in beta testing
[14]
[15]
.
11th Gen Intel Mainboards with BIOS versions earlier than 3.17 only have in-memory capsule update support, not on-disk. To upgrade to newer versions with the support, add the following fwupd configuration changes, update to 3.17 or higher, and then revert the change after the BIOS is updated:
/etc/fwupd/fwupd.conf
[uefi_capsule]
DisableCapsuleUpdateOnDisk=true
Fingerprint reader
Framework has
published a guide
for Intel 13th Gen and AMD to upgrade the firmware to a known working version.
Secure Boot
This article or section needs expansion.
Reason:
Add links to official sources or forum posts for each model that can be enrolled with custom keys. (Discuss in
Talk:Framework Laptop 13#Custom Secure Boot keys
)
One can enroll custom keys into the Framework Laptop without any Option ROM concerns, or use the SHIM approach. See
Secure Boot
for details.
Suspend
On Intel boards, adding the
kernel parameter
acpi_osi="!Windows 2020"
fixes a regression in s2idle, making the keyboard backlight and power button correctly turn off when suspending, as well as decreasing battery drain in suspend to about 1%/hour
[16]
.
If your system fails to wake up from suspend due to the SSD disconnecting, you can try putting
nvme.noacpi=1
in your
kernel parameters
. This may also improve battery life in suspend, if your SSD has a bad ACPI implementation. This should only be used on Intel boards, as on AMD it will cause the issue, instead of fixing it.
Warning
Some NVMe drives do not successfully wake from the deep sleep state described below, disconnecting from the laptop and becoming inaccessible until a reboot, which typically causes the laptop to lock up. One example is the Sabrent Rocket NVMe 4.0
[17]
[18]
. Before enabling this sleep state in a production installation, you may wish to test the suspend functionality of your NVMe drive from the Arch installer environment so as not to cause corruption.
See
Power management/Suspend and hibernate#Changing suspend method
if you want to use S3 sleep instead of s2idle.
Fn key after suspend
Some users on 11th-generation Intel boards report that after resuming from suspend, the Fn key and/or media keys no longer work. The workaround is to blacklist the
cros_ec_lpcs
module:
/etc/modprobe.d/cros_ec_lpcs.conf
blacklist cros_ec_lpcs
Wakeup triggers
Warning
This section is solved by updating to the most recent BIOS version, this is only for legacy BIOS.
See Here
If your Framework wakes up while being transported in a backpack or bag, this is because of
the screen pressing against the keyboard
. Deactivating the keyboard
Wakeup trigger
solves this.
Deactivate until next reboot:
# echo disabled > /sys/devices/platform/i8042/serio0/power/wakeup
Deactivate starting next reboot:
/etc/udev/rules.d/disable-keyboard-wakeup.rules
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
Alternatively to disable both keypresses and touchpad is:
# echo disabled > /sys/devices/platform/AMDI0010:03/i2c-1/i2c-PIXA3854:00/power/wakeup
Framework
provides a script
which creates a systemd triger to set it up after reboots. Also see
their forum post
for more discussions.
Touchpad
There are reports of the touchpad exhibiting issues (e.g. pointer does not move, two-finger scroll does not work, etc.) after waking from sleep. Disabling PS/2 mouse emulation under Advanced in the BIOS seems to resolve the issues
[19]
.
Interact with system
You can interact with your system using
framework-system
.
On 11th and 12th Gen Intel boards, you can also interact with the embedded controller using
fw-ectool-git
AUR
.
Warning
The Embedded Controller on your Framework Laptop handles low level functions, including power sequencing the system. Modifying the EC code can cause your system to not power on or boot or cause damage to the mainboard, battery, or other parts of the system or devices attached to the system.
Hardware damage caused by EC firmware modifications would not be covered under the Framework Limited Warranty.
Function keys
Key
Visible?
1
Marked?
2
Effect
Fn+Esc
Yes
Yes
Toggles Fn lock
F1
Yes
Yes
XF86AudioMute
F2
Yes
Yes
XF86AudioLowerVolume
F3
Yes
Yes
XF86AudioRaiseVolume
F4
Yes
Yes
XF86AudioPrev
F5
Yes
Yes
XF86AudioPlay
F6
Yes
Yes
XF86AudioNext
F7
Yes
Yes
XF86MonBrightnessDown
F8
Yes
Yes
XF86MonBrightnessUp
F9
Yes
Yes
Super_L+p
F10
Yes
Yes
XF86RFKill
, soft blocks wlan and bluetooth
F11
Yes
Yes
Print
F12
Yes
Yes
XF86AudioMedia
Fn+Delete
Yes
Yes
Insert
Fn+Space
Yes
Yes
Controls the keyboard backlight
Fn+b
No
No
Control_L+Break
Fn+k
No
No
Scroll_Lock
Fn+p
No
No
Pause
Fn+Left
Yes
Yes
Home
Fn+Right
Yes
Yes
End
Fn+Up
Yes
Yes
Prior/PgUp
Fn+Down
Yes
Yes
Next/PgDn
The key is visible to
xev
and similar tools.
The physical key has a symbol on it, which describes its function.
Ambient light sensor
Should work out of the box, you can check by reading
/sys/bus/iio/devices/iio\:device0/in_illuminance_raw
.
On
Plasma
(starting from version 6.6) and
GNOME
, you need to install
iio-sensor-proxy
and restart the session (or reboot, just in case). Then run
monitor-sensor
to check if it is working.
If you do not use Plasma or GNOME but still want automatic brightness control, check out
illuminanced
.
Note
This does not work if you have
blacklisted the
hid_sensor_hub
module
.
Fan speed control
You can force the fan speed to any value between 0 and 100 using this tool:
https://gitlab.howett.net/DHowett/ectool
(
fw-ectool-git
AUR
)
$ ectool --interface=lpc fanduty 1OO
to return to automatic mode use this command:
$ ectool --interface=lpc autofanctrl
In the meantime:
https://lore.kernel.org/chrome-platform/20231005160701.19987-1-dustin@howett.net/
for direct support of the EC chromium driver.
Battery control
Framework laptops have an
embedded controller
responsible for controlling a variety of functions (fans, battery, LEDs...). Settings for this EC can be changed with
fw-ectool-git
AUR
until patches are merged into the mainline kernel, or alternatively with the
framework_tool
binary in
framework-system
.
Some of the exposed settings related to battery health care
are:
# ectool chargecontrol idle
# ectool chargecontrol normal
lower
upper
chargecontrol can be set to discharge, idle, and normal. Discharge makes the system use the energy from the battery, disabling the charger; normal allows setting lower and upper limits (the battery stays in discharge mode while the battery level is between the upper and lower limits, and starts charging when the level is below the lower limit); and idle allows the system to get all the energy from the charger, essentially leaving the battery unused and avoiding any wear. This is very useful for using the laptop as an always-plugged-in device. Setting lower = upper values automatically sets idle mode after reaching the target value, while using idle keeps the battery in idle mode at the current charge level.
You can check how much current is being withdrawn from or charged into the battery with:
# cat /sys/class/power_supply/BAT0/current_now
Or under Present current in:
# ectool battery
Using:
# ectool fwchargelimit
level
seems to do the same as setting the charge limit through BIOS, which tries to maintain the battery level at the set level but is constantly charging and discharging it (no idle mode is used in this mode).
Finally, we can set a limit to the max current allowed for charging, thus enabling slow charging, with:
# ectool chargecurrentlimit
mA
Parameters set via ectool remains active until the laptop is powered off and unplugged for a few (10~) seconds, after which values go back to default.
Troubleshooting
Stuttering, flickering and periodic freeze
There are reports of stuttering, flickering and periodic freezes on the laptop. Disabling Panel Self-Refresh (as explained in
Intel graphics#Screen flickering
) has been
reported to work
. However it is helpful for battery life, so it should be left on if there are no issues.
This
can also happen
if you have installed
xf86-video-intel
instead of using modesetting, see the note at
Intel graphics#Installation
.
Two/three finger clicks
By default, the touchpad provides middle and right click by clicking on specific regions (bottom middle for middle click and bottom right corner for right click). To switch this two-finger click for right click and three-finger click for middle click, you will need to set the "click method" via
libinput
. First, find your "Touchpad" device name:
$ xinput
And then set the click method, where
device
is the name (or ID) found in the previous step:
$ xinput set-prop "
device
" "libinput Click Method Enabled" 0 1
To make this persistent, put it in a startup script. Alternatively, if using X11, one can create a custom Xorg configuration file with the appropriate settings (see
libinput#Via Xorg configuration file
).
HiDPI settings
For the 2256x1504 display using scaling factor 1,5 is suggested.
For the 2880x1920 (2.8K) display using scaling factor 2 is suggested.
For more details, see
HiDPI
.
Lowering fan noise
This applies to the Intel version only. AMD users should use power-profiles-daemon.
The handling of fans can be significantly improved by using the
thermald
service. Install the package and then you can
Start
and
Enable
the service via the
thermald.service
unit file.
Changing the brightness of the monitor does not work
See
Backlight#xbacklight returns : No outputs have backlight property
.
For Alder Lake CPUs a solution for using the backlight keys instead of the light sensor is to deactivate the ambient light sensor.
/etc/modprobe.d/framework-als-deactivate.conf
blacklist hid_sensor_hub
Reboot is required, the light sensor module will be deactivated and the backlight keys work.
Note that some minimal WMs/compositors, such as sway, do not automatically bind the brightness keys, so if you can adjust the brightness through other means but the fn keys do not work, that is likely to be the issue.
Bootmanager flashing black screen and not loading operating system
If your Framework laptop loads the
boot loader
and can recognize the
EFI system partition
on your flash drive or m.2. drive, but cannot load your boot manager (it only flashes a black screen before returning to the boot loader), you must disable
Secure Boot
.
Reboot holding
F2
. There is a bug in some versions of the BIOS that prevents the
F2
key on the builtin laptop keyboard from being recognized during reboot or power up. The workaround is to connect an external USB keyboard to the laptop an hold the
F2
key on the external keyboard while rebooting or powering up the laptop. After the laptop has entered the BIOS settings the builtin keyboard can be used and the external one can be disconnected.
Go to the Security Tab
Secure boot defaults to ON; disable it
Save changes and restart
Intel Wi-Fi 6E AX210 reset / low throughput / "Microcode SW error"
Under high stress, Wi-Fi device restarts and network speeds become abysmally slow or non-responsive until disconnecting and reconnecting to Wi-Fi network.
[20]
This issue has been observed by owners of other manufacturers' laptops (not just framework).
[21]
Disabling IEEE 802.11ax seems to be a suitable workaround for the time being.
[22]
/etc/modprobe.d/iwlwifi.conf
options iwlwifi disable_11ax=Y
Intel is aware
[23]
of the issue and there is a patch
[24]
that fix slow tx after restart, and another
[25]
that address the SW error.
Fingerprint reader device disconnected error
When the fingerprint reader has been used to enroll a fingerprint on Windows, and you later attempt to use the reader under Linux without first unenrolling your print from within Windows,
fprintd
can fail to work. In this situation, upon
enrolling with fprintd-enroll
, the command will hang, as
fprintd
has crashed.
The best way to deal with this, if you still have access to Windows, is to boot back in and unenroll your fingerprint from there. If this is not possible, you can try
a script
posted by someone on the Framework laptop forums.
Low framerate or stuttering webcam
This issue can occur if the program displaying the webcam feed is using the YUYV 4:2:2 color format. Most GUI camera applications do not allow for configuring this. Some applications that will let you configure this include
guvcview
and
obs-studio
, and they also appear to work with the default configuration.
You can also open the webcam using
vlc
with:
$ vlc v4l2:///dev/video1 --v4l2-chroma MJPG
or
mpv
with:
$ mpv --cache=no --demuxer-lavf-format=video4linux2 --demuxer-lavf-o=video_size=1920x1080,input_format=mjpeg av://v4l2:/dev/video0
12th gen Turbo-Boost on battery with tlp
This article or section is a candidate for merging with
TLP
.
Notes:
This is not specific to this hardware and should thus be on the page for the specific tool. (Discuss in
Talk:Framework Laptop 13
)
By default the 12th gen will not Turbo-Boost on battery if
tlp
is installed. This can configured in tlp's configuration.
/etc/tlp.conf
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_performance
12th gen brightness and airplane mode keys
On the 12th gen motherboards there is
a bug
[
dead link
2025-08-15—HTTP 404]
where ALS and the brightness up/down including the airplane mode keys conflict. In order to make the brightness and airplane mode keys work
in the detriment of using the ambient light sensor
,
blacklist
the
hid_sensor_hub
module.
Ethernet not working with tlp
By default tlp will power limit the framework ethernet adapter. This can be changed in tlp's configuration where
0bda:8156
is the ID of the framework ethernet adapter.
/etc/tlp.conf
USB_DENYLIST="0bda:8156"
(AMD) TLP is not advised for power management. PPD is recommended
Framework Laptop 13 AMD Ryzen 7040 Series configurations are
advised
to use
power-profiles-daemon
(PPD) instead of
TLP
, which is actively discouraged for this processor. For further discussion see
this Framework community thread
.
(AMD) Washed-out colors when using power-profiles-daemon in power-saver or balanced mode
PPD (from Linux 6.9 and PPD 0.20) makes use of ABM (Ambient Backlight Manager), which impacts display color realism in order to save energy when the device is not charging. For more information on configuring it check this
Framework community thread
.
To simply prevent PPD from adjusting this setting create a
drop-in file
with the following lines to it:
/etc/systemd/system/power-profiles-daemon.service.d/disable_panel_powersavings.conf
[Service]
ExecStart=
ExecStart=/usr/lib/power-profiles-daemon --block-action=amdgpu_panel_power
Note
This will keep the currently active ABM settings; if you want to have the highest color depth switch to the
performance
mode first.
(AMD) Flickering, artifacts and a white screen when a second monitor is connected
Note: This issue should be resolved with the latest BIOS update
When a second monitor is connected (possibly only with higher resolutions or refresh rates, and possibly only in Wayland), an issue can be triggered where graphical artifacts or a white image will appear, sometimes showing the original content in a flicker as screen content changes. This can be resolved by adding
amdgpu.sg_display=0
as a
kernel parameter
.
(AMD) GPU Lockup during graphical load (system still accessible through ssh)
Note: This issue should be resolved with the latest BIOS update and linux-firmware package.
A number of measures seemed to reduce the chances of this happening, and complete system stability was achieved by combining them. It's possible some or all of these will not be necessary as the kernel and firmware are updated.
Replacing the
linux-firmware
package with
linux-firmware-git
AUR
(make sure to check
linux-firmware-git
AUR
is newer than
linux-firmware
before doing this)
In the BIOS, set the
iGPU Configuration
to
UMA_GAME_OPTIMIZED
Setting
/sys/class/drm/card1/device/power_dpm_force_performance_level
to
high
or
low
instead of
auto
(in tlp this can be achieved with
RADEON_DPM_PERF_LEVEL_ON_AC=high
and
RADEON_DPM_PERF_LEVEL_ON_BAT=low
)
Since the use of
TLP
with an AMD CPU is not advised, setting the performance level depending on the presence of a power supply can be archived with a simple udev rule and a small script:
/etc/udev/rules.d/60-power-dpm-force-performance-level.rules
SUBSYSTEM=="power_supply" ENV{POWER_SUPPLY_TYPE}=="Mains" RUN+="/usr/local/bin/set_dpm_perf_level.sh %E{POWER_SUPPLY_ONLINE}"
/usr/local/bin/set_dpm_perf_level.sh
#!/bin/bash

#default level
DRM_PERF_LEVEL=low
#evaluate argument passed by udev
if [ "$1" = 1 ] ; then
    DRM_PERF_LEVEL=high
else
    DRM_PERF_LEVEL=low
fi

#set drm performance level
echo $DRM_PERF_LEVEL > /sys/class/drm/card1/device/power_dpm_force_performance_level
(AMD) Flickering graphical corruption on a single monitor
Providing additional memory to the iGPU appears to fix this problem, as advised by Framework Support in
this Community thread
. Follow
this guide from Framework
to enable allocating more iGPU RAM from the BIOS.
"Boot failed" when booting the Arch installer
When trying to boot the official installer the BIOS might show the error "${device} boot failed". This is because the official installation image does not support Secure Boot (
FS#53864
) and secure boot is enabled by default. This can be resolved by disabling secure boot from the BIOS menu.
Additional hardware
Docking stations
Check the
USB-C/Thunderbolt Dock Megathread
on the Framework community boards for up to date information on functioning docks.
Note
On AMD systems, only the top left and top right ports (the rear ports) have Thunderbolt 3 support, in addition to being USB 4. Make sure to plug a USB-C module in one of those two ports and connect the dock there.
External GPU
Name
Model Number
Interface
Power Delivery?
eGPU?
Notes
AKITO Node Pro Thunderbolt 3
T3NP
USB-C
Yes
No
Errors with PCIe bus expansion for eGPU, 3.16.5 kernel, 3.07 firmware
Sonnet
eGPU 550
USB-C
Yes
Yes
Tested in kernel 5.15 and above
Razer
Core
USB-C
Yes
Yes
Tested in kernel 5.15 and above
Mantiz MZ-03 Saturn Pro eGPU V2
MZ-03-EU-SG
USB-C
Yes
Yes
EU-edition, Potentially needs intel_iommu=on,Tested in kernel 5.15 and above 3.06 Firmware 3.10 and 12th gen framework
TREBLEET Mini eGPU Enclosure
JHL7440
USB-C
Yes
Yes
Tested in kernel 6.8.7 and above.
Times out decrypting LUKS partition when cold booting, works when hot-plugged. Crashes WM when unplugged, kicks to DM login
ADT-Link UT3G
ASMedia ASM2464PDX
USB-C
No
Yes
Tested in kernel 6.6.52-1-lts and above.
The eGPU works when plugged and does not crash the system when unplugged.
Bandwidth seems to be limited to PCIe 4 x1 in both Arch and Windows on 12th gen.
See also
Framework website
Framework community thread for Arch Linux
Framework community thread for battery life tuning