I’ve been stuck for days trying to solve this issue and I just can’t get it to work, and there still doesn’t seem like there this an official solution for this. I can easily rotate the display, without any issue, so that the USB-C and HDMI ports are at the bottom but I can’t in any way make the touchscreen properly calibrated.
Things I’ve tried:
The hyperpixel4-rotate left
command. After a few issues, running it through SSH, I’ve managed to run the command without issue. And while it rotates the display, it does nothing for the touchscreen.
dtparams in /boot/config.txt
dtparam=touchscreen-swapped-x-y
dtparam=touchscreen-inverted-x
dtparam=touchscreen-inverted-y
And all possible configurations of these 3 parameters doesn’t fix it:
1 - touchscreen-swapped-x-y
- does nothing
2 - touchscreen-inverted-x
- top left and bottom right work - top right and bottom left are inverted
3 - touchscreen-inverted-y
- does nothing
4 - touchscreen-swapped-x-y
** touchscreen-inverted-x**
- top left and bottom right work - top right and bottom left are inverted
5 - touchscreen-swapped-x-y
** touchscreen-inverted-y**
- does nothing
6 - touchscreen-inverted-x
** touchscreen-inverted-y**
- top left and bottom right work - top right and bottom left are inverted
7 - touchscreen-swapped-x-y
** touchscreen-inverted-x**
** touchscreen-inverted-y**
- top left and bottom right work - top right and bottom left are inverted
This just leads me to believe only the touchscreen-inverted-x actually does anything. I’ve tried calibrating through this process described here: Touch Screen Calibration (Linux) and writing the matrix into the file “/etc/udev/rules.d/98-hyperpixel4-calibration.rules
” but it also does nothing, for better or worse.
I’ve tried the process of manually editing the dto overlay file before installing, to replace the 480x800 resolution axis. Nothing changed.
Fun fact: in the boot/config.txt file having dtoverlay=hyperpixel4
or dtoverlay=hyperpixel4:rotate
doesn’t do anything. Rotation works perfectly fine with just the display_rotate=3
or display_lcd_rotate=3
Enabling or disabling the dtoverlay=vc4-fkms-v3d
in either the pi4 or all sections does nothing either.
I’ve tried both the pi4 and pi4 with experimental touch fix. Same result.
Can anyone help? I’m getting frustrated with this because this display as it is with this issue, it’s just unusable since I need it in this rotation.
Here’s my current config.txt, where the rotation works and top left and bottom right corners work, with the top right and bottom left are inverted.
Enable audio (loads snd_bcm2835)
dtparam=audio=on
[pi4]
Enable DRM VC4 V3D driver on top of the dispmanx display stack
#dtoverlay=vc4-fkms-v3d
max_framebuffers=2
[all]
#dtoverlay=vc4-fkms-v3d
start_x=1
gpu_mem=512
dtoverlay=hyperpixel4:rotate
gpio=0-25=a2
#dtparam=touchscreen-swapped-x-y
dtparam=touchscreen-inverted-x
#dtparam=touchscreen-inverted-y
#touchscreen_swapped=1
enable_dpi_lcd=1
dpi_group=2
dpi_mode=87
dpi_output_format=0x7f216
dpi_timings=480 0 10 16 59 800 0 15 113 15 0 0 0 60 0 32000000 6
display_lcd_rotate=3
dtoverlay=hyperpixel4-common
dtoverlay=hyperpixel4-0x14
dtoverlay=hyperpixel4-0x5d