-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PSA: HyperPixel 4 (Square & Rectangular) on Raspberry Pi OS 64bit 2022-04-04 #177
Comments
This is almost working for me: it only works in the non-rotated orientation on boot. I bought my HyperPixel 4 Rectangular a month ago to use with a Pi 400 & Adafruit’s Cyberdeck HAT. I removed the diode on the HAT, and then ran into a black screen (backlight but no picture), and found some of the issues linked above. I was really happy to see this update. With only If I try to use either If I remove the rotation settings from The failure looks like either a black screen, or a screen where one pixel (the first??) in each row is repeated all the way across the screen (the latter seems to be more common, but I’m not sure). I haven’t been able to determine when each behavior is triggered. I’ve been trying both with an HDMI monitor connected, and also with only the hyperpixel (aka DP1) and changing config over ssh. There may be behavior differences, but neither setup is working correctly. Is there helpful information I can gather, either for this issue or to file a new one? Sometimes, but not always, there’s a register + call trace dump visible inside of |
Could you paste the lines you have in your config.txt when you're trying to get rotation work? Would help me to recreate. |
Weird, same config and same SD card in my Pi 3B+ versus my Pi 4 results in two different rotations... 😱 Edit (For posterity and to nobody in particular): I have a suspicion that "/usr/share/dispsetup.sh" did this. It's the script that gets updated by Screen Configuration (arandr) and then run on boot via lightdm.conf. There's also a And any touch or rotation dropped into |
I've tried three different
I have an (occasionally) working setup with the first one (no parameters to the overlay), and having run the bash script you provided 🎉 After having ran that bash script, I haven't deleted / reset those settings to go back to a Unfortunately, sometimes it fails. I thought the failure was deterministic, but I don't think that's true. I've seen three different failure modes:
IMG_1856.mov
IMG_1851.mov
I have seen all three display failure modes in each of these cases:
I haven't figured if there's a configuration/sequence that always fails, nor do I know if one is more likely to succeed. ex: I thought cold boot was pretty reliable yesterday, but so far today it's failed 3 out of 4 times. Similarly, my initial assertion that it only worked non-rotated on cold boot could have just been random good luck across 3-4 attempts. Here's an example of the My guess is that the Late additions: environment: $ uname -a
Linux pi400 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
|
There's a good chance the old hyperpixel script will break this in ways I can't imagine, but it should suffice to run:
It could easily be this init script half-working that's messing up the display. Also make sure nothing from the legacy installer is in config.txt. A wipe and re-image is probably the safest bet though, the old installer is fundamentally a bunch of nasty hacks based around the old config.txt way of setting up DPI. |
That seems to have done it 🎉 🎊 I feel dumb/embarrassed 😞 I'd previously found and reverted the Thanks so much for the help! |
Howdy so I just installed this on a fresh OS install (April 4th 2022 64 bit on a Pi 4) and I get a blank white display. Using the square display. |
Nevermind! My issue was that I had removed |
No worries. Useful to know exactly how this fails for future reference! |
Should this work with the 2020-and-earlier version of the hyperpixel4sq on a Pi3b+? I tried both the 64bit and 32bit builds of Bullseye, released 2022-04-04. I get what appears to be vertical stripes in both cases. It doesn't seem to matter if hdmi is connected or not. If hdmi is connected, then I get a very low resolution desktop on hdmi. Both installs are fresh, plain installs, and the only change I made was to add "dtoverlay=vc4-kms-dpi-hyperpixel4sq" to the end of /boot/config.txt |
Youch- that's a good question, to which the answer is: no. They require - iirc - very different configurations and bringup. That's something I'm going to have to look into. I had forgotten there were two flavours of Square 😬 |
Thanks! If you would like me to test anything, let me know. |
This new version does not work on my Pi Zero 2 W, the screen is just blank - my dtoverlay is: dtoverlay=vc4-kms-v3d confirmed that the screen works fine on the prior install (with the script config). Is there anything else that I need to configure? |
I have done a clean SD card wipe and reinstall on a Pi 400 and I am now getting a blank screen even after adding the new dto in the config.txt. It was working on my existing installation which had the legacy drivers installed previously. I disabled the legacy service, but I also removed the old hyperpixel.dto. Once I did that and rebooted, the display stopped working. At that point I flashed the new OS to see if that would work. This is a completely vanilla install with nothing done other than an apt update.
|
Top Gear Top Tip: i2c and spi both need to be commented out/disabled. |
Ooof. I did not spot that. Thanks for reporting it back here! I tend to fall into the false assumption that - like the old config.txt magic setup method did - the DPI display will trump anything else, but with device-tree it'll throw a pin conflict instead. 😬 |
Annoyingly, I had rotation working on my Pi4 with the rectangular screen. Filesystem died and I rebuilt and now it doesn't work. The difference being that I'm now running Raspian OS Lite. Do we need X to have the rotation work? |
For some reason I can't get chromium in kiosk mode to display properly (landscape), boot and without chromium is fine. I'm using a PI Zero 2 W and a rectangle screen. Any ideas what i'm missing? |
@LazLong Yes. Or your application must support rotation somehow. This is a frustrating consequence of RPi's move to upstream blessed methods of supporting DPI displays. You can fall back to legacy drivers and the config.txt method, but that has its own tradeoffs. @Jeroennl as above, there's no hardware rotation in the new drivers and no config.txt setting will affect display rotation. If Kiosk mode chromium uses X under the hood you should be looking at xrandr and xorg config. See the script in my original post. |
I can rotate the screen so it is in landscape, but the touch screen always rotates to a portrait view. I have a brand new install of OctoPi 1.0.0 (not running 64bit) and Octoprint 1.9.3 (no other drivers) When I install OctoDash, it rotates This is what I have in the config file: Any suggestions would be appretiated. I managed to get it to work. Happy man :) Used this tutorial Youtube Used option 3, but since the Octopi with Octoprint is newer and with higher kernel, I just did the regular install, including Octodash, and then I ran the commands needed in the video. SOLVED |
Exactly what I was searching for half a day now...thx @beejay41 for this important (for me, at least) bit of information. I had to adjust it to |
I noticed a small issue with the display. If you look really close you can see something like flickering. Its definitely a software bug as I tested 2 brand new displays and they have the same problem. Any idea on what could be wrong? |
Yes, I have the same issue with the Hyperpixel 4.0 rectangle installed on a Raspberry Pi Zero 2w (bookworm), have no idea how to solve it yet. |
I thought it was a screen problem and got a replacement but this is bad because no one else reported it. I guess it has to do with the backlight? |
Yes, it may be a backlight issue. Did the problem still exist after you got the replacement? |
I hve this same isue and its gotten worse over time with all 3 of my hyperpixels. the absolute hell it took to get a straight answer from pimoroni the first time I dealt with the though.. not even gonna bother complaining directly. just hoping something better comes along. |
Yeah agreed. It's also bad for resellers who don't know about it and will think the screen is broken. I will try sending a custom pwm signal to the pin 19 (controlling the backlight) and see if it fixes the issue. |
The link you tried to share didn't post so we can see the tutorial you're talking about. Can you reply or edit with the link? |
Have updated the original post with the link |
Can't get it to work. No matter what dtoverlay settings I try, nothing changes. I know how to rotate the console and I know that I can rotate a desktop in X11. But I want to run own programs (e.g. python with cv2) or let's say even chocolate-doom. They are in protrait mode instead of landscape because the damn framebuffer of the screen is 480x800 instead of 800x480 and I cant find a way to change that. |
@d3k4-k3rb3r0s does your issue look anything like this? The video is not very clear but it was the only way I could capture it in camera. video-d0933750b7dc259ae3a9e232c5db7c10-V.mp4 |
I am trying to figure out what could be the problem. The colors look so it's not the color pins, the backlight is also working fine so no problem with the backlight pins neither, touch works perfectly so no probleb there so I suspect it could be the DPI V-sync causing these lines? I may be completely wrong but looking at the pinout that seems to be responsible. |
Ok so the issue is vertical banding apparently which means probably interference or bad cable connection according to google. How could that be fixed... |
Nah wouldn't make sense. It's similar but you have these moving lines too. |
@Gadgetoid seems you are a maintainer/developer of the hyperpixel so that's why I am pinging you. So I installed the latest version of raspberry pi os buster armhf on my raspberry pi 4 and used your old legacy drivers to test if the issue I am having (and other users too I guess) and I got the same issue on both the buster os and the bookworm one. Seems like it is a hardware problem? But I have 2 screens one directly from you (the newest version) and another latest one from my local retailer and same issue. Can you please try to replicate using a pi4/pi5 with bookworm in dark mode with the overlay and see if you can replicate? The issue is only noticeable on dark grey colors. |
to anyone finding this when trying to get i2c working, you now want to remap the i2c interface using:
|
Has anyone successfully gotten a Raspberry Pi Zero 2 W running with the latest Bookworm OS (2024-07-04)? I've tried everything, including both versions of the HyperPixel 4 display (Square and Rectangular). I've also experimented with the 32-bit version of the OS and the legacy drivers, but still no luck. The Raspberry Pi 5, on the other hand, was up and running perfectly in less than a minute. Has anyone had similar issues or found a solution for getting the Zero 2 W to work with Bookworm and the HyperPixel 4? |
/boot/firmware/cmdline.txt: Most relevant entries in /boot/firmware/config.txt:
I've only used the drives included with the OS. My app uses a framebuffer browser with simple http server, but I'm sure a desktop would run, but a bit limited by memory. Hope that helps. |
Under “On the fly rotation” Change all instances of (boot/config.txt) to (boot/firmware/config.txt). boot/config.txt is moved in the new OS. |
If anybody is having trouble setting up the screen with the touchscreen and rotation working with the latest Raspberry Pi OS, check my blog post here |
I used my pi 400 keyboard with 64-bit raspberry pi o/s installed. I just installed the new operating system last night 12/09/2024. I used the legacy script that is in the beginning of this thread. I used a Adafruit CYBERDECK HAT for Raspberry Pi 400. I scored the trace so that the cyberdeck would function properly. All I added was "dtoverlay=vc4-kms-dpi-hyperpixel4sq" to my config.txt file. I rebooted my pi and my rectangular hyperpixel4 worked. I used the screen orientation in the desktop to fix its rotation and the touchscreen worked without needing further adjustments. Hopefully this helps someone so that they aren't stuck for hours typing in different commands that do not yield results. The screen acts as a second display when another is attached so you have to reboot without a monitor or T.V. attached to make the hyperpixel4 act as the only display. All in all, for the headache I had to go through, it is working fine now and that is all that matters. |
ℹ️ See this comment for rotation in Raspberry Pi Desktop screen configuration - #177 (comment)
hyperpixel4-init
system service!Pi 3B and Pi 4 users running the latest and greatest Raspberry Pi OS should forego our installer and use the instructions below.
This new OS can currently be found in Raspberry Pi Imager under "Raspberry Pi OS (Other)"
Once installed you need only one line in
/boot/config.txt
:dtoverlay=vc4-kms-dpi-hyperpixel4
dtoverlay=vc4-kms-dpi-hyperpixel4sq
You can rotate these in config.txt by adding the
rotate=
parameter, like so:This supports rotation in console, too, for all you CyberDeck builders!
HyperPixel 4 Rectangular Rotations
Ensure rotation is set to "Normal" in "Display Configuration"
And that the dtoverlay is in
/boot/config.txt
:Finally use one of the following
dtparam
lines immediately underneath to set the parameters:dtparam=rotate=90,touchscreen-swapped-x-y,touchscreen-inverted-y
- Landscape with header on the bottomdtparam=rotate=180
- Portrait with header on the leftdtparam=rotate=270,touchscreen-swapped-x-y,touchscreen-inverted-x
- Landscape with header on the topHyperPixel 4 Square Rotations
HyperPixel 4 Square does not correctly swap or invert touch input, so you may want to use the Xorg config method below.
Ensure rotation is set to "Normal" in "Display Configuration"
And that the dtoverlay is in
/boot/config.txt
:Finally use one of the following
dtparam
lines immediately underneath to set the parameters:dtparam=rotate=90
- Header is on the left (wonky touch, see below)dtparam=rotate=180
- Header still on the top (doesn't work? Same as default)dtparam=rotate=270
- Header is on the right (wonky touch, see below)touchscreen-swapped-x-y
parameter does not seem to work with Square. You may need to use the script below for Raspberry Pi OS with Desktop.On the fly rotation
Rotating the display via "Screen Configuration" ("arandr") results in inverted touch input and other weirdness- use the dtoverlay params.
If you want to rotate on the fly you can use the below bash script to rotate either display and persist settings into Xorg configuration files.
rotate=
argument from/boot/config.txt
for these to make sense.You can remove the rotation config by deleting the
/usr/share/X11/xorg.conf.d/88-hyperpixel4-touch.conf
and/usr/share/X11/xorg.conf.d/88-dsi-1-rotate.conf
files.The text was updated successfully, but these errors were encountered: