cancel
Showing results for 
Search instead for 
Did you mean: 

Rog Ally x SD card stutter issue investigation and temporary fix

w_e_l_o
Level 7

Hi all, I hope this is the right place for this.

I’m using a ROG Ally X running Bazzite, and I’ve been dealing with noticeable stutter when running games or emulators (e.g., PCSX2) from the SD card. After checking around online, it seems this isn’t unique to me and that similar behaviour has been reported on other handhelds using Realtek SD controllers. I decided to investigate the issue in more depth, and with some assistance from tools like ChatGPT I was able to narrow down what’s actually happening.

What the testing shows

The stutter appears every time the SD controller enters a deeper low-power state. After around four seconds of inactivity, the controller drops to this state. When it wakes up, it performs a 1.8 V UHS-I voltage switch. This switch frequently fails, which triggers a 1–2 second pause in SD I/O. Any game that streams data from the card will stutter exactly at these moments. The pattern repeats indefinitely.

This behaviour fits known Realtek firmware issues involving voltage-switch timing and faulty recovery from idle.

What does not fix it

I tested everything that could reasonably affect power state behaviour:

  • PCIe ASPM: The setting appears to be locked by the firmware on the Ally X. Changing Linux ASPM policy does nothing.

  • Linux runtime PM: Forcing the host controller to stay active has no effect. Forcing the card node to stay active triggers a full reinitialisation of the SD card.

  • Filesystem behaviour: Cached reads do not prevent the issue. Only actual writes to the SD card stop the voltage-switch failures.

Across all tests, the trigger is consistent: the SD controller becomes unstable after more than ~4 seconds of real inactivity. This points to an internal firmware timeout rather than anything the OS controls.

Workaround

The only reliable workaround I found was to prevent the controller from entering that deep idle state. I wrote a small script that writes 1 byte to the SD card every 3 seconds. With this running, the stutters disappear completely:

  • No voltage-switch failures

  • No I/O stalls

  • Smooth gameplay from SD

This strongly suggests the issue is inside the SD controller firmware and not related to Linux or the filesystem.

Expected behaviour

Normally, an SD host controller should:

  • Enter and exit low-power states safely

  • Perform the 1.8 V voltage switch only once during card initialization

  • Avoid reinitialising or resetting the SD device during runtime

  • Wake from idle instantly without causing multi-second stalls

The Ally X currently does not behave this way.

Request for ASUS Engineering

If possible, I would like ASUS to investigate the Realtek RTS525A firmware, specifically:

  • The idle timeout threshold

  • Handling of the 3.3 V → 1.8 V voltage switch during wake

  • Recovery sequence from deep idle

  • Prevention of repeated runtime voltage-switch cycles

  • UHS-I stability on wake

I’m happy to provide logs and repro steps if needed.

390 Views
2 REPLIES 2

w_e_l_o
Level 7

Falcon2_ROG
Customer Service Agent

@w_e_l_o 
Currently, the ROG Ally X only undergoes compatibility, firmware, and hardware verification for the factory-preinstalled Windows system. Testing has not been conducted on Linux (including third-party systems such as Bazzite). Therefore, we cannot directly determine whether behaviors encountered on non-official systems are related to hardware or firmware. For further verification, we recommend restoring the system to the Windows version and drivers provided by ASUS at factory default and retesting the SD card read/write performance under the official environment to see if the same stuttering or instability occurs. We apologize for any inconvenience caused.