report_validator rejects valid ACPI paths generated by Hardware Sniffer on Linux
Describe the issue
The acpi_path regex in Scripts/report_validator.py:24 only accepts _SB-rooted paths:
"acpi_path": r"^[\\]?_SB(\.[A-Z0-9_]+)+$",Reports exported by Hardware Sniffer on Linux contain valid ACPI paths that the validator rejects, causing "Hardware report is not valid!" and blocking the whole flow:
1. Root.System Devices.LNXTHERM.ACPI Path: Value '\_TZ_.TZS0' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'
2. Root.System Devices.PNP0C0B.ACPI Path: Value '\_TZ_.FAN0' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'
3. Root.System Devices.PNP0C14_#4.ACPI Path: Value '\AOD_' does not match pattern '^[\\]?_SB(\.[A-Z0-9_]+)+$'These come straight from the Linux kernel's firmware_node ACPI paths (Scripts/device_locator.py in Hardware-Sniffer reads /sys/.../firmware_node/path):
\_TZ_.TZS0– thermal zone (valid scope outside_SB)\_TZ_.FAN0– fan under the thermal zone\AOD_– root-level device (AMD ACPI Operation Definition, common on AMD systems)
Expected
Any syntactically valid ACPI path should pass validation: optional root \, an arbitrary root scope/device (_SB, _TZ_, or a root-level device such as AOD_), followed by .Name segments.
Suggested fix
"acpi_path": r"^[\\]?(_SB|_TZ_|[A-Z0-9_]+)(\.[A-Z0-9_]+)*$",Impact
Without this, Linux users cannot use the recommended report export flow (Hardware Sniffer CLI -e) with OpCore Simplify at all. Note this only affects System Devices on Linux reports; all PCI/GPU/USB/audio/storage paths remain _SB-rooted.
Environment
- Ubuntu Linux, Python 3.14.4
- Hardware-Sniffer
main+ OpCore-Simplifymain
Source: lzhoang2801/OpCore-Simplify