My laptop (Lenovo Yoga Slim 7 Gen 8 14APU8) has a UEFI BIOS issue which has to be patched out using a custom SSDT table (see this post for context: https://gitlab.freedesktop.org/drm/amd/-/issues/2812) in order to use suspend, and it seems that others have gotten this to work.
The problem is that I have no idea what I am doing, and I cannot find a working guide on injecting SSDT tables for grub2.
The arch wiki has a very nice guide that I followed (https://wiki.archlinux.org/title/DSDT) to create a CPIO archive, which I successfully injected using Pop_OS/systemd-boot, but the equivalent section for grub2 does not seem to work (the suspend issue persists). Similar questions on askubuntu (Including a custom ACPI DSDT with (K)Ubuntu 18.04 (RC1)) and resources elsewhere (https://gist.github.com/lamperez/d5b385bc0c0c04928211e297a69f32d7, https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1045690) haven't helped unfortunately.
Any guide that I have found online has one of the following outcomes:
- Nothing happens. I assume the table is just not loaded in this scenario
- The default Ubuntu grub2 entry does not work, and I have to use the recovery entry to undo the changes I made (adding lines to the grub.cfg Ubuntu entry manually does this)
- The entire grub config becomes corrupt and can only be recovered using a live CD (to be fair this only happened when I used this guide https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1045690, and it is from 2012 so that's kind of on me)
Could someone please help me troubleshoot this / provide an up-to-date guide that works with Ubuntu 24.04 LTS?