Hi all,

I recently bought a Intel i5 11400 and paired it with an Aorus B560M from Gigabyte. It came with a UEFI/BIOS F3 and when I updated to the F6 (latest made for enabling Intel PTT by default for Windows 11) I found a bunch of ACPI table problems.

The first one already was present in my F3 UEFI/BIOS and it's "classic": FADT doesn't declare support for PCIe ASPM. Even with the BIOS/UEFI settings enabled, the table pass to the OS that the system doesn't support it. I don't know why. I know, though, that decompiling the FADT binary table to ASL (Acpi Source Language) let's me change that hex code to enable the support. Just need to recompile in the AML (binary - Acpi machine language).

The second one is a bunch of errors from pointers in the early tables. I didn't even try to touch it (yet). From my new found knowledge, this is the basic structure of the tables, in loading order is:

RSDP (Root table. Non-modifiable).XSDT (successor for the RSDT [acpi 1.0] with 64-bit support. Non-modifiable).FACP (alias for the FADT table. Indicates the power capabilities and call 3 other tables).MADT/APIC (I/O controllers), DSDT (i/o mappings) and multiple SSDT (dynamic or statics; complements of i/o mappings for specific devices for the DSDT table).

My bet is that with windows 11, the tables got all messed up to cater to MS bullshit stuff. Since the kernel has an "upgrade" feature, I thought of correcting the tables and upgrading them in the UEFI. Has anyone done that? The following link will lead to the Kernel.org doc page that presents the function. I am still learning C, but I guess I could rewrite all the tables that I may "upgrade" to actually make them clean and ready for Linux with C and ASL.

https://www.kernel.org/doc/html/latest/admin-guide/acpi/initrd_table_override.html

In suma: Has anyone here attempted to upgrade or use a substitute in the initramfs? Is there some resource for the procedure in Arch's Wiki that I missed, or outside the wiki? ACPI is in rev 6.1 and MS lobbies to keep things back in 2.0 still.

EDIT: Adding some resources.

https://wiki.osdev.org/RSDP https://wiki.osdev.org/XSDT https://wiki.osdev.org/FADT https://01.org/linux-acpi/documentation/overriding-dsdt

submitted by /u/Ohlav
[link] [comments]