5

I recently bought an HP Envy x360 with a

  • Ryzen 7 3700U processor,
  • 16GB of RAM and a
  • 512GB NVME SSD.

I want to install Linux on it, but both Ubuntu, Manjaro, and plain Arch linux won't boot. I can get to the grub menu, but once I select the option to boot, the screen goes black and nothing happens.

By the way, I'm trying to boot Ubuntu 19.04, Manjaro 18.04, and Arch 08.01.2019 and yes, I've disabled Secure Boot already.

Any ideas? Is it possibly an issue with the kernel version? Or maybe a boot argument I need to pass through grub?

  • How did you set up your USB? – schrodigerscatcuriosity Aug 1 '19 at 19:40
  • I used rufus. With the Partition scheme = GPT; Target system = UEFI (non CSM); File system FAT32 (Default); and Cluster size = 8192 bytes (Default); – SuperTal3 Aug 1 '19 at 19:55
  • 1
    getting to the grub menu when booting the USB means the USB was made correctly if made from the .iso file. seems to me like lack of video chip support. – Skaperen Aug 1 '19 at 20:06
  • I was wondering if maybe there was a command like nouveau.nomodeset=0 that I needed to do, but for AMD? – SuperTal3 Aug 1 '19 at 20:11
6

[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 :) )

| improve this answer | |
  • Thanks for the thorough answer! I'll check this out tomorrow! – SuperTal3 Aug 7 '19 at 1:06
  • 1
    As it seams, the easiest way is to 1) extract ACPI tables using windows. Then 2) install the ubuntu on local SSD with "nolapic acpi=off" mode. Then 3) boot your Ubuntu from local SSD and update your kernel with your modified acpi table. Then 4) remove "nolapic acpi=off" parameters from GRUB boot configuration. After that, 5) enjoy full power of Ryzen 7 + Vega 10 :) – Boldos Aug 8 '19 at 20:22
  • I created my own bootable Ubuntu 19.04 ISO image after all the steps above, when my HP ENVY was working with ACPI (and after some hours of Vega gaming behind me :)). I used Cubic for that: launchpad.net/cubic – Boldos Aug 8 '19 at 20:28
  • 1
    Unfortunately, that download failed too, but thank you for creating it. I went ahead yesterday and performed all these steps with the stock Ubuntu 19.04 ISO, and wound up with keyboard and touchpad not working. I just made the modification to the ACPI table you mentioned in your comment above this one, and the keyboard worked (but no touchpad)! Did you make any other modifications? Thanks for your help! – sez11a Aug 23 '19 at 17:48
  • 1
    I did a hardware probe of the machine. Here it is: linux-hardware.org/?probe=814cd2dd3e Touchpad worked as you describe only when booted via USB installer; it never worked after the install. – sez11a Aug 26 '19 at 17:08
1

There was a new BIOS update released F12 Rev. A wonder if this fixes the issues?

| improve this answer | |
  • 1
    I just tried booting with this BIOS version, and sadly it doesn't – SuperTal3 Aug 9 '19 at 15:39
  • Did you have any luck following the above from Boldos? I'm having trouble with the ACPI then updating the kernel – habitatunion Aug 12 '19 at 12:09
  • I haven't had time to test his solution, I've been really busy lately, however soon I should have time to test this out. – SuperTal3 Aug 12 '19 at 19:03
1

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.

| improve this answer | |
  • Note that, as of January 2020 and the 5.4 kernel release, various things still don't work, most notably suspend / resume - only the s2idle suspend mode is available and the system never comes back from it. I suspect this is a graphics driver problem but it's only a vague suspicion at this point. Also, starting steam when not on mains power leads to a hard lockup. – Tom Jan 27 at 10:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.