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:
