Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions bin/omarchy-hw-asus-expertbook-b9406
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

# Detect ASUS ExpertBook B9406 series laptops on Intel Panther Lake.

omarchy-hw-match "B9406" && omarchy-hw-intel-ptl
2 changes: 2 additions & 0 deletions install/config/all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
21 changes: 21 additions & 0 deletions install/config/hardware/asus/fix-asus-ptl-b9406-display.sh
Original file line number Diff line number Diff line change
@@ -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 <<EOF | sudo tee /etc/limine-entry-tool.d/asus-expertbook-b9406-display.conf >/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
23 changes: 23 additions & 0 deletions install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh
Original file line number Diff line number Diff line change
@@ -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 <<EOF
[ASUS ExpertBook B9406 Touchpad]
Comment thread
mijuny marked this conversation as resolved.
MatchBus=i2c
MatchUdevType=touchpad
MatchVendor=0x093A
MatchProduct=0x4F05
MatchDMIModalias=dmi:*svnASUS*:pn*B9406*
AttrEventCode=-ABS_MT_PRESSURE;-ABS_PRESSURE;
EOF
fi
Loading