Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
omarchy restart trackpad silently does nothing on elan_i2c touchpads
Reported by kianlabs · filed Sep 27, 2026 · open at source
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- AreaOutside the audited area· Decided by agents · verified
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Decided by agents and verified by a second, independent agent — see the decision.
Original report
omarchy restart trackpad silently does nothing on elan_i2c touchpads
/usr/bin/omarchy-restart-trackpad only iterates over devices bound to thei2c_hid_acpi driver. Laptops whose touchpad is bound to any other I2C HID
driver (e.g. elan_i2c, common on ASUS models) are not reset at all, and the
command still exits 0 without printing anything — so it looks like it worked.
Steps to reproduce
- On a laptop with an ELAN touchpad bound to
elan_i2c:
$ ls -1 /sys/bus/i2c/drivers/elan_i2c/ | grep '^i2c-'
i2c-ELAN1000:00- Note there is nothing under the driver the script looks at:
$ ls -1 /sys/bus/i2c/drivers/i2c_hid_acpi/ | grep '^i2c-'
(empty)- Run the command:
$ omarchy restart trackpad
$ echo $?
0 It prints no output at all (not even Done) and exits 0.
4. The device is still bound, i.e. nothing was reset:
$ ls -1 /sys/bus/i2c/drivers/elan_i2c/ | grep '^i2c-'
i2c-ELAN1000:00Why it happens
for dev in /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*; do
[[ -e $dev ]] || continue
...
echo "Done"
doneWhen the glob does not match, $dev is the literal unexpanded pattern, [[ -e $dev ]]
fails and the loop continues. Since the echo "Done" is inside the loop, the
command produces zero output and exits 0, which reads as success.
Expected behavior
Reset the touchpad regardless of which I2C HID driver it is bound to, and fail
loudly (non-zero exit) when no device is found, instead of silently succeeding.
The manual equivalent that does work on this machine:
echo "i2c-ELAN1000:00" | sudo tee /sys/bus/i2c/drivers/elan_i2c/unbind
sleep 1
echo "i2c-ELAN1000:00" | sudo tee /sys/bus/i2c/drivers/elan_i2c/bindSuggested fix: discover the bound device via its sysfs path instead of assumingi2c_hid_acpi, e.g. by looking the touchpad's phys/uniq up under/sys/class/input/*/device, or by iterating over all of/sys/bus/i2c/drivers/*/i2c-* that belong to an input device.
Context
This came up while debugging an unrelated touchpad problem, which made the
silent success actively misleading. Worth noting the same script also has anintel_quicki2c branch guarded by lsmod | grep -q, which is fine, but the
primary loop should not fail open.
System
- Omarchy 4.0.4-1
- Arch, kernel 7.2.5-3-omarchy
- Hyprland 0.56.2
- ASUS GL752VL
- Touchpad: ELAN ELAN1000, bound to
elan_i2coni2c-1 - Intel HD Graphics 530 (i915), NVIDIA GTX 965M
Diagnostics
Relevant kernel lines:
elan_i2c i2c-ELAN1000:00: Elan Touchpad: Module ID: 0x0005, Firmware: 0x0004
input: Elan Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN1000:00/input/input8hyprctl devices lists the device and omarchy hw touchpad printselan-touchpad, so the compositor enumerates it normally; the issue is purely
that the reset helper does not reach it.
View raw text
## `omarchy restart trackpad` silently does nothing on `elan_i2c` touchpads `/usr/bin/omarchy-restart-trackpad` only iterates over devices bound to the `i2c_hid_acpi` driver. Laptops whose touchpad is bound to any other I2C HID driver (e.g. `elan_i2c`, common on ASUS models) are not reset at all, and the command still exits `0` without printing anything — so it looks like it worked. ### Steps to reproduce 1. On a laptop with an ELAN touchpad bound to `elan_i2c`: ``` $ ls -1 /sys/bus/i2c/drivers/elan_i2c/ | grep '^i2c-' i2c-ELAN1000:00 ``` 2. Note there is nothing under the driver the script looks at: ``` $ ls -1 /sys/bus/i2c/drivers/i2c_hid_acpi/ | grep '^i2c-' (empty) ``` 3. Run the command: ``` $ omarchy restart trackpad $ echo $? 0 ``` It prints **no output at all** (not even `Done`) and exits `0`. 4. The device is still bound, i.e. nothing was reset: ``` $ ls -1 /sys/bus/i2c/drivers/elan_i2c/ | grep '^i2c-' i2c-ELAN1000:00 ``` ### Why it happens ```bash for dev in /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*; do [[ -e $dev ]] || continue ... echo "Done" done ``` When the glob does not match, `$dev` is the literal unexpanded pattern, `[[ -e $dev ]]` fails and the loop `continue`s. Since the `echo "Done"` is *inside* the loop, the command produces zero output and exits `0`, which reads as success. ### Expected behavior Reset the touchpad regardless of which I2C HID driver it is bound to, and fail loudly (non-zero exit) when no device is found, instead of silently succeeding. The manual equivalent that does work on this machine: ```bash echo "i2c-ELAN1000:00" | sudo tee /sys/bus/i2c/drivers/elan_i2c/unbind sleep 1 echo "i2c-ELAN1000:00" | sudo tee /sys/bus/i2c/drivers/elan_i2c/bind ``` Suggested fix: discover the bound device via its sysfs path instead of assuming `i2c_hid_acpi`, e.g. by looking the touchpad's `phys`/`uniq` up under `/sys/class/input/*/device`, or by iterating over all of `/sys/bus/i2c/drivers/*/i2c-*` that belong to an input device. ### Context This came up while debugging an unrelated touchpad problem, which made the silent success actively misleading. Worth noting the same script also has an `intel_quicki2c` branch guarded by `lsmod | grep -q`, which is fine, but the primary loop should not fail open. ### System - Omarchy 4.0.4-1 - Arch, kernel 7.2.5-3-omarchy - Hyprland 0.56.2 - ASUS GL752VL - Touchpad: ELAN ELAN1000, bound to `elan_i2c` on `i2c-1` - Intel HD Graphics 530 (i915), NVIDIA GTX 965M ### Diagnostics Relevant kernel lines: ``` elan_i2c i2c-ELAN1000:00: Elan Touchpad: Module ID: 0x0005, Firmware: 0x0004 input: Elan Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN1000:00/input/input8 ``` `hyprctl devices` lists the device and `omarchy hw touchpad` prints `elan-touchpad`, so the compositor enumerates it normally; the issue is purely that the reset helper does not reach it.
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
- Out of scopeDecided by agents · verified · 2026-10-09 19:14 UTC