Jump to content

# ASUS Zenbook UM5606

From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Touchpad | PS/2 | Yes
Touchscreen & stylus | PS/2 | Yes
Keyboard | PS/2 | Yes
GPU | `1002:150e` | Yes
NPU | `1022:17f0` | Yes
Webcam | `3277:0059` | Yes
ALS |  | Yes
Bluetooth | `13d3:3608` | Yes
SD-card reader | `17a0:9755` | Yes
Audio | `1022:15e3` | Yes
Wireless | `14c3:7925` | Yes
Thunderbolt | `1022:151c` | Yes
TPM | `1022:17e0` | Yes
Fans |  | Yes

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 `e` 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 #Power management.

## 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: [1]

## 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 release 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. `amdgpu.sg_display=0` may also need to be set if you encounter issues with external monitors.

The factual accuracy of this article or section is disputed.

Reason: The KDE bug is reported to be closed, is this still an issue? (Discuss in Talk:ASUS Zenbook UM5606)

If you are using KDE, you need to edit the `plasma-kwin_wayland.service` user unit and add this to the configuration:

    ~/.config/systemd/user/plasma-kwin_wayland.service.d/override.conf

    [Service]
    Environment="KWIN_DRM_DISABLE_TRIPLE_BUFFERING=1"

### 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.

## Wireless

Wireless may be unstable. If you're experiencing issues, switch from `wpa_supplicant` to iwd, then create this file and reload units:

    /etc/systemd/system/iwd.service.d/dependencies.conf

    [Unit]
    After=sys-devices-pci0000:00-0000:00:02.3-0000:c3:00.0-net-wlan0.device
    Wants=sys-devices-pci0000:00-0000:00:02.3-0000:c3:00.0-net-wlan0.device

Note: This workaround may not be necessary on all systems. On the ASUS ProArt P16, for example, using `iwd` without this device-specific dependency works reliably without delaying the boot process. Also, this device path is specific to the ASUS Zenbook S 16 and will likely be different on other models. If you need to add a similar dependency, you must determine your own device-specific path using `readlink -f /sys/class/net/wlan0`.

## 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.

## 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"

## Function keys

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`Fn+Esc` | No | Yes | Enables Fn lock
`Fn+F1` | Yes | Yes | `XF86AudioMuteToggle`
`Fn+F2` | Yes | Yes | `XF86AudioLowerVolume`
`Fn+F3` | Yes | Yes | `XF86AudioRaiseVolume`
`Fn+F4` | No3 | Yes | Adjusts keyboard backlight
`Fn+F5` | Yes | Yes | `XF86MonBrightnessDown`
`Fn+F6` | Yes | Yes | `XF86MonBrightnessUp`
`Fn+F7` | Yes | Screen mirroring icon | `Super+P`
`Fn+F8` | Yes | Smiley face icon | `Super+.`
`Fn+F9` | Yes | Yes | `XF86AudioMicMute`
`Fn+F10` | Yes | Yes | `XF86Webcam`
`Fn+F12` | Yes | Icon that looks like ⫽] | `XF86Launch1`

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

- Official tech specs
- UEFI updates
- HW Probe
- DSDT dump
- BNieuwenhuizen's ongoing research

Category:

- ASUS

Hidden category:

- Pages or sections flagged with Template:Accuracy