testsAndMisc/linux_configuration/fixes
Krzysztof kuhy Rudnicki 7e2d78c7db Add the G29 shifter HID-BPF fix (1st/3rd engage reliably)
Live on this host since 2026-09-11 but never committed. The wheel firmware
decodes the shifter's hall sensor itself and this unit's top row rests at
Y 180-193, below the ~195 engage threshold, so 1st/3rd often did not
register. g29_shifter.bpf.c re-decodes those two gates from the raw X/Y
bytes with hysteresis (engage >= 160, release <= 140) and ORs the bit in
before hid-logitech parses the report; it never clears a bit, so the
firmware's working gates cannot regress. fix_g29_shifter.sh builds,
attaches and installs it persistently (udev-hid-bpf rule + a systemd
safety-net unit pulled in on every re-enumeration); g29_shifter_capture.py
records and grades raw captures per gate.

Two files were over the 250-line cap: the test file is split at the
record/CLI boundary with the report builders moved into a conftest fixture
(the naming hook allows only test_*.py in tests/), and the grader's
docstrings are tightened. No behaviour change to the installed fix.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SS8M5wk88nJTXxDWz61KKk
2026-09-14 22:12:31 +02:00
..
lib Read the load average through LOADAVG_FILE so the probe tests are host-independent 2026-09-14 21:55:06 +02:00
systemd Add the G29 shifter HID-BPF fix (1st/3rd engage reliably) 2026-09-14 22:12:31 +02:00
diagnose_arch_performance.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
diagnose_pacman_hook_stall.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_anki.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_arch_performance.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_bluetooth.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_controller.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_flutter_git_env.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_g29_shifter.sh Add the G29 shifter HID-BPF fix (1st/3rd engage reliably) 2026-09-14 22:12:31 +02:00
fix_stepmania.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_systemctl.sh Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 20:50:19 +02:00
fix_thorium.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_ubuntu_performance.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_virtualbox.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_waifu2x.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
fix_yay_aur_database.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
g29_shifter_capture.py Add the G29 shifter HID-BPF fix (1st/3rd engage reliably) 2026-09-14 22:12:31 +02:00
g29_shifter.bpf.c Add the G29 shifter HID-BPF fix (1st/3rd engage reliably) 2026-09-14 22:12:31 +02:00
install_new_lg4ff.sh Add G29 force-feedback doc and a new-lg4ff installer 2026-09-14 21:43:28 +02:00
migrate_hosts_guard_to_guard_lib.sh Extract the hosts blocker into its own repo 2026-08-23 20:30:18 +02:00
nvidia_troubleshoot.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00
optimize_arch_desktop.sh Dissolve linux_configuration/scripts/ and single_use/ 2026-08-23 18:53:30 +02:00