OMEN-Linux-Patch-Setup/README.md

3.4 KiB
Raw Blame History

OMEN Linux ACPI / DSDT Patch Setup

This guide documents the working and reliable method to fix boot and hardware issues (notably ACPI-related) on HP OMEN laptops under Linux using a custom DSDT override.

⚠️ Prerequisite: This assumes GRUB2 is installed and functioning correctly.

If you are using NixOS, you may need to:

  • Install Linux initially using noapic or pci=nobar
  • Boot once with the same kernel parameters
  • Switch from systemd-boot to GRUB2 (Search for “NixOS bootloader” in the official documentation for exact steps.)

Once GRUB is active, follow the steps below.


Overview

The solution involves:

  • Dumping your systems native DSDT
  • Applying known fixes
  • Recompiling the table
  • Loading it via GRUB using acpi /boot/dsdt.aml

⚠️ Important: The acpi /boot/dsdt.aml line must be placed above the linux line in the GRUB entry, or the override will not be detected.


Step-by-Step Instructions

1. Install Linux

Install Linux using one of the following kernel parameters:

  • noapic
  • pci=nobar

2. Boot Linux

Boot the installed system using the same kernel parameter you used during installation. (Keep an external keyboard/mouse handy if input devices are unstable.)


3. Update the System

Update to the latest kernel available for your distribution.


4. Install ACPI Tools

Install the required ACPI/DSDT tools.

On NixOS:

coreboot-tools.x64

On most other distros:

iasl (ACPICA tools)

5. Dump Your DSDT

Extract your systems current DSDT:

cat /sys/firmware/acpi/tables/DSDT > dsdt.dat

6. Decompile the DSDT

iasl -d dsdt.dat

This will generate dsdt.dsl.


7. Apply Required Fixes

Edit dsdt.dsl and apply the changes from the following commit:

🔗 https://github.com/j0hnwang/OMEN-Transcend-16-ACPI-fix/commit/2e4feda9529c09133f5f7e9623ec11226db581

Use a text editor such as:

nano dsdt.dsl
# or
vim dsdt.dsl

8. Recompile the DSDT

iasl -tc dsdt.dsl

If successful, this will produce:

dsdt.aml

9. Copy the AML File to /boot

sudo cp dsdt.aml /boot/

10. Reboot

Reboot your system normally.


11. Modify GRUB Entry (Temporary Test)

At the GRUB menu:

  1. Highlight your Linux entry

  2. Press e to edit

  3. Add the following line above the linux line:

    acpi /boot/dsdt.aml
    
  4. Boot with Ctrl + X or F10


12. Verify Boot

If the system boots normally without noapic / pci=nobar, the patch is working.

🎉 Success


13. Optional: Speaker Fix

You can optionally apply Johns additional patch for speaker functionality (not tested here yet).


⚠️ Important Warning About Precompiled AML Files

Avoid using the precompiled dsdt.aml provided in: https://github.com/j0hnwang/OMEN-Transcend-16-ACPI-fix

Reasons:

  • That AML is compiled specifically for one laptop
  • Your ACPI tables will differ
  • Using it caused GRUB to hang and prevented disk detection

Always dump, edit, and compile your own DSDT from:

/sys/firmware/acpi/tables/DSDT

This ensures compatibility and avoids serious boot issues.