diff --git a/bin/omarchy-hw-asus-zenbook-ux5406aa b/bin/omarchy-hw-asus-zenbook-ux5406aa new file mode 100755 index 0000000000..9f8da811d2 --- /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 bdd3f4bae6..e75549d488 100644 --- a/install/config/all.sh +++ b/install/config/all.sh @@ -50,6 +50,7 @@ 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-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 de03d286d7..b77a45c473 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 0000000000..cc85106102 --- /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 0000000000..24099ee58c --- /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