Can't get Hyperpixel working with RPi 5 / Bookworm Lite

I’ve spent an hour trying to get the Hyperpixe working with Raspberry Pi Bookworm Lite. I’ve encountered two very basic issues that appear to be fatal to my project.

Problem #1: Can’t rotate console display

I’ve tried about 12 different ways of rotating the console display: dtoverlay=vc4-kms-dpi-hyperpixel4:rotate, dtparam=rotate, display_rotate, display_lcd_rotate, etc. None of them do anything. The Hyperpixel refuses to boot in anything except its native portrait mode.

Problem #2: Can’t get KMS driver working with pygame

After installing pygame via pip and setting SDL_VIDEODRIVER=kmsdrm, pygame reports being unable to find the kmsdrm driver.

I’m nearly at the end of my patience and planning to return this display to Adafruit as a defective product due to inadequate driver support. If anyone has any advice before I do so, I’m willing to give it a shot.

1 Like

I’m seeing the same behavior with my Pi 400 and a fresh install of Raspberry Pi OS/Bookworm Lite. No matter what I set the rotation to I get the default rotation.

pi@rpi400:~ $ uname -a
Linux rpi400 6.6.28+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.28-1+rpt1 (2024-04-22) aarch64 GNU/Linux

And here is my current /boot/firmware/config.txt

# For more options and information see
# http://rptl.io/configtxt
# Some settings may impact device functionality. See link above for details

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Additional overlays and parameters are documented
# /boot/firmware/overlays/README

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Automatically load initramfs files, if found
auto_initramfs=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Don't have the firmware create an initial video= setting in cmdline.txt.
# Use the kernel's default instead.
disable_fw_kms_setup=1

# Run in 64-bit mode
arm_64bit=1

# Disable compensation for displays with overscan
disable_overscan=1

# Run as fast as firmware / board allows
arm_boost=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=270

FIXED!

Adding trhe following to my /boot/firmware/cmdline.txt did the trick

video=DSI-1:480x800 fbcon=rotate:3
2 Likes