Skip to content

Add ASUS ExpertBook B9406 display and touchpad fixes for Panther Lake#5435

Open
mijuny wants to merge 1 commit intobasecamp:devfrom
mijuny:asus-expertbook-b9406-ptl-fixes
Open

Add ASUS ExpertBook B9406 display and touchpad fixes for Panther Lake#5435
mijuny wants to merge 1 commit intobasecamp:devfrom
mijuny:asus-expertbook-b9406-ptl-fixes

Conversation

@mijuny
Copy link
Copy Markdown

@mijuny mijuny commented Apr 24, 2026

Requested in #5423 after DHH confirmed the scope.

Three confirmed fixes on ASUS ExpertBook B9406CAA (Panther Lake / Xe3), matched narrowly via new omarchy-hw-asus-expertbook-b9406 (product name contains "B9406" AND omarchy-hw-intel-ptl).

AI disclaimer: Fixes found with help from Claude Code (Opus 4.7).

  • Display refresh stall: xe.enable_panel_replay=0 on kernel cmdline. Without this, both installing and running Omarchy on this laptop is very painful for most users: the live installer, plymouth/LUKS prompt, TTY, and Hyprland all freeze after the first frame drawn to the panel, and the only way to force a redraw is to flip VTs (Ctrl+Alt+F3 then F1) repeatedly. Cause: Panel Replay (Xe3-new, default-on in the xe driver) has a broken exit/wake path on this eDP panel — it latches the first-presented frame in self-refresh and never wakes for subsequent atomic commits. The older xe.enable_psr=0 knob does not cover Panel Replay.

  • Brightness control: xe.enable_dpcd_backlight=1 on kernel cmdline. Without this, display brightness can't be adjusted — intel_backlight sysfs writes succeed but produce no visible change on the panel, and the brightness keys effectively toggle the screen between a fixed level and off. Cause: 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 control.

  • Touchpad motion: libinput quirks file masking ABS_PRESSURE and ABS_MT_PRESSURE for Pixart 093A:4F05. Without this, the touchpad appears dead in Hyprland: clicks register (button events pass through) but cursor motion is silently dropped. Cause: the kernel produces perfect Precision Touchpad reports, but libinput 1.31.1 discards every motion event as "kernel bug: Touch jump detected and discarded" because the pad reports pressure values of 0-1, which trips the contact stability check. Same pattern as the UX302LA entry in libinput's shipped 50-system-asus.quirks.

New install hooks wired into install/config/all.sh alphabetically. Migration 1777040047.sh sources both install hooks and runs limine-update for existing B9406 installs.

A companion PR against omacom-io/omarchy-iso will follow, the live ISO itself still freezes on this panel without the Panel Replay fix baked into the ISO's boot cmdline, so installers hit the same wall before they can reach any of this.

Copilot AI review requested due to automatic review settings April 24, 2026 15:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds narrowly-scoped hardware workarounds for the ASUS ExpertBook B9406 (Intel Panther Lake / Xe3) to address display refresh stalls, brightness control issues, and a libinput touchpad motion regression.

Changes:

  • Add a new hardware matcher (omarchy-hw-asus-expertbook-b9406) for B9406 + Panther Lake.
  • Add install hooks to (a) drop Limine cmdline workarounds for Xe panel replay/backlight and (b) install a libinput quirks override for the Pixart touchpad.
  • Add a migration to apply the fixes on existing installs and trigger a bootloader update.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
bin/omarchy-hw-asus-expertbook-b9406 Introduces a new hardware match predicate for scoping the fixes to the intended machines.
install/config/hardware/asus/fix-b9406-display.sh Writes Limine drop-in cmdline settings to disable Panel Replay and enable DPCD backlight.
install/config/hardware/asus/fix-b9406-touchpad.sh Writes a libinput quirks override masking pressure axes for the affected Pixart touchpad.
install/config/all.sh Wires the new ASUS hardware fix hooks into the main install config sequence.
migrations/1777040047.sh Applies the new hooks during migration and attempts to update Limine for existing installs.

[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread migrations/1777040047.sh
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread migrations/1777040047.sh Outdated
Comment thread migrations/1777040047.sh Outdated
Comment thread migrations/1777040047.sh Outdated
Comment thread migrations/1777040047.sh Outdated
@mijuny mijuny force-pushed the asus-expertbook-b9406-ptl-fixes branch from eb22596 to 7c84505 Compare April 24, 2026 15:44
@mijuny
Copy link
Copy Markdown
Author

mijuny commented Apr 24, 2026

Force-pushed a cleaner migration. The existing Copilot inline comments target code from an earlier suggested commit that's no longer on the branch, please re-review against the latest commit.

Comment thread install/config/all.sh Outdated
@dhh
Copy link
Copy Markdown
Member

dhh commented Apr 24, 2026

Excellent work on this. Very clean. Would be great to see if we can find others with Asus PTL machines that aren't the ExpertBook. I suspect they'll need some of the same fixes.

Copilot AI review requested due to automatic review settings April 25, 2026 04:16
@mijuny mijuny force-pushed the asus-expertbook-b9406-ptl-fixes branch from 7c84505 to ebc78b2 Compare April 25, 2026 04:16
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread migrations/1777040047.sh Outdated
@mijuny
Copy link
Copy Markdown
Author

mijuny commented Apr 25, 2026

Excellent work on this. Very clean. Would be great to see if we can find others with Asus PTL machines that aren't the ExpertBook. I suspect they'll need some of the same fixes.

Thank you! Means a lot! I will also keep my eye on these and see if new issues emerge with new ASUS users.

@mijuny mijuny force-pushed the asus-expertbook-b9406-ptl-fixes branch from ebc78b2 to a34b171 Compare April 25, 2026 04:29
@mijuny
Copy link
Copy Markdown
Author

mijuny commented Apr 25, 2026

Excellent work on this. Very clean. Would be great to see if we can find others with Asus PTL machines that aren't the ExpertBook. I suspect they'll need some of the same fixes.

Just one more thing on this: if you have connections at ASUS, I'm happy to help test their PTL machines if they'd loan units. I can reach out to them myself too, but not sure how much weight that carries.

Comment thread migrations/1777040047.sh
@@ -0,0 +1,22 @@
echo "Apply display and touchpad fixes for ASUS ExpertBook B9406 (Panther Lake)"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering if we even need this migration? You did a heroic effort to get it running. But I suspect that most other folks installing would not have. Thus would never be able to run this migration?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants