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.
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