Talk:Framework Laptop 16
Prevent waking up in backpack
> "You can disable keyboard and numpad module from waking your device using udev rules."
But wouldn't it also disable waking up when the laptop is open? If so, is there any way to adjust the rules to something like "disable-only-if-lid-is-closed"? I have no idea how this lid sensor works.
Also, the example rule would only work for a "Laptop 16 Keyboard Module - ANSI", but there are some more input modules available for this laptop, so it's worth mentioning it or just listing the rules for everything there: see https://usb-ids.gowdy.us/read/UD/32ac and https://github.com/FrameworkComputer/qmk_firmware/tree/framework16-keyboards/keyboards/framework Ratijas (talk) 09:58, 27 November 2024 (UTC)
- So far, I got this:
$ journalctl -ef
:...
:Nov 27 16:18:04 facility (udev-worker)[156337]: 1-4.2:1.0: /etc/udev/rules.d/90-disable-keyboard-wake.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-4/1-4.2/1-4.2:1.0/power/wakeup}="disabled", ignoring: No such file or directory
:Nov 27 16:18:04 facility (udev-worker)[156331]: 1-4.2:1.1: /etc/udev/rules.d/90-disable-keyboard-wake.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-4/1-4.2/1-4.2:1.1/power/wakeup}="disabled", ignoring: No such file or directory
:Nov 27 16:18:04 facility (udev-worker)[156293]: 1-4.2:1.3: /etc/udev/rules.d/90-disable-keyboard-wake.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-4/1-4.2/1-4.2:1.3/power/wakeup}="disabled", ignoring: No such file or directory
:Nov 27 16:18:04 facility (udev-worker)[156350]: 1-4.2:1.2: /etc/udev/rules.d/90-disable-keyboard-wake.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:08.1/0000:c5:00.3/usb1/1-4/1-4.2/1-4.2:1.2/power/wakeup}="disabled", ignoring: No such file or directory
:...
:
- and indeed there are no files under those */power/ directories. Ratijas (talk) 11:24, 27 November 2024 (UTC)
- OK, so after triggering the rules AND reconnecting the input modules it does kinda work now: the keyboard and numpad modules won't wake up the laptop; but they stay on at all times along with their backlight which is clearly not ideal.
- Also, the touchpad is not disabled by this method, and as soon as it will get flexed on by the display hard enough, the awoken keyboard would start typing random passwords in. Ratijas (talk) 11:33, 27 November 2024 (UTC)
Prevent waking - additional switches
Just wanted to share this script which disables additional wakeups. Maybe someone knows how to convert this into a nice looking udev rule.
#!/bin/bash
# tested with Debian-13 Linux-6.12 kernel on a 2024 Framework Laptop 16
# Enable this script with this Systemd unit.
# /etc/systemd/system/after-boot-and-wakeup.service
##########
# [Unit]
# Description=Runs after boot and wakeup.
# After=default.target suspend.target hybrid-sleep.target suspend-then-hibernate.target
# # systemctl get-default => graphical.target
# # Run to enable and after changing this section:
# # systemctl enable after-boot-and-wakeup.service
#
# [Service]
# Type=oneshot
# ExecStart=/etc/scripts/after_boot_and_wakeup.bash
# User=root
#
# [Install]
# WantedBy=default.target suspend.target hybrid-sleep.target suspend-then-hibernate.target
##########
# systemctl daemon-reload
# systemctl enable after-boot-and-wakeup.service
# don't wake when lid opened
echo disabled > '/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4b/PNP0C09:00/PNP0C0D:00/power/wakeup'
# disable USB Wakeup
# XHC0 is the power button and notebook keyboard
for i in XHC1 XHC2 XHC3 XHC4; do
if grep -Eq "${i}.*enabled" /proc/acpi/wakeup; then
echo "${i}" > /proc/acpi/wakeup
fi
done
# keyboard and numpad wakup
echo disabled > "$(find /sys/bus/usb/devices/usb*/ -type d -name '*:32AC:0014.*' -print -quit)"/../../power/wakeup
echo disabled > "$(find /sys/bus/usb/devices/usb*/ -type d -name '*:32AC:0018.*' -print -quit)"/../../power/wakeup
# touchpad wakeup
echo disabled > '/sys/bus/i2c/drivers/i2c_hid_acpi/i2c-PIXA3854:00/power/wakeup'
--KolAflash (talk) 20:51, 10 March 2025 (UTC)
- Unfortunately, device names don't seem to be stable. I don't have such path on Arch Linux, for example. Also, did you mean "closed"? — "# don't wake when lid opened" Ratijas (talk) 23:45, 22 May 2025 (UTC)
illumananced
Following the advice in https://github.com/mikhail-m1/illuminanced/issues/18, I set the backlight config to use
maxbacklight_file = "/sys/class/backlight/amdgpu_bl1/max_brightness" backlight_file = "/sys/class/backlight/amdgpu_bl1/brightness" illuminance_file = "/sys/bus/iio/devices/iio:device0/in_illuminance_raw"
Should this be added to the page?
--Kurtoid (talk) 20:46, 25 August 2025 (UTC)
SDDM Black Screen
One issue I encountered was that SDDM would not render anything if I had the AMD Radeon RX 7700S graphics module connected (it was still possible to interact with the login screen). I was using the AMD AI 300 Series mainboard.
I managed to solve it by forcing SDDM to use Wayland instead of X11 (SDDM#Wayland). Not sure if that's a viable solution for everyone, but I thought it could be mentioned regardless. Acuadragon100 (talk) 16:00, 21 January 2026 (UTC)
Random Freezes
I noticed that the AI 300 series would sometimes freeze randomly, usually soon after startup.
I added amdgpu.dcdebugmask=0x10 to the Kernel parameters and the issue seemed to go away.
My source: https://community.frame.work/t/xfce-desktop-freeze-on-framework-16-ryzen-ai-300/79376/5 Acuadragon100 (talk) 10:01, 10 February 2026 (UTC)