User avatar
cnxsoft
Posts: 191
Joined: Sat Oct 15, 2011 2:33 pm
Location: Chiang Mai, Thailand

Triple display with Raspberry Pi 4

Thu Jun 27, 2019 8:04 am

The Raspberry Pi 4 has three video/display interfaces with two micro HDMI ports, and one MIPI DSI connector.
I understand it's currently to drive two displays over HDMI with up to 1080p60 resolution each, and later maybe 4K30 will be supported. But it is also possible to connect an LCD display to the MIPI DSI interface to get three independent displays, or alternatively just one 4K display connected via HDMI plus the LCD display connected to the MIPI DSI connector. Thanks in advance.

fanoush
Posts: 896
Joined: Mon Feb 27, 2012 2:37 pm

Re: Triple display with Raspberry Pi 4

Thu Jun 27, 2019 8:34 am

There is also DPI on GPIO pins so that makes it four now :-)
On older Pis I think all three (HDMI,DSI,DPI) worked at the same time in some way.

And there are also those cheap Fresco Logic (FL2000) USB3.0 video cards (popular for SDR) that may work now with Pi4 too.

User avatar
Imperf3kt
Posts: 4665
Joined: Tue Jun 20, 2017 12:16 am
Location: Australia

Re: Triple display with Raspberry Pi 4

Thu Jun 27, 2019 8:57 am

Does everybody forget good old composite video on the TRRS jack?
55:55:44:44:4C
52:4C:52:42:41

Rose tinted glasses are difficult to see through.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12848
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Triple display with Raspberry Pi 4

Thu Jun 27, 2019 10:11 am

Not currently, but the hardware potentially could feed 3 devices simultaneously.

There are 3 HVS (Hardware Video Scalar) channels, which each feed into one of the 5 pixel valves at a time, and from there on to output devices. There are a couple of restrictions (eg DSI0 and DPI share a pixel valve), but routing of HVS channel to PV is pretty flexible.

History has only ever required driving 2 displays simultaneously, and so the third HVS channel is assigned in the software to the transposer - it writes back to memory and is used should you wish to transpose (rotate) the display, and also currently for some of the composition with VLC.
If you don't need the transposer then HVS channel 2 would be available and could be used for a 3rd display.

HOWEVER, I see no need to do that in the firmware driver. A full DRM/KMS driver is in the pipeline for Pi4, and with the configuration of that through device tree I can see the possibility of exposing 3 displays.
Memory bandwidth and the V3D max composition size of 7680x7680 are going to limit what is practical, but it's far to early to say where those limits will sit.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

maszoka
Posts: 3
Joined: Sat Dec 05, 2020 8:02 pm

Re: Triple display with Raspberry Pi 4

Sat Dec 05, 2020 8:13 pm

I am designing an embedded projector application, where the Raspberry 7" touchscreen display serves as a UI, HDMI-1 drives a special projector that projects an Infrared pattern. I'd like to use HDMI-2 as an optional development/debug display port.
The projector is 720p, my developer monitor is 1080p, so even with the additional 800x480 display via MIPI I'm well below the 7680x7680 limit.
Could you please point me to documentation or steps to disable the transposer and enable the 3rd display?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12848
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Triple display with Raspberry Pi 4

Sun Dec 06, 2020 3:57 pm

maszoka wrote:
Sat Dec 05, 2020 8:13 pm
I am designing an embedded projector application, where the Raspberry 7" touchscreen display serves as a UI, HDMI-1 drives a special projector that projects an Infrared pattern. I'd like to use HDMI-2 as an optional development/debug display port.
The projector is 720p, my developer monitor is 1080p, so even with the additional 800x480 display via MIPI I'm well below the 7680x7680 limit.
Could you please point me to documentation or steps to disable the transposer and enable the 3rd display?
With the firmware rendering pipe it isn't possible and it's highly unlikely that it ever will be possible.

With the 5.10 kernel it is now possible, however this is still early stages of the 5.10 kernel (it's not released as a mainline kernel yet). DO NOT DO THIS ON A CRITICAL PI.
Update the kernel and firmware using "sudo BRANCH=next rpi-update".
In /boot/config.txt
- Remove the line "dtoverlay=vc4-fkms-v3d"
- Add "dtoverlay=vc4-kms-v3d"
- Add "dtoverlay=vc4-kms-dsi-7inch"
- Add "ignore_lcd=1"
Reboot.
In the Screen Configuration tool you should now get 3 displays showing up.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

noggin
Posts: 106
Joined: Sun Feb 21, 2016 1:55 pm

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 3:05 am

My quick reading of this thread suggests that it is also possible to do a triple display with 2 x HDMI and a GPIO-connected MIPI DPI display or a VGA-connected GertVGA-style display too? (Or is the DSI0 + DPI sharing not what I think?)

Is there a device tree combo for that triple display set-up?

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 4:29 am

noggin wrote:
Wed Dec 16, 2020 3:05 am
My quick reading of this thread suggests that it is also possible to do a triple display with 2 x HDMI and a GPIO-connected MIPI DPI display or a VGA-connected GertVGA-style display too? (Or is the DSI0 + DPI sharing not what I think?)

Is there a device tree combo for that triple display set-up?
i believe HDMI0 + HDMI1 + DPI should be perfectly fine on pi4b/pi400/cm4

but youll need to use the kms drivers, because the firmware reserves a channel for transposing

aBUGSworstnightmare
Posts: 4911
Joined: Tue Jun 30, 2015 1:35 pm

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 5:37 am

noggin wrote:
Wed Dec 16, 2020 3:05 am
My quick reading of this thread suggests that it is also possible to do a triple display with 2 x HDMI and a GPIO-connected MIPI DPI display or a VGA-connected GertVGA-style display too? (Or is the DSI0 + DPI sharing not what I think?)

Is there a device tree combo for that triple display set-up?
triple display is possible with KMS, but as said this is not officially released yet so be prepared to see some issues.
Image

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12848
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 7:40 am

aBUGSworstnightmare wrote:
Wed Dec 16, 2020 5:37 am
noggin wrote:
Wed Dec 16, 2020 3:05 am
My quick reading of this thread suggests that it is also possible to do a triple display with 2 x HDMI and a GPIO-connected MIPI DPI display or a VGA-connected GertVGA-style display too? (Or is the DSI0 + DPI sharing not what I think?)

Is there a device tree combo for that triple display set-up?
triple display is possible with KMS, but as said this is not officially released yet so be prepared to see some issues.
Image
Most issues are now resolved. 5.10 is now the default kernel from rpi-update.
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-kippah-7inch
will get you dual hdmi and dpi for the 800x480 Adafruit Kippah panel.

Choosing alternate resolutions/timings will mean either adding modes manually using xrandr, or altering the compatible string in the Kippah overlay to choose the right one from the panel-simple driver. It may be possible to tag an i2c bus onto it to make a vga port, but I'm not aware of a ready made solution for that.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 9:42 am

6by9 wrote:
Wed Dec 16, 2020 7:40 am
It may be possible to tag an i2c bus onto it to make a vga port, but I'm not aware of a ready made solution for that.
and it may need some i2c level shifters, since vga's EDID likely operates at 5v, while the pi gpio are 3.3v
but that would also be far better then the old vga hacks, since it could auto-detect the supported resolutions, and just magic its way into working, like vga normally does

hmmm, what about putting that edid on gpio 0/1, along with a hat eeprom
would the hat flash not collide with edid flash? and then the hat flash contains a dtbo to configure the dpi+i2c-edid, so it just magically works at every level!

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12848
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 10:30 am

cleverca22 wrote:
Wed Dec 16, 2020 9:42 am
6by9 wrote:
Wed Dec 16, 2020 7:40 am
It may be possible to tag an i2c bus onto it to make a vga port, but I'm not aware of a ready made solution for that.
and it may need some i2c level shifters, since vga's EDID likely operates at 5v, while the pi gpio are 3.3v
but that would also be far better then the old vga hacks, since it could auto-detect the supported resolutions, and just magic its way into working, like vga normally does

hmmm, what about putting that edid on gpio 0/1, along with a hat eeprom
would the hat flash not collide with edid flash? and then the hat flash contains a dtbo to configure the dpi+i2c-edid, so it just magically works at every level!
GPIO 0&1 won't be used for VGA via a VGA666 so could be level shifted for EDID reading.

Rechecking panel-simple, it does look for a ddc-i2c-bus property, and if found will read an EDID from it.
With a couple of level shifters on those lines taking I2C to VGA pins 12 & 15, and 5V to VGA pin 9, it would imply that we can drive VGA as Plug'N'Pray :shock:

HAT EEPROM isn't worth doing - there's no guarantee that vc4-kms-v3d will be enabled, and a VGA666 can be used without KMS.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Wed Dec 16, 2020 10:20 pm

ah, and also no simple/portable way for the hat eeprom to force kms on, since it needs a full dtbo, and cant use dtoverlay=, correct?

User avatar
Gavinmc42
Posts: 6630
Joined: Wed Aug 28, 2013 3:31 am

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 2:50 am

Time to get a CM4 and CM I/O and go for 4 displays?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 3:14 am

Gavinmc42 wrote:
Thu Dec 17, 2020 2:50 am
Time to get a CM4 and CM I/O and go for 4 displays?
wont help, the internal design of the SoC can only drive 3 video ports at once

any extra video would either be non-accelerated (spi displays) or pci-e (not working yet, needs more software development)

andrum99
Posts: 1619
Joined: Fri Jul 20, 2012 2:41 pm

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 4:19 am

cleverca22 wrote:
Thu Dec 17, 2020 3:14 am
Gavinmc42 wrote:
Thu Dec 17, 2020 2:50 am
Time to get a CM4 and CM I/O and go for 4 displays?
wont help, the internal design of the SoC can only drive 3 video ports at once

any extra video would either be non-accelerated (spi displays) or pci-e (not working yet, needs more software development)
Two GPUs would be interesting - VideoCore VI plus one on the PCIe link. Has anyone got an external GPU running with the CM4 yet?

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 4:23 am

andrum99 wrote:
Thu Dec 17, 2020 4:19 am
cleverca22 wrote:
Thu Dec 17, 2020 3:14 am
wont help, the internal design of the SoC can only drive 3 video ports at once

any extra video would either be non-accelerated (spi displays) or pci-e (not working yet, needs more software development)
Two GPUs would be interesting - VideoCore VI plus one on the PCIe link. Has anyone got an external GPU running with the CM4 yet?
none are working yet

User avatar
Gavinmc42
Posts: 6630
Joined: Wed Aug 28, 2013 3:31 am

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 6:00 am

In the meantime this looking interesting.
https://www.phoronix.com/scan.php?page= ... SB-Display
USB boot loading and compression possibilities too.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 7:48 am

Gavinmc42 wrote:
Thu Dec 17, 2020 6:00 am
In the meantime this looking interesting.
https://www.phoronix.com/scan.php?page= ... SB-Display
USB boot loading and compression possibilities too.
ooo, thats nice
that could easily be rolled into an initrd, and then you can usb-boot a pi0 into it using the CM utils
you could also pop it onto an SD card, and then it would boot directly into display mode for any compatible host to use

and since its only LZ4 not h264, it would also be fairly simple to implement in baremetal arm or baremetal vpu, which would allow faster booting

User avatar
Gavinmc42
Posts: 6630
Joined: Wed Aug 28, 2013 3:31 am

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 8:20 am

and since its only LZ4 not h264, it would also be fairly simple to implement in baremetal arm or baremetal vpu, which would allow faster booting
VPU only? That would boot faster?
Let the Arm do the decompression?
Seems a big waste to fire up Linux and only do a USB client.
I have USB booted PiCore Linux on a Zero so smaller things like Barebox would work too.
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 12848
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 9:02 am

cleverca22 wrote:
Wed Dec 16, 2020 10:20 pm
ah, and also no simple/portable way for the hat eeprom to force kms on, since it needs a full dtbo, and cant use dtoverlay=, correct?
You can use the include directive to pull in vc4-kms-v3d, but there are totally valid uses of a VGA666 type board using the firmware, therefore forcing everyone into using KMS with your board is a bad thing. Having to add a dtoverlay= line isn't the end of the world.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

cleverca22
Posts: 5869
Joined: Sat Aug 18, 2012 2:33 pm

Re: Triple display with Raspberry Pi 4

Thu Dec 17, 2020 9:28 am

Gavinmc42 wrote:
Thu Dec 17, 2020 8:20 am
and since its only LZ4 not h264, it would also be fairly simple to implement in baremetal arm or baremetal vpu, which would allow faster booting
VPU only? That would boot faster?
Let the Arm do the decompression?
Seems a big waste to fire up Linux and only do a USB client.
I have USB booted PiCore Linux on a Zero so smaller things like Barebox would work too.
when i was testing some VPU only code on my pi400, i noticed that it sometimes finished booting, before the usb-c cable even fully clicked in
its damn fast, but that speed comes with the cost of all ram, lol
until i get the ddr4 drivers worked out, your limited to 128kb of ram, for both code and data (including the final framebuffer, if you power up the hdmi)

VC4 era (pi0, to pi3) does have open ddr2 drivers, so thats less of an issue

6by9 wrote:
Thu Dec 17, 2020 9:02 am
cleverca22 wrote:
Wed Dec 16, 2020 10:20 pm
ah, and also no simple/portable way for the hat eeprom to force kms on, since it needs a full dtbo, and cant use dtoverlay=, correct?
You can use the include directive to pull in vc4-kms-v3d, but there are totally valid uses of a VGA666 type board using the firmware, therefore forcing everyone into using KMS with your board is a bad thing. Having to add a dtoverlay= line isn't the end of the world.
yeah, i wouldnt want to force that on the user, so id either need a switch and 2 hat chips, or just document how its meant to be used
or document how to reflash the hat chip, to change it there, could allow all 3 routes

maszoka
Posts: 3
Joined: Sat Dec 05, 2020 8:02 pm

Re: Triple display with Raspberry Pi 4

Sat Jan 09, 2021 11:07 pm

Thank you 6by9 for the response.
I updated to 5.10, and added the lines to /boot/config.txt
After reboot none of the displays worked, not even with the previously safe LCD + 1xHDMI. HDMI had no sync, the LCD kind of 'fizzled out' after boot as if the LCD controller removed the drive voltages or stopped flipping.
Probably same issue as: viewtopic.php?f=108&t=293877&p=1783548& ... h#p1783548
When accessing the system with 3 displays attached via VNC, arandr shows two displays (LCD + HDMI)

Can you explain the fundamentals behind the
dtoverlay=vc4-kms-v3d
dtoverlay=vc4-kms-dsi-7inch
ignore_lcd=1
settings?
We are turning on 'real' vs. 'fake' kms, and explicitly specifying the LCD driver?

Regards, Gabor

aBUGSworstnightmare
Posts: 4911
Joined: Tue Jun 30, 2015 1:35 pm

Re: Triple display with Raspberry Pi 4

Sun Jan 10, 2021 7:28 am

None of your displays work? So 7in connected to Adafruit Kippah isn't working as well?
Or .. Wait .. which displays are you using? Have you tested the single displays to work under KMS? Ifyour EDID isn'tcorrect for some reason they will fail....

maszoka
Posts: 3
Joined: Sat Dec 05, 2020 8:02 pm

Re: Triple display with Raspberry Pi 4

Mon Jan 11, 2021 2:51 pm

I am using the https://www.raspberrypi.org/products/ra ... h-display/
Without the mods suggested by 6by9, I can use any of the 2 out of 3 display configurations:
- DSI with HDMI-1
- DSI with HDMI-2
- HDMI-1 with HDMI-2,
but not all 3, based on which displays I physically connect / disconnect from the system.

With the proposed change, none of the displays work, irrespective of what's connected.
HDMI syncs for a second, but then it loses sync, same with the LCD: it displays something for a split second, which then fizzles out.

Return to “Advanced users”