pimoroni / hyperpixel4

Driver for the Pimoroni HyperPixel 4.0" Touchscreen Display
https://shop.pimoroni.com/products/hyperpixel-4?variant=12569485443155
329 stars 46 forks source link

rPi Zero 2 W + Hyperpixel 4 Square Touch garbled display #223

Open entangledothers opened 5 days ago

entangledothers commented 5 days ago

Hi all, have tried following the #177 guidance when setting up a Raspberry Pi Zero 2 W with a Hyperpixel 4 Square Touch. I've added the necessary line dtoverlay=vc4-kms-dpi-hyperpixel4sq to the top of the /boot/firmware/config.txt. Upon restarting the device all that is rendered is a bunch of lines across the entirety of the screen with no responsiveness/change whatsoever (as if a line of pixels were stretched across the screen, see this reference example).

This has persisted with the following ISO's flashed via the Raspberry Pi Imager:

Note that this is a Hyperpixel 4.0 Square Touch, the very same display works perfectly with an older Raspberry Pi Zero W V1.1, so quite certain the display hardware in question is not at fault here. Am a little concerned as there's an urgent need to create a stable setup that is to be used to configure ~ 10 Hyperpixels 4.0 Square displays in total and it's be a shame to not be able to use the rPi Zero 2 W's already purchased for the setup (as they are a little beefier than the original Zero's).

  1. What model of Raspberry Pi are you using (the result of cat /proc/cpuinfo | grep Revision can tell us this exactly
    cat /proc/cpuinfo | grep Revision
    Revision    : 902120
  2. Which OS release are you using: lsb_release --description and uname -r
No LSB modules are available.
Description:    Debian GNU/Linux 12 (bookworm)
6.6.31+rpt-rpi-v8
  1. Is this a fresh OS setup, or one you might have previously installed scripts/add-ons on? Fresh install(s), fully working access via SSH and no other apparent issues with input/output.

Extra debugging information

ls /dev/i2c-*:

ls /dev/i2c-*
ls: cannot access '/dev/i2c-*': No such file or directory

edit: after installing i2c-tools and running the extra debug commands related to i2c the following output was gotten:

ls /dev/i2c-*
/dev/i2c-1  /dev/i2c-11  /dev/i2c-2

where only 11 showed any output in i2cdetect:

i2cdetect -y 11
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: -- -- -- 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Note that enabling i2c for this debugging output of course changed the Hyperpixel display to blank output until i2c was disabled as required by #177 . Reverting to no i2c returns the same garbled output.

edit2: The weird thing is that if dtoverlay is set to vc4-kms-dpi-hyperpixel4 (the rectangular config), the display works halfway displaying a glitchy, doubled image of the rPi desktop that seems to indicate that it would work with a rectangular display.

Hangman228 commented 3 days ago

Same problem here, so it's definitly not the a screen or raspberry problem but a software problem...

Hangman228 commented 6 hours ago

Maybe for now the best solution is to use the older image to get the screen working... https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2024-03-15/ I don't have time to test it but it should work