ACPI explorer
FirmwareLens
A browser tool for reading HP OMEN (and other) ACPI tables without treating a raw DSDT like a novel. Open a disassembled .dsl / .asl, browse methods and strings, follow xrefs and call graphs, and poke arguments when you need to understand what firmware is actually doing - especially the parts HP never documented for Linux.
Why it exists
OMEN firmware is written for Windows. On Linux you get missing keys, lying thermal methods, and SSDTs that only make sense if you already know the call graph. Text editors and grep work until the table is huge and every interesting path is three Methods deep. FirmwareLens is a focused reader for that dump: find the method, see who calls it, understand the access pattern, then go patch with a plan instead of vibes.
What it does
Browse the dump
Load a .dsl or .asl table and jump between Methods, Device scopes, strings, and embedded UUIDs without drowning in a 20k-line scroll.
Annotated pseudocode
Read AML as something closer to readable control flow - useful when HP’s DSDT is a wall of Store() and CondRefOf().
Xrefs and call graphs
See who calls a method, what fields it touches, and how a path fans out - so you can tell a real fix from a drive-by rename.
Symbolic poking
Feed Arg0 / Arg1 and step a method when you need a gut check before you ship a patch into an ISO or initrd.
How it fits the stack
Get a table
Dump ACPI on the machine (acpidump, Windows tools, or the OmenPrep / patcher flow). You want the DSDT or SSDT as .dsl / .asl, not a mystery binary.
Open it in Lens
Drop the file into FirmwareLens in the browser. No install. Pick a method or search for a string / UUID HP left lying around.
Patch with intent
When you know what to change, use the online ACPI patcher (or your own iasl workflow) to apply and recompile. Lens is the map; the patcher is the wrench.
Typical flow
Dump → disassemble → explore in Lens → patch in the browser tool (or iasl locally) → bake into install media or an override.
From dump to understanding
Lens does not replace iasl or the patcher. It sits in the middle so you are not guessing which \_SB.PCI0… path actually matters on your board.
# example: you already have a .dsl # open it in FirmwareLens, then patch here # → /acpi-patcher
What it is not
Not an official HP tool, and not a one-click “fix my BIOS.” It will not invent support HP left out of firmware. It helps you read what shipped on the machine so community patches stay grounded. Tables stay in your browser session unless you choose to export them elsewhere.
More
Ready to change a table after you understand it? Use the online ACPI patcher. Stuck on a model-specific mess? Ask on Discord.