-
Notifications
You must be signed in to change notification settings - Fork 783
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
4.0" HDMI Display (MPI4008) on CM4 with Raspberry Pi OS Bookworm #352
Comments
Does this solve touchscreen issue? |
I'm not using the touchscreen or a graphical desktop in my CM4 application, but I plugged it into a Raspberry Pi 400 running Bookworm with Wayland (not X11) to see. By default, the display came up over HDMI, with the Wayland desktop, without me needing to set up the EDID as described above. It defaulted to portrait mode (HDMI port on the left as you look at the screen), and the "Screen Configuration" app did rotate the screen properly. When I enabled SPI and added the touchscreen $ sudo nano /boot/config.txt
dtparam=spi=on
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255,xohms=150,xmin=200,xmax=3900,ymin=200,ymax=3900 While the For a rotated screen with correct touchscreen, create a new $ sudo nano /etc/udev/rules.d/99-mpi4008-ads7846.rules
SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="ADS7846 Touchscreen", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1" For a "right" rotation according to Screen Configuration (HDMI port on the bottom as you look at the screen), this matrix worked: For a "left" rotation (HDMI port on the top): For an "inverted" rotation (HDMI port on the right): |
This is incredibly interesting, thank you for taking the time to do this research. I am working on a few projects currently but I am very interested in trying your solution in the future. |
This worked perfectly! |
@vitorio Thanks for sharing this. This looks amazing. I just tried this with an RPI 4 and MPI4008 on Bookworm Desktop. For some reason, when I add the Does the |
@pl804 If you copy-and-pasted from your If SPI is always on by default, you could also leave that line out entirely. If your PiKVM hardware also uses SPI, the order of enabling SPI devices might also matter. You might try putting the |
That was indeed a typo on my part. I have two equal signs in my config.txt.
Ok, I'll move it around and see what I can find. Thanks! |
I've gotten the 4.0" HDMI Display (MPI4008) working on a CM4 with Raspberry Pi OS Bookworm over HDMI.
Get a copy of the display's EDID. You can use a tool like Monitor Asset Manager under Windows, or download a copy from https://edid.tv/edid/1665/ (both were identical for me). Create the
/usr/lib/firmware/edid
directory on your Bookworm installation if it doesn't already exist, then copy the EDID into it. Append the kernel commandline to load the EDID and set the video mode appropriately.After a reboot, the display flickers several times, but eventually displays the end of the startup scroll and the login prompt. (I do not see the four raspberries and the start of the scroll.) No other changes were necessary to get framebuffer output at the console.
Depending on your use case, rotation can be done with
panel_orientation
, e.g.video=HDMI-A-1:480x800@62,panel_orientation=left_side_up
; orrotate
, e.g.video=HDMI-A-1:480x800@62,rotate=90
(see https://www.kernel.org/doc/html/latest/fb/modedb.html for options).The text was updated successfully, but these errors were encountered: