File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ # Detect ASUS ExpertBook B9406 series laptops on Intel Panther Lake.
4+
5+ omarchy-hw-match " B9406" && omarchy-hw-intel-ptl
Original file line number Diff line number Diff line change @@ -47,6 +47,8 @@ run_logged $OMARCHY_INSTALL/config/hardware/intel/fix-wifi7-eht.sh
4747
4848run_logged $OMARCHY_INSTALL /config/hardware/dell/fix-xps-haptic-touchpad.sh
4949
50+ run_logged $OMARCHY_INSTALL /config/hardware/asus/fix-asus-ptl-b9406-display.sh
51+ run_logged $OMARCHY_INSTALL /config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh
5052run_logged $OMARCHY_INSTALL /config/hardware/asus/fix-audio-mixer.sh
5153run_logged $OMARCHY_INSTALL /config/hardware/asus/fix-mic.sh
5254
Original file line number Diff line number Diff line change 1+ # Display fixes for ASUS ExpertBook B9406 (Panther Lake / Xe3 iGPU).
2+ #
3+ # Panel Replay is Xe3-new, default-on in the xe driver, and has a broken
4+ # exit/wake path on this eDP panel: the panel latches the last-presented
5+ # frame in self-refresh and never wakes for subsequent atomic commits, so
6+ # the screen only updates on a full modeset (e.g. a VT switch). The older
7+ # xe.enable_psr=0 knob does not cover Panel Replay.
8+ #
9+ # The panel's EDID on eDP-1 reads as empty, so xe takes backlight type from
10+ # VBT (which says PWM) but the panel actually wants DPCD AUX backlight.
11+ # Without xe.enable_dpcd_backlight=1, intel_backlight sysfs writes succeed
12+ # but produce no visible change; brightness is effectively binary.
13+
14+ if omarchy-hw-asus-expertbook-b9406; then
15+ sudo mkdir -p /etc/limine-entry-tool.d
16+ cat << EOF | sudo tee /etc/limine-entry-tool.d/asus-expertbook-b9406-display.conf >/dev/null
17+ # ASUS ExpertBook B9406 (Panther Lake / Xe3) display workarounds
18+ KERNEL_CMDLINE[default]+=" xe.enable_panel_replay=0"
19+ KERNEL_CMDLINE[default]+=" xe.enable_dpcd_backlight=1"
20+ EOF
21+ fi
Original file line number Diff line number Diff line change 1+ # Touchpad quirks for ASUS ExpertBook B9406 (Pixart 093A:4F05 on i2c-hid).
2+ #
3+ # The kernel produces perfect Precision Touchpad reports but libinput's
4+ # jump-detection heuristic discards every motion event as "kernel bug:
5+ # Touch jump detected and discarded" because the pad reports pressure
6+ # values of 0-1, confusing the contact stability check. Button events
7+ # still pass, so clicks register but motion does not.
8+ #
9+ # Mask the pressure axes with a quirks override, same pattern as the
10+ # Asus UX302LA entry in libinput's shipped 50-system-asus.quirks.
11+
12+ if omarchy-hw-asus-expertbook-b9406; then
13+ sudo mkdir -p /etc/libinput
14+ sudo tee /etc/libinput/asus-expertbook-b9406.quirks > /dev/null << EOF
15+ [ASUS ExpertBook B9406 Touchpad]
16+ MatchBus=i2c
17+ MatchUdevType=touchpad
18+ MatchVendor=0x093A
19+ MatchProduct=0x4F05
20+ MatchDMIModalias=dmi:*svnASUS*:pn*B9406*
21+ AttrEventCode=-ABS_MT_PRESSURE;-ABS_PRESSURE;
22+ EOF
23+ fi
Original file line number Diff line number Diff line change 1+ echo " Apply display and touchpad fixes for ASUS ExpertBook B9406 (Panther Lake)"
2+
3+ source " $OMARCHY_PATH /install/config/hardware/asus/fix-asus-ptl-b9406-display.sh"
4+ source " $OMARCHY_PATH /install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh"
5+
6+ if omarchy-hw-asus-expertbook-b9406; then
7+ DROP_IN=" /etc/limine-entry-tool.d/asus-expertbook-b9406-display.conf"
8+ DEFAULT_LIMINE=" /etc/default/limine"
9+
10+ # Keep /etc/default/limine in sync with the drop-in. Install-time this is
11+ # handled by install/login/limine-snapper.sh; migrations have to do it
12+ # themselves. Idempotent: skip if the drop-in's header comment is already
13+ # present (a unique-to-this-drop-in marker, so it doesn't collide with
14+ # manual cmdline tweaks a user may have made).
15+ HEADER=' # ASUS ExpertBook B9406 (Panther Lake / Xe3) display workarounds'
16+ if [[ -f $DROP_IN && -f $DEFAULT_LIMINE ]] && \
17+ ! grep -Fxq " $HEADER " " $DEFAULT_LIMINE " ; then
18+ sudo tee -a " $DEFAULT_LIMINE " > /dev/null < " $DROP_IN "
19+ fi
20+
21+ sudo limine-update
22+ fi
You can’t perform that action at this time.
0 commit comments