-
Notifications
You must be signed in to change notification settings - Fork 48
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
hyperpixel4-rotate
commands not working fresh install rectangular Pi4
#111
Comments
There's a couple of issues in here already to do with screen rotation and/or touch rotation not working on Pi4, you should look around a bit. I'm having similar ones. |
Sounds like it'd be useful to me, thanks for the heads up, @LordRembo. Devs, though, LMK if you want me to provide anything more. I can re-flash this Pi anytime. |
This comment Included the following
My
|
I was experiencing the same issues as @jehanalvani with latest Raspberry OS, Pi 4 and HyperPixel4. The following worked for me without having to disable vc4-fkms-v3d @LordRembo . Process A note, if you were to want a rotation different than 'right' then LIBINPUT_CALIBRATION_MATRIX would need to be set to something else. Credit Where it's Due |
Is this ever going to be fixed? I've tried the process above, and no luck. It would appear to have been broken on the RPi-4 since at least 2019 by the looks of other issues raised about exactly the same thing |
@David-26 We know how it works on Pi3, that's been documented extensively. It's Pi4 that's the issue. |
Modifying the standard hyperpixel 4 for Pi4 install worked for me. Must have build it 6-7 times and had a few failures. The make or break point was after modifying ~/hyperpixel4/src/hyperpixel4-overlay.dts installing and rebooting, should I be able to move the mouse to all extremes of the display then the rest worked ok. |
@David-26 This is a brand new HyperPixel 4.0 on a brand new raspberrypi 4... happy to help debug if I can, but any more info is appreciated. |
Alright, I think I found a fix. I picked option 2 for the
I hope that helps someone! |
alphex: after three weeks mucking with this problem, I must say this: THANK YOU, THANK YOU, THANK YOU, THANK YOU, THANK YOU. There is no reason this was so incredibly difficult!
|
@alphex Yes, that's rad. Thank you. I still get the errors below, but the screen works in this orientation.
|
try export DISPLAY=:0.0 before executing the command
|
No bueno, unfortunately. 3rd and 12th lines in output above. |
You may also need: Sorry to sweep in here and be less than useful, but I'm between homes and all my Pi stuff is packed away in boxes. As such I've currently got no access to test this stuff and iron out any wrinkles in the documentation, but it's on my radar. |
@Gadgetoid No worries; happy to be a ginuea pig if it makes resolving this easier.
|
bump Does the Pimoroni crew have any plans to address this issue with a fix? Would love to be able to use my Hyper Pixel in a reliable way... |
It's on my radar, but contingent on me having space to set up a Pi and familiarise myself with whatever is causing all this chaos. |
Just did a Pi4 install with the fix that was posted above because in the last 20 days, this has not been resolved apparently. |
The only fixes that seem work semi-consistently, are the ones that involve first removing the original vc4-fkms-v3d overlay. Since that removes original functionality (eg. 3D acceleration) and the core problem is Pi4 hardware based (there's links in previous comments and related threads), I think the best course of action is to 1) document the suggested fixes in this project's install info (including a caveat about losing functionality) and 2) throw in the towel and admit this is just not fully fixable for this screen + device combo. You need to buy a different screen or use a Pi3 to use horizontal orientation is you absolutely need 3D acceleration or run things like RetroPie. |
Which reminds me, even when I did get it working with 3D acceleration, as soon as I run 'apt upgrade' it reverts back to not working correctly. Which is fine for my use case but definitely not for most. |
Not sure if this helps anyone, but it got me past the In any case, I ran
I then logged in as root, and symlinked that file to become my
Now I'm left with the following
|
To be able to connect as non-root, what I did next was a little naughty, but I'll live with it for now. As root
Still no further forward with the rotating though.
|
In the end, doing the above and running |
OK, finally got the script working. Added comments at #51 |
I've managed to rotate the display with the rotate_display config and it's working well but how do I calibrate the touchscreen? I tried reinstalling with the experimental touch fix also didn't work. The touchscreen still responds as if it's still in portrait even though it supposedly has updated the 98-hyperpixel4-calibration.rules file. |
I've been trying other methods, back to the point where I don't even have rotate_display any longer. It's like the touchscreen is still assuming a portrait orientation. dtparams touchscreen_inverted_x or y, swapped_x_y and a combinations of these and still no luck |
Found a fix. This command properly sets the touchscreen calibration rotation for me: xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1 This setting isn't persisted after rebooting though. For now I put it inside a .desktop file to run on startup and it's working fine. |
This is... odd... what OS are you running? I'm guessing it doesn't use libinput. |
Latest Raspberry Pi OS. This command was given to me by the PiHut support. |
this worked for me... I have to repeat on reboot, so will have to stuff the commands somewhere for boot up. |
Hi everyone! |
Assuming Fluidd doesn't use X and you're on a Pi 4, you'd need to comment-out There's no hardware-level accelerated rotation on Pi 4/Pi 400 so you must either turn If it does use X, these instructions might help - cf175cc |
It's reprehensible that this issue is still causing trouble all over the place. Repeated commitments from @Gadgetoid over the last 18 months to address it have gone nowhere. It's an utter disgrace that Pimoroni continue to sell and market this screen and tout it's compatability with the Pi4, yet we are no better off and have to implement hack workarounds. As least get a simple to follow set of instructions in the README to stop all this BS. I have literally just loaded up the latest OctoPi 0.18 image from scratch on my Pi4 4GB and have it working with the latest OctoDash. I loaded the latest OctoPi image, did the basic config on OctoPrint to get it on the network, ran apt update and upgrade, , ran all the updates on OctoPrint to bring it up to v1.6.1 and then ran:
Log back in and then run
System Options > Boot/Auto Login and enabled B1 Console and B2 Console Autologin Rebooted
Edit the bottom so it looks like this:
Save and reboot and the screen will now be orientated with the USB C port at the bottom. If you want the port at the top, then you need to set display_lcd_rotate=1 The TOUCH function will still be incorrect, but to correct this:
Edit the section for the touchscreen - it is normally the second last section - by adding this line:
Leave all the spaces. Save and reboot and your touch screen should now be orientated correctly the and touch screen also calibrated correctly. If you went with the USB C port at the top, then you need to make the line Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1" This is so simple and straight forward. Surely Pimoroni could script this to take the leg work out of it? At least pull your fingers out and document it. I do not claim credit for this solution. It's a combination of the following video and articles: https://github.com/TxBillbr/octodash-hyperpixel-fix https://www.youtube.com/watch?v=K0A-sIUBFfU&t=2015s https://www.instructables.com/Rotate-Raspberry-Pi-Display-and-Touchscreen/ |
THANK YOU. Just followed your instructions and it worked the first time. I've been using a smaller and easier to install screen for the last few months after not being able to find a way to get my Hyperpixel 4 to work with my Pi 4. |
I agree it's totally reprehensible that this product is sold as Pi 4 compatible when it is clearly non-functional from a software perspective, and Pimoroni has demonstrated they give no care about fixing it (I gave up on using mine a long time ago). If folks in this thread actually want to put some pressure on Pimoroni to you know fix their product so it works, we should all take the time to contact the resellers they depend on. I think if enough people who have posted in this thread also contacted Adafruit and asked them to find a working alternative to stock then maybe juuust maybe Pimoroni would care enough to address this if their business relationships were on the line. https://www.adafruit.com/contact_us https://support.thepihut.com/hc/en-us/requests/new https://www.digikey.com/en/maker/projects/getting-started-with-hyperpixel-4.0/eed2d822520f4db39532755c9469f1ae (Support contact in the footer) |
Yeah. I figured it would be plug and play like most popular screens. Wasn't expecting to have to scour forums and piece together things just to get the image and touch screen to rotate 90°, especially since I was just running stock OctoPrint, and not some obscure version of Raspbian. I'll send an email over to Adafruit, who originally told me to check here when I first got it and had issues, which obviously lead no where, until now. Thanks again! |
Glad I could help mate! :) I can't tell you how many days I've burned trawling the internet for solutions and have been posting my procedure everywhere to try and help the countless thousands that are in the same boat. Ben. |
You're a savior for doing all of that. Count me as another person who finally got theirs to work thanks to your legwork, it's much appreciated! |
@maccampb this is useful, thank you. I've added some xhost auth disabling/enabling magic into the hyperpixel4-rotate scripts for the two rectangular branches and square. Along with the save-to-Xorg feature that should cover more bases (for non-Pi OS platforms that don't use the See:
There was also a bugfix in my Xorg-rotate patches that puts the "xrandr" command before the invocation of "arandr" or "Screen Layout" which actually persists it. That made rotation of both touch/display in-sync require two successive runs of the script. I've tested this on RPi OS (buster). As always YMMV on other distributions. This should, with any luck, fix @jehanalvani's original issue. |
Any issues with yours recently? It's been working with no issues after several reboots and shutdowns. Shut down the PI4 last night for something and booted it up earlier this evening and now my touch isn't working. Checked all files to make sure everything was still there and they are. Edit: I see something was updated and i'm guessing that broke it. Seriously about to throw this thing into the trash. |
@bchau21 have you tried the i2c-touch fix version of the drivers? |
That's one of the major bug bears with this thing. Once you get it working, any Pi OS updates will break it. Updates to apps on the Pi doesn't seems to break it - OctoPrint, OctoDash, OctoPrint plug-ins., etc. Just the actual updates that get installed from an apt update I would try re-following my steps, less the apt update and apt upgrade from the start. |
Just going to preface this by saying i'm still relatively new to the Raspberry Pi system overall. Got my first one a little over a year ago and I'm really only familiar with OctoPi, OctoPrint, and OctoDash. I'm good with tech when it comes to Mac OS, iOS, etc, but still learning when it comes to the Pi. I see your post above mine mentioned a fix, how would I go about trying that out? |
I did try your steps, minus the apt update and apt upgrade parts, after a friend (who's a little more familiar with the Pi) recommended it to see if something wasn't saved. Sadly, it didn't do anything, and I tried it twice. All the text I added previously were still there in both conf files. |
I have had the same experience in the past. Sadly, it means a full reinstall of OctoPi. Back up your OctoPi config with the OctoPrint backup utility - accessed from settings. It will back up everything including your plugins. Reinstall OctoPi 0.18, do you apt updates, do you base setup of OctoPrint, restore your backup, reinstall OctoDash and then followmy HyperPixel install guide. I've updated my instructions as I left out the lines to actually install the HyperPixel drivers and reboot. Never do any Raspberry apt updates again - they break the HyperPixel drivers. What specifically, I do not know, but I know it's a deal breaker. OctoPrint, OctoPrint plugin and OctoDash updates will not break anything. |
What actually goes wrong? Total fubar? There are some cases where the kernel changes and no longer matches the compiled .dtbo file produced by the installers- it would suffice just to stick the SD card in another computer, remove "dtoverlay=hyperpixel4", boot up and re-run the installer. (Or SSH in, if it hasn't totally died) Or is this a uniquely OctoPi problem? Some package update replacing a user-customised config file with a distro-maintained one? Most of the meat of the drivers is in config.txt, which an "apt upgrade" should never change. That leaves touch or rotation going awry, which would involve "/usr/share/dispsetup.sh" or user-supplied xorg.conf files (they should be uniquely named anyway?). |
The screen stops working altogether or the touch function stops. I have literally spent weeks stuffing around with it and could not find a working solution. I think Pimoroni need to spend some time doing some testing to find out what's going on. Get a Pi4, load up OctoPi and give it a go. I'm not spending any more time doing troubleshooting and testing for a company that doesn't support it's customers. |
Holy shit, I wish I could shake your hand. I spent the last few days struggling to finish my Prusa OctoDash side project. 90% of it was getting the Hyperpixel to work with my RPi 4 and I was minutes away from just doing an Amazon return for the whole project until I stumbled on this comment that fixed everything. |
Allow me to also join the party of people who wasted and unnecessary amount of time getting this to work on a fluiddpi system. Thank you @morphias2004! You saved the day! |
What was the magic sauce? I followed the steps exactly but still result in a rotated display but no touch functionality. (KlipperScreen, Fluidpi all updated to latest versions as of a few hours ago, and raspi 4) |
Describe the bug
Unable to rotate display using
hyperpixel4-rotate
commands.To Reproduce
touch ssh
on boot volume to enable sshsudo raspi-config
curl https://get.pimoroni.com/hyperpixel4 | bash
, option 2 (Rpi4 Rect exp touch) affirm where needed, reboot when promptedhyperpixel4-rotate right
results inYour HyperPixel 4
Let us know which HyperPixel 4 board you're using. Note: if you're having a problem with the original HyperPixel you should go to: https://github.com/pimoroni/hyperpixel
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.
Raspberry Pi Model:
Model : Raspberry Pi 4 Model B Rev 1.1
4gbExtra debugging information
If you're having a problem with touch, try checking
dmesg
for related errors:dmesg | grep Goodix
for HyperPixel 4.0" RectangularAnd check i2c is working:
ls /dev/i2c-*
And your HyperPixel 4 touch is showing up (there should be an address blocked out with UU in the below command):
i2cdetect -y X
( where X is the number of i2c bus found in the command above)For example:
The text was updated successfully, but these errors were encountered: