Kernel 4.x could boot with acpi=off with severely decreased functionality (battery, wifi, screenbacklight) however 5.x kernels, including the latest 5.4-rc3 freezes at "loading ramdisk" step unless you pass acpi_osi= (null, nothing after =) to kernel. There is no visible log/feedback produced so users tend to give up and move on to other operating systems hence there isn't any tips regarding this workaround except couple of pages. I can boot fine with acpi_osi= argument. I tested latest RC (using Ubuntu 16.10) however it effects every kernel out there, on this particular machine. I can provide more details, even a root shell if it can help. More possible machine details etc. are at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1848445
Apologies for typo: It isn't Ubuntu 16.10 which I tested, it is 19.10.
it is really rare to see a system running with acpi=off. May I know why acpi=off is used in the first place? for this particular issue, please confirm if problem still exists with acpi_osi=!.
Bug closed as there is no response from the bug reporter. Please feel free to reopen it if the problem still exists in the latest upstream kernel.
Apologies for the delay, I have been instructed to use kernel mailing list to report the bug. System boots fine once you use acpi_osi= argument with complete functionality. This has been true for all 5.x kernels to this date.
As of Kernel 5.8.12 this "bug" doesn't exist anymore. Actually, when you enable the workaround (ACPI_OSI=) in Fedora 33 beta 1 it will fail to boot stating the following: atkbd serio09: unknown key pressed (translated set 2, code 0xd7) It didn't boot after stating that several times so I removed the ACPI_OSI= which I passed to kernel, it booted fine afterwards. Whoever fixed it, thank you on behalf of HP Pavilion x360 users. As I don't know the kernel bugzilla, I am not closing the bug. Feel free to do so.
update: With the current kernel, you need to put ACPI_OSI=! to boot the device. Older ACPI_OSI= will disable entire USB functionality.
sorry for bugging the list. There is a strange issue now that when I pass ACPI_OSI=! (in uppercase) to kernel, it gets ignored but acpi_osi=! (in lowercase) works.
As of current 5.9.1 kernel (opensuse tumbleweed), this argument is no longer needed for a proper boot. It still complains about firmware regions not being covered otherwise it boots fine with all ACPI functionality seeming to work fine.