These instructions are meant for a system with EFI, systemd-boot and deb based packages. Adjust them to your needs.
Reference: https://www.kernel.org/doc/Documentation/acpi/initrd_table_override.txt
See also https://github.com/lbschenkel/acer-sf314_43-acpi-patch
ACPICA tools: https://acpica.org/downloads
sudo apt install acpica-tools
Extract the acpi tables
mkdir acpi && cd acpi
sudo acpidump -b
Disassemble the tables
iasl -d dsdt.dat
Modify or patch the tables
vim dsdt.dsl
Assemble the custom tables
iasl -sa dsdt.dsl
Generate the cpio file for initrd
cd ..
mkdir -p kernel/firmware/acpi
cp acpi/dsdt.aml kernel/firmware/acpi/
find kernel | cpio -H newc --create > patched_acpi_tables.cpio
Grub does not require a cpio file, you can directly provide the dsl file.
SSDT tables add missing features to the existing ACPI, without requiring disassembling. They are created using the same tools and procedure.
Assemble the custom tables
iasl -sa ssdt.dsl
Generate the cpio file for initrd
cd ..
mkdir -p kernel/firmware/acpi
cp acpi/ssdt.aml kernel/firmware/acpi/
find kernel | cpio -H newc --create > patched_acpi_tables.cpio
Copy the cpio file with the custom tables where it can be addressed by the EFI boot
sudo mkdir /boot/efi/EFI/acpi
sudo cp patched_acpi_tables.cpio /boot/efi/EFI/acpi/
Edit the entry sudo vim /boot/efi/loader/entries/Pop_OS-current.conf
linux /EFI/...
initrd /EFI/acpi/patched_acpi_tables.cpio
initrd /EFI/Pop_OS-.../initrd.img
options ...
@lamperez Thanks for your contribution here. Wondering your thoughts on whether this type of fix would work for my ASUS Zenbook Pro 16X OLED (UX7602ZM) with similar issues.
This output is what leads me to believe my system is using the same hardware as your UX3402:
However, when following your steps for modifying my ACPI tables, I find that my
dsdt.dsl
file doesn't contain any references to "SPK1" as yours must. Thus, I don't know how to proceed since I have never attempted something like this.I am also aware that the changes to
linux/sound/pci/hda/patch_realtek.c
now included in the latest kernel versions do not include my model number presumably because this issue has primarily been with regards to the UX/UM3402. Specifically these lines:I am thinking that even if I were able to patch my ACPI tables as you've been able to do, the lack of a quirk for my specific model would still require me to patch the kernel myself, which I would like to avoid.
I would appreciate any thoughts/help you might be willing to offer.