From bc62c23351d81e8a97389dbf72f9a5e6ef2d4864 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Thu, 7 May 2026 12:10:45 +0200 Subject: [PATCH] Asus Zenbook UX5406AA Display Backlight Fix (#5620) * Extract ASUS Expertbook B9406 display backlight fix and apply it for Zenbook ux5406aa too * Add migration for Panther Lake Asus display bakclight fix * Check if limine-update exists before executing it in the migration Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- bin/omarchy-hw-asus-zenbook-ux5406aa | 5 +++++ install/config/all.sh | 1 + .../hardware/asus/fix-asus-ptl-b9406-display.sh | 10 ++-------- .../asus/fix-asus-ptl-display-backlight.sh | 16 ++++++++++++++++ migrations/1777938402.sh | 15 +++++++++++++++ 5 files changed, 39 insertions(+), 8 deletions(-) create mode 100755 bin/omarchy-hw-asus-zenbook-ux5406aa create mode 100644 install/config/hardware/asus/fix-asus-ptl-display-backlight.sh create mode 100644 migrations/1777938402.sh diff --git a/bin/omarchy-hw-asus-zenbook-ux5406aa b/bin/omarchy-hw-asus-zenbook-ux5406aa new file mode 100755 index 00000000..9f8da811 --- /dev/null +++ b/bin/omarchy-hw-asus-zenbook-ux5406aa @@ -0,0 +1,5 @@ +#!/bin/bash + +# omarchy:summary=Detect ASUS Zenbook UX5406AA series laptops on Intel Panther Lake. + +omarchy-hw-match "ux5406aa" && omarchy-hw-intel-ptl diff --git a/install/config/all.sh b/install/config/all.sh index a7b28c02..39d5c6d1 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -51,6 +51,7 @@ run_logged $OMARCHY_INSTALL/config/hardware/intel/sof-firmware.sh run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-haptic-touchpad.sh +run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-asus-ptl-display-backlight.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 diff --git a/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh b/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh index de03d286..b77a45c4 100644 --- a/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh +++ b/install/config/hardware/asus/fix-asus-ptl-b9406-display.sh @@ -1,21 +1,15 @@ -# Display fixes for ASUS ExpertBook B9406 (Panther Lake / Xe3 iGPU). +# Display fix 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 +# ASUS ExpertBook B9406 (Panther Lake / Xe3) display workaround 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-display-backlight.sh b/install/config/hardware/asus/fix-asus-ptl-display-backlight.sh new file mode 100644 index 00000000..cc851061 --- /dev/null +++ b/install/config/hardware/asus/fix-asus-ptl-display-backlight.sh @@ -0,0 +1,16 @@ +# Display backlight fix for ASUS Panther Lake / Xe3 iGPU laptops. +# Enabled only for ExpertBook B9406 and Zenbook UX5406AA for now. +# Other models need confirmation whether the issue exists there too. +# +# 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 || omarchy-hw-asus-zenbook-ux5406aa; then + sudo mkdir -p /etc/limine-entry-tool.d + cat </dev/null +# ASUS Panther Lake display backlight fix +KERNEL_CMDLINE[default]+=" xe.enable_dpcd_backlight=1" +EOF +fi diff --git a/migrations/1777938402.sh b/migrations/1777938402.sh new file mode 100644 index 00000000..24099ee5 --- /dev/null +++ b/migrations/1777938402.sh @@ -0,0 +1,15 @@ +echo "Fix display backlight on supported ASUS Panther Lake laptops" + +EXPERTBOOK_DROP_IN="/etc/limine-entry-tool.d/asus-expertbook-b9406-display.conf" + +if omarchy-hw-asus-expertbook-b9406 || omarchy-hw-asus-zenbook-ux5406aa; then + if [[ -f $EXPERTBOOK_DROP_IN ]]; then + sudo sed -i '/xe\.enable_dpcd_backlight/d' "$EXPERTBOOK_DROP_IN" + fi + + source "$OMARCHY_PATH/install/config/hardware/asus/fix-asus-ptl-display-backlight.sh" + + if omarchy-cmd-present limine-update; then + sudo limine-update + fi +fi