ASUS ROG Strix G531GT - ELAN1203 Trackpad Freezing for Exactly 60 Seconds

Hi all,

I’m hoping to find some human experts to help me with this technical issue. I say “human experts” since I’ve been going round and round with two AI’s, tunneling deeper and deeper into rabbit holes. I’m a new Qubes user coming from Ubuntu and know a little Linux but I’m not an expert. I wasn’t aware of the hardware compatibility list when I installed Qubes on my ASUS ROG Strix G531GT. Fortunately, it worked! … mostly … with just the touchpad having two issues.

  • Issue #1: jumping cursor kernel bug. I can see this in libinput debug-events
  • Issue #2: touchpad freezes for exactly 60 seconds and recovers. It happens in all qubes. On average, every 20 minutes, but this varies widely

The jumping cursor problem has NOT been solved. I have a workaround for the freeze but I’m hoping to find a way to fix it.

  • Laptop: ASUS ROG Strix G531GT
  • Specs: i7-9750H @ 2.6GHz / CoffeeLake-H GT2 / NVIDIA GeoForce GTX 1650 mobile / 32 Gig ram
  • Trackpad: ELAN1203 (i2c-ELAN1203:00) via i2c_hid_acpi driver
  • Qubes OS version: R4.3.0
  • Qubes Kernel: 6.19.5-1 (kernel-latest) / tried all older kernels
  • Bios: latest version

My observations:

  • Freeze is exactly 60 seconds (timed it 5 times)
  • The freeze leaves no trace in dmesg during the event
  • dmesg shows i2c_hid_acpi: IRQ triggered but there’s no data
  • dmesg shows pcieport 0000:00:1d.6 secondary bus reset during freeze events
  • running sudo modprobe -r i2c_hid_acpi && sudo modprobe i2c_hid_acpi immediately breaks out of the freeze
  • comment from AI (not me): consistent with the hardcoded HID reset timeout in i2c_hid

Things i tried that did not work:

  • ioapic_ack=new (made trackpad uncontrollable)
  • ioapic_ack=old (possibly reduced freeze frequency but freeze still occurs)
  • pci=noaer in GRUB_CMDLINE_LINUX_DEFAULT
  • no-mce in GRUB_CMDLINE_XEN_DEFAULT
  • i2c_hid.polling_mode=1
  • intremap=no_x2apic_optout
  • blacklisting i2c_hid
  • many other grub changes related to i2c, unfortunately too many to remember!

Current workaround for freeze:
A keyboard shortcut bound to sudo modprobe -r i2c_hid_acpi && sudo modprobe i2c_hid_acpi recovers the trackpad instantly when it freezes

Assessment from Claude AI (no clue if it’s correct …!)

  • the ASUS ROG G531GT ships with an ACPI/DSDT table that appears to cause i2c interrupt delivery problems under Xen. The PCIe bus reset on port 0000:00:1d.6 appears to be a consequence of the i2c_hid reset timeout rather than the root cause. BIOS is already up to date so a
    firmware fix is not available. Has anyone successfully resolved ELAN i2c_hid freeze issues in Qubes specifically, or patched a DSDT table in dom0? Any guidance appreciated.

Thank you all!

Jumping cursor screenshot: