ASUS Zenbook UM5606

HardwarePCI/USB IDWorking?
TouchpadPS/2Yes
Touchscreen & stylusPS/2Yes
KeyboardPS/2Yes
GPU1002:150eYes
NPUc5:00.1Yes
Webcam3277:0059Yes
ALSYes
Bluetooth13d3:3608Yes
SD-card reader17a0:9755Yes
Audio1022:15e3Yes
Wireless14c3:7925Yes
Thunderbolt1022:151cYes
TPM1022:17e0Yes
FansYes

This page is for the ASUS Zenbook S 16 (UM5606/UM5606WA), although this may help for other 2024 ASUS laptops with the Ryzen 9 AI chips (HX 365/370) such as the ASUS Vivobook S 16 (M5606) and the ProArt P16 (H7606/H7606WV).

Installation

When booting into the Arch Linux ISO, press the e key to edit the chosen boot option and add the amdgpu.dcdebugmask=0x600 kernel parameter to prevent freezing during installation. A similar setting may or may not be needed after installation, see the Power Management section.

If you're using KDE, you need to run systemctl edit --user plasma-kwin_wayland.service and add this to the configuration:

~/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf
[Service]
Environment="KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1"

Accessibility

The UEFI may be difficult to navigate using screen readers, and it may be difficult to see the boot menu edit options when inputting the temporary kernel parameter. If necessary, you should proceed with the assistance of a sighted person.

Firmware

fwupd shows the CPU/GPU, TPM, SMU, UEFI firmware, NVMe, System firmware (which can have an attestation added), and the webcam. Most of them show as updatable, but no OTA updates have been released as of the time of writing.

There is an important UEFI update that has been posted on ASUS's website -- to apply it, download the "BIOS for ASUS EZ Flash Utility" (not "for Windows") file, extract the contents to a FAT32 formatted USB drive, reboot and go into the firmware setup, and then go into the "EZ Flash" menu. The update can be found here:

Power management

Linux ≥6.14rc1 is needed to alleviate most power management problems, including high power usage during suspend and random freezing/hanging.

Panel Self Refresh

Random freezing/hanging may persist despite upgrading to a 6.14 relase candidate kernel due to a known issue with PSR2-SU on Strix Point APUs. PSR2-SU should be disabled by default in future kernels, it can be disabled in the meantime by setting amdgpu.dcdebugmask=0x200, which will disable PSR2-SU but keep legacy PSR enabled. PSR status can be confirmed using

# cat /sys/kernel/debug/dri/1/eDP-1/psr_state
6

which should not return a non-negative value (note that compositor options and misbehaving applications may also interfere with PSR). If you continue to encounter issues, set amdgpu.dcdebugmask=0x600 as in the installation, which will entirely disable PSR.

Fan Control

The firmware supports four fan profiles: standard, quiet, high-performance, and full-performance. Out of the box, it's set to standard, but this can be changed with asus-5606-fan-state-gitAUR.

Wake from suspend

There is currently known a problem when waking up from suspend (s2idle) that the screen will freeze for about 10 seconds. This problem is currently caused by the mt7925e kernel module failing to properly re-initialize the MT7925 wireless card after resuming. This has been fixed in Linux ≥6.14-rc1].

However, as a temporary workaround for older kernel, you can unbind the device from the driver before suspending and later rebind it after resuming. This can be achieved using the following two systemd service units:

unbind-wifi-before-suspend.service
[Unit]
Description=Unbind Wi-Fi PCI device before suspend
Before=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c "echo "0000:c3:00.0" > /sys/bus/pci/drivers/mt7925e/unbind"
RemainAfterExit=false

[Install]
WantedBy=sleep.target
bind-wifi-after-resume.service
[Unit]
Description=Bind Wi-Fi PCI device after resume
After=suspend.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c "echo "0000:c3:00.0" > /sys/bus/pci/drivers/mt7925e/bind"
RemainAfterExit=false

[Install]
WantedBy=suspend.target

Audio

Linux ≥6.13 is needed to get audio fully working without sounding tinny.

Bluetooth

Linux ≥6.12 is needed to get Bluetooth working. The aptX HD, LDAC, SBC-XQ codecs over Bluetooth have been tested for and work for wireless headphones.

NPU

Currently Linux ≥6.14rc1, xrt-npu-gitAUR, and amdxdna-driver-binAUR are all needed to get the NPU to work. Tested against the AMD XDNA Linux driver's provided example on the arch-linux branch of ThatOneCalculator's fork.

GPU

The GPU pretty much all works as expected.

However, GPU screen recording with tools like wl-screenrecAUR and gpu-screen-recorderAUR don't work with mesa 24.2 or 24.3, but does work with mesa-gitAUR (as of 8 December 2024). This will be backported to 24.3 with mesa MR !32542.

ALS

The Ambient Light Sensor (ALS) works out of the box on GNOME, and on wlroots/smithay compositors with wlumaAUR and this configuration:

~/.config/wluma/config.toml
[als.iio]
path = "/sys/bus/iio/devices"
thresholds = { 0 = "night", 2 = "dark", 5 = "dim", 8 = "normal", 13 = "bright", 15 = "outdoors" }

[[output.backlight]]
name = "eDP-1"
path = "/sys/class/backlight/amdgpu_bl1"
capturer = "none"

Keyboard

Backlight

Linux ≥6.12 is needed to make keyboard backlight control work.

Function keys

Key Visible?1 Marked?2 Effect
Fn+EscNoYesEnables Fn lock
Fn+F1YesYesXF86AudioMuteToggle
Fn+F2YesYesXF86AudioLowerVolume
Fn+F3YesYesXF86AudioRaiseVolume
Fn+F4No3YesAdjusts keyboard backlight
Fn+F5YesYesXF86MonBrightnessDown
Fn+F6YesYesXF86MonBrightnessUp
Fn+F7YesScreen mirroring iconSuper+P
Fn+F8YesSmiley face iconSuper+.
Fn+F9YesYesXF86AudioMicMute
Fn+F10YesYesXF86Webcam
Fn+F12YesIcon that looks like ⫽]XF86Launch1
CopilotPartialMS Copilot logoRegisters as Super+Shift, but supposed to input Super+Shift+F23
  1. The key is visible to xev, showmethekey, screenkey, and similar tools
  2. The physical key has a symbol on it, which describes its function
  3. The key isn't visible to keycode viewer tools, but it sends a signal that D-Bus picks up on, and GNOME sees it (and shows the OSD popup). The signal looks like this:


signal time=XXXXXXXXX.XXXXXX sender=:1.44 -> destination=(null destination)    serial=XXX path=/org/freedesktop/UPower/KbdBacklight; interface=org.freedesktop.UPower.KbdBacklight; member=BrightnessChanged
   int32 3

Where the int32 can be a value between 0 and 3, denoting which of the four brightness levels the keyboard backlight has been set to (0 = off, 1 = low, 2 = medium, 3 = high).

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.