# Dual touch screens , one for input and a second for output

I am working on a project where I will need to use two displays. One small touch screen display for easy user input and one HDMI display for video output. So pretty much the user would select an option from the small touch screen (using a GUI I built), and the Pi would play a video on the HDMI display. So the two displays wont be working at the same time. I tried to use one of those Nextion HMI displays but they have very little, (or no) support for Python. Is this possible?

PS: I checked the other questions posted here about dual screens. but my question is different I don't really want to mirror the screens. I would like one for input and one for output. The HDMI will only play the videos. I don't want it to display anything else.

• You're marketing it the wrong way: that's not a touch display, it's a smart input device with software-configurable look and feel. If you make it a bit flatter, you can sell it for 1000 USD: artlebedev.com/optimus/popularis – Thomas Weller Aug 31 '16 at 15:17

While using two displays seems possible, the video core only provides one framebuffer, so the second display can only be used by apps which can output a video signal directly via hardware. As I understand it, this really limits it to video players (and maybe GLES games) supporting display redirection. Anything using Xorg (read: 99% of Linux graphical apps) will need a framebuffer to function.

Note that you will need to make the LCD your primary device (using display_default_lcd=1), so it gets a framebuffer assigned to it.

One workaround I can thing about is to use 2 RPi boards. You can use a Pi Zero to manage the small LCD and communicate with the second RPi which would handle the video playback.

The answer is basically the same. The RPi's hardware only supports a single display. What you do with those displays is irrelevant to that fact.

• Ok is there a way to switch one off and then switch the other one on when you need it? so pretty much when the video is playing the hdmi is on and when the input is needed the touch screen is on – Mosfetdaha May 12 '16 at 22:36
• @Mosfetdaha: not that I'm aware of. My understanding is that all of that stuff is handled by the videocore on boot, and can't be reconfigured without a system restart. – Jacobm001 May 12 '16 at 22:40
• is there a solution to this issue? I really need input using touchscreen. I tought about using push buttons but would be a better project if i use a touchscreen. Using a pi zero perhaps as the input? – Mosfetdaha May 13 '16 at 0:01
• according to this guy it is possible to output video on the hdmi using omxplayer : link – Mosfetdaha May 13 '16 at 0:41

You could use HDMI for your main monitor output.

For your touch screen you, if it only needs to be simple GUI you could try a Serial LCD and Touch Screen.

A more advanced independent one is a µLCD-32PTU by 4D Systems. I bought one of these before the Pi was invented... its really awesome but it costs £80. So buying another Pi would be 3 times cheaper and solve the problem.

You could also develop an HDMI switch, if you do not need both displays on at the same time? Switch the HDMI using an external HDMI switch controllable by software.

You also get USB HDMI screen adaptors. Maybe you can find one that works on USB2.0 and Linux, that way you could get basic 2D graphics rendered to your small touch screen (using X framebuggers), but these things usually cost very close to a the price of a new Pi any way.

i try to display two different images in two display. one hdmi display ,one DSI raspberry pi original display. make two python code.run both and it will display its own images.

install kivy (cross platform)

just i change os.environ["KIVY_BCM_DISPMANX_ID"] = "5" for hdmi Display

os.environ["KIVY_BCM_DISPMANX_ID"] = "4" for DSI Display

You can achieve it buy using two separate processes. "One" process will manage your GUI stuff, "another" will manage HDMI output. Use "another" process as subprocess module to "One" process. The somewhat similar question is already in this forum Using RPi touchscreen as primary display, how to display image on HDMI?