🚀 The Ultimate Reference Guide: Running Full Linux on HP Elite Dragonfly Chromebook (Redrix) via Submarine

[Fix] Redrix Trackpad Deadzone & Aiming Issues After Lid-Close Suspend

Hey everyone,

While recent kernel updates (6.19.9+) improved the situation, I was still getting a dead zone on the bottom half of the trackpad (lost pressure clicks and erratic aiming) after waking from sleep, but only when sleeping due to closing the lid.

Through some testing, I figured out exactly what is causing this and how to automate the fix.

The Root Cause: GUI Suspend vs. Lid Close

If you suspend via the OS power menu, the trackpad wakes up fine. The issue only happens when you close the lid.

When the lid closes, the ChromeOS Embedded Controller (EC) intercepts the physical hardware switch and alters the trackpad’s state before the Linux kernel goes to sleep. When you open the lid, the i2c_hid_acpi driver is now out of sync with the hardware, leaving the bottom sensor grid half-dead.

The Manual Fix (No Reboot Required)

If your trackpad is currently messed up, you don’t need to restart. You just need to drop and reload the driver to force a fresh hardware handshake. Run this in your terminal (your trackpad will die for 2 seconds, then come back fully functional):

Bash

sudo modprobe -r i2c_hid_acpi && sleep 2 && sudo modprobe i2c_hid_acpi

The Permanent Automatic Fix

To stop this from happening entirely, we need to sever the connection to the trackpad driver before the EC corrupts the state during a lid close, and reload it on wake.

You can automate this by creating a systemd sleep hook. Just paste this entire block into your terminal to create and enable the script:

cat << 'EOF' | sudo tee /usr/lib/systemd/system-sleep/trackpad-fix.sh > /dev/null
#!/bin/bash
case $1/$2 in
  pre/*)
    # Unbind the trackpad immediately before sleep
    modprobe -r i2c_hid_acpi
    ;;
  post/*)
    # Reload the driver clean upon wake
    modprobe i2c_hid_acpi
    ;;
esac
EOF

sudo chmod +x /usr/lib/systemd/system-sleep/trackpad-fix.sh

Once that’s applied, you can close the lid as much as you want. The system will cleanly drop the module on the way down and reload it on the way up, completely bypassing the ChromeOS EC quirk.

1 Like

Sadly, this doesn’t work for my touch pad issues, as I described in one of my previous posts. I was really hoping that it would. That would have made this project 99.9% successful. I’ve decided to just power down the device overnight. Hopefully I stumble across a fix, or better workaround at some point.

Update:

I was able to update to kernels 6.19.9 and 6.19.10 and the issues I experienced with 6.19.8 are no longer present. My original touch pad issues are still present but I’ve decided to just start powering the device down overnight, or for long periods when it won’t be used.

Has anyone tried KDE yet? Gnome is not really my style.

Also I tried to install several Arch-based distros, but failed on all of them. Has anyone successfully made it work yet?