Why won't my HP Envy x360 laptop with Ryzen 7 3700U boot Ubuntu live CD?
[The below is valid as of Aug 2019. It seems it is valid for systems with the new Ryzen 3000U (not to be confused with various probems on systems with Ryzen 2000U). New HP, DELL and probably Lenovo devices are affected by this BIOS bug. This is bug in BIOS, not Linux kernel. This might be fixed with kernels coming with Ubuntu 19.10]
Yes, I had the same problem with brand new HP ENVY x360 with Ryzen 7 3700U. Thanks to HP ingenious engineering, the BIOS has messed-up ACPI configuration tables.
Note: DO NOT delete pre-installed windows. You will need them to extract ACPI tables from your notebook's BIOS. Because Ubuntu in non-ACPI mode cannot see ACPI tables in BIOS, thus cannot extract them.
1) Simple solution: Boot ubuntu with turned off LAPIC and ACPI support (for me, olny Ubuntu 18.04.0 worked, no other version can boot as it seems. You can try other distro versions with other kernel versions):
- In your BIOS, enable "Legacy support"
- With your USB drive, interrupt POST process during HP logo by pressing F9. You should get to the blue Boot BIOS boot devices screen
- Select "USB Device - 0.00" ( so no UEFI!)
- You should now get booted to the violet Ubuntu boot screen, with a keyboard icon at the bottom. This is legacy (no UEFI) boot screen.
- In Ubuntu boot menu, press F6 and change your boot paramenetrs to "nolapic acpi=off i8042.nopnp"
This should boot (and also install) Ubuntu, but "half" of the HW support (including CPU multicore support) is disabled with these settings. Still, it should get your Ubuntu booted and installed at least...
2) Complicated - but preferred and long term - solution (simplified): boot kernel with modified ACPI configuration in order to enable ACPI mode in Ubuntu:
- In Windows, extract your ACPI tables from BIOS and store them somewhere safe
- Decompile extracted FACP ACPI config table, modify value "reduced hardware support" from 1 to 0
- Recompile your modified FACP table back to binary FACP.AML format
- Create CPIO archive with this FACP.aml and provide it to your initrd kernel.
This should make your kernel boot with modified ACPI configuration, and full ACPI enabled. This is required to use a full potential of the laptop. This trick will also work on kernels 5.x.
It is ok to go for option 1), then once installed on SSD, you can try option 2) and update your installed kernel(s) with modified ACPI configs and remove the "nolapic acpi=off" boot modifiers to see if it worked :)
In detail, the above is discussed here: https://bugzilla.kernel.org/show_bug.cgi?id=203431
Note1: It seems that (probably all?) kernels 5.x have already attached cpio archive with "AuthenticAMD.bin" firmware. This file must be preserved within cpio archive together with you modified FACP.aml, otherwise kernels 5.x will crash booting even with modified FACP.aml.
Note2: Touchscreen and (almost) full ACPI support works on my device ONLY when I have "Legacy support = Enabled" in BIOS and Ubuntu is installed (and booted) in UEFI mode.
Note3: Kernels 5.2.x and newer boot with these modifications too, but RealTek wifi driver support is being re-worked in new kernels now, so not working on these new HP ENVY devices for now...
What works: Almost everything: Ryzen on 4c/8t, temperature monitoring, CPU power governors, touchpad, keyboard, BlueTooth, Wifi, webcam, sound speakers, mic, 3D HW acceleration (yes - gaming!), HDMI video+audio out, HDMI out via USB-C,touchsreen...
What does not work: internal motion sensors (kernel driver is promised by AMD during August), suspend&resume -> ACPI needs more work. I' using hibernation to disk instead...
Let me know if you have issues or need help, I will try to help directly.
(Written from HP Envy x360 15-ds0005 6WE51EA :) )
There was a new BIOS update released F12 Rev. A wonder if this fixes the issues?
Ubuntu 19.10 beta works for me on an HP ENVY x360 15 (15-ds0502na). This model has Ryzen 7 3700, Radeon Vega 10 GPU, 16GB RAM and 512GB SSD.
I was unable to get 19.04 to boot into a graphical environment at all, including trying overriding the ACPI tables.