diff --git a/bin/omarchy-hw-asus-expertbook-b9406 b/bin/omarchy-hw-asus-expertbook-b9406 new file mode 100755 index 0000000000..fa936a7023 --- /dev/null +++ b/bin/omarchy-hw-asus-expertbook-b9406 @@ -0,0 +1,5 @@ +#!/bin/bash + +# Detect ASUS ExpertBook B9406 series laptops on Intel Panther Lake. + +omarchy-hw-match "B9406" && omarchy-hw-intel-ptl diff --git a/install/config/all.sh b/install/config/all.sh index 6926719579..526449fa2b 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -47,6 +47,8 @@ run_logged $OMARCHY_INSTALL/config/hardware/intel/fix-wifi7-eht.sh run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-haptic-touchpad.sh +run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-asus-ptl-b9406-display.sh +run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-audio-mixer.sh run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-mic.sh diff --git a/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh b/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh new file mode 100644 index 0000000000..de03d286d7 --- /dev/null +++ b/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh @@ -0,0 +1,21 @@ +# Display fixes for ASUS ExpertBook B9406 (Panther Lake / Xe3 iGPU). +# +# Panel Replay is Xe3-new, default-on in the xe driver, and has a broken +# exit/wake path on this eDP panel: the panel latches the last-presented +# frame in self-refresh and never wakes for subsequent atomic commits, so +# the screen only updates on a full modeset (e.g. a VT switch). The older +# xe.enable_psr=0 knob does not cover Panel Replay. +# +# The panel's EDID on eDP-1 reads as empty, so xe takes backlight type from +# VBT (which says PWM) but the panel actually wants DPCD AUX backlight. +# Without xe.enable_dpcd_backlight=1, intel_backlight sysfs writes succeed +# but produce no visible change; brightness is effectively binary. + +if omarchy-hw-asus-expertbook-b9406; then + sudo mkdir -p /etc/limine-entry-tool.d + cat </dev/null +# ASUS ExpertBook B9406 (Panther Lake / Xe3) display workarounds +KERNEL_CMDLINE[default]+=" xe.enable_panel_replay=0" +KERNEL_CMDLINE[default]+=" xe.enable_dpcd_backlight=1" +EOF +fi diff --git a/install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh b/install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh new file mode 100644 index 0000000000..d39da070bf --- /dev/null +++ b/install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh @@ -0,0 +1,23 @@ +# Touchpad quirks for ASUS ExpertBook B9406 (Pixart 093A:4F05 on i2c-hid). +# +# The kernel produces perfect Precision Touchpad reports but libinput's +# jump-detection heuristic discards every motion event as "kernel bug: +# Touch jump detected and discarded" because the pad reports pressure +# values of 0-1, confusing the contact stability check. Button events +# still pass, so clicks register but motion does not. +# +# Mask the pressure axes with a quirks override, same pattern as the +# Asus UX302LA entry in libinput's shipped 50-system-asus.quirks. + +if omarchy-hw-asus-expertbook-b9406; then + sudo mkdir -p /etc/libinput + sudo tee /etc/libinput/asus-expertbook-b9406.quirks >/dev/null <