Pimoroni HyperPixel display with Raspbian 11

A quick fix for the Bullseye release

Posted by Giulio Magnifico on Sunday, April 10, 2022

I recently updated my Raspbian Buster to Bullseye on the RaspberryPI I use as DNS server with Pi-Hole. But unfortunately something went wrong, or at least I thought I made something wrong during the update process, because when the Raspberry PI rebooted, the attached Pimoroni HyperPixel 4” display was blank. I mean, the backlight was on but there was nothing on the screen. So I tried to ssh in to it but the ip was changed itself. I don’t know what happened but I caught the opportunity to switch to another Linux distribution that I’ve always wanted to try: DietPI.

Obviously I had all the backup so I wasn’t particularly angry. So I went to DietPI website, downloaded the installer, flashed it with Balena Etcher, and launched the installation.

This OS is very light and fast, you can read a comparision of the memroy usage and boot time here: Comparison to other Debian based distributions – why should you use DietPI?

Some stat:

All went fine, the only trouble I had was that, every time I was changing the DNS (because my OpenWrt router was assigning to it the IP of my Pi-Hole, but I was just installing it), the RPi/DietPI I was disappearing from my network. Then I discovered that my router was assigning and using an ipv6 to the DietPI. And it was not discoverable with IPv4.

Anyway, also after I installed the Pimoroni drivers, the display was blank, it was on (the backlight) but it was blank. Same as Raspbian Bullseye.

Only after a lot of time, and digging in to GitHub and forums, I discovered that this is a bug of Raspberry Pi OS Bullseye with Pimoroni driver.

GitHub: Display blank on Raspberry Pi OS Bullseye

In order to get you Pimoroni Hyperpixel display to work, you have to use the new “alpha” driver, or use this code in /boot/config.txt (also this code fix the not-rotating issue)

dtoverlay=hyperpixel4
gpio=0-25=a2
enable_dpi_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x7f216
dpi_timings=480 0 10 16 59 800 0 15 113 15 0 0 0 60 0 32000000 6
display_rotate=3
dtoverlay=hyperpixel4-common
dtoverlay=hyperpixel4-0x14
dtoverlay=hyperpixel4-0x5d

But I don’t know if it’s the new driver or DietPI, now HyperPixel font looks different, smaller but sharper.

alAGn6Q

Looks like it’s running at higher DPI. I don’t know, I haven’t searched the cause but I took advantage of this and I added some other info to my custom PADD script!

And now looks like this, soon I’ll release the code, it has some little cleanup to be done.

IMG_5347

Compared with the old code (there’s a new section called “INFO”)

fxRmN5v