SDM845 devices occasionally just have a black screen on boot

December 08, 20231 min. read

There is a ~50% chance that the display will fail to initialise during boot on the OnePlus 6 since the 6.6 kernel upgrade. Other devices are suspected to encounter this too (please let Caleb know on Matrix if you've hit this on a different SDM845 device).

This seems to be due to a race condition in the kernel, the issue has been reported upstream here. As a temporary workaround, enabling the UART console seems to resolve the issue and cause the display to always initialise during boot.

This workaround has been enabled for the OnePlus 6(T), SHIFT6mq, and PocoPhone F1 in !4610. Please update your device, when the binary packages are available!

You can also enable the workaround manually by adding the following to /etc/deviceinfo

# Temporary workaround for display init race condition
deviceinfo_kernel_cmdline_append="console=ttyMSM0,115200"

Don't forget to run sudo mkinitfs after modifying deviceinfo.