pimoroni / hyperpixel4

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

Raspi OS (Buster) 64bits #159

Open rno opened 2 years ago

rno commented 2 years ago

Describe the bug

I have a strong dependency on a library (and its dependencies) that are not available on 32 bits. So, I'm attempting to run on a RaspiOS (Debian Buster) 64 bits.

I'm able to get the HyperPixel 4 (square + touch) displaying the boot sequence (as shown below) but it always stops there and doesn't display anything beyond this. If I plug a display on the HDMI port, I can see the OS booting all the way.

PXL_20211229_031811440

To Reproduce

Your HyperPixel 4

  1. Is it Square or Rectangular? Square
  2. Touch or non Touch? Touch
  3. Approximately when was it purchased Nov / Dec 2021
  4. How is it connected to your Pi? GPIO pins

Your Raspberry Pi

Give as much detail about your Pi and OS as possible. We only officially support Raspbian, but might be able to point you in the right direction if the problem is with another OS.

  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        : a02082
  1. Which OS release are you using: lsb_release --description and uname -r
$ lsb_release --description
Description:    Debian GNU/Linux 10 (buster)
$ uname -r
5.10.17-v8+
  1. Is this a fresh OS setup, or one you might have previously installed scripts/add-ons on?

It is a fresh setup.

Extra debugging information

I don't know if I have problem with touch yet as I can't seem to get passed the above.

rno commented 2 years ago

I also tried re-building hyperpixel4-init.c but same result.

rno commented 2 years ago

I managed to get it work by changing the dtoverlay from vc4-kms-v3d to vc4-fkms-v3d, it boots until the end now.

The only thing is that once Xorg takes over, the display switches to 1440x720 instead of 720x720. I can run xrandr 720x720 to correct it which works but I can't figure out how Xorg determines it has to use a width of 1440.