1

HP Envy X360, Legacy boot enabled, Secure boot disabled, using GPT on all drives
Ryzen 5 2500U with Radeon Vega Mobile (Raven Ridge APU)

Booting a fresh install of PureOS 9.0 results in a black screen with blinking underscore (similar to what is seen during POST).It is installed on my SSD, alongside Debian 10; which boots just fine. I tried reinstalling multiple times with different bootloader options (install bootloader on MBR, on the PureOS partition, no bootloader at all with GRUB from the Debian partition taking over).

I am able to enter the tty console during normal boot, as well as recovery mode. Using that, I looked through dmesg and /var/log/boot.log but found nothing of use. The live installer image does have a fully working Gnome shell. What's interesting is that using the same laptop, I installed PureOS onto another USB drive, and the GUI works perfectly post-install (even 3D graphics and brightness settings).

I tried to replicate this by cloning the working USB installation and restoring it onto a partition on the SSD, however received the same black screen problem. I am confident that the low level part of the bootup process is causing this, because whenever I boot the installed USB image via bootloader on my SSD, GRUB complains

Error: you must load a kernel first. Press any key to continue...

and once I press enter, it boots showing the Debian logo (rather than PureOS), thereafter correctly entering Gnome shell login.

The AMD site does not provide driver downloads for Vega mobile on Linux. Instead, it is provided by the kernel, and not just vanilla Linux, GNU linux-libre also ships with the firmware since the live install image works as expected, as well as if it is installed onto an external USB.

I compared grub.cfg, and fstab on the PureOS partition of my SSD to the ones on the working USB installation, but can not find anything that might prevent firmware to be loaded on boot. I hope I have been clear enough. I am taking requests for changing systemd options, posting system logs, and such. Any help is appreciated!

2

Over 6 months later, I figured it out! Ended up going on:

https://cdimage.debian.org/cdimage/unofficial/non-free/

and navigate to firmware/testing/current/firmware.zip (testing because PureOS is based on Debian testing, and the archive extension doesn't matter, you can also download firmware.tar.gz it's in the same directory as firmware.zip)

Thereafter it must be extracted and inserted into the fresh installation of PureOS. Then you must boot the system, open TTY: Ctrl+Alt+F3, login, find the folder with the package, and run

sudo apt install ./firmware-amd-graphics*.deb

(the * can be replaced with the release version, or one could just bash-autocomplete the command with Tab).

Next, reboot, and the OS is now able to load GPU firmware, and therefore the open graphics driver.

It should be noted that the firmware does not conform to either Debian DFSG, nor GNU's definition of Free Software, however most GPU's newer than ~2013 will require this for 3D functionality.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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