Pi 4 dual mouse

I have a PI4 which can handle 2 screens. I want to run a web browser on each screen and have two USB mouse, one dedicated to each screen, so that I can independently operate each screen bases browser. Like two separate computers. This is for a Human Machine interface which will interface to a control system via Ethernet and will only need a screen and mouse with the browser pointing to the controller URL. Once this is set the browser will only need mouse inputs to select the control options. Is this possible and how to do it.

Hi Clem, probably the easiest way to do this would be a multiseat configuration. Essentially running two “computers” on one machine. I would recommend taking a look at this website:

http://www.multi-seat.com/

If I understand your suggestion correctly it requires extra hardware ( USB devices) . Is it possible to do this without any extra hardware so that I plug into the two HDMI ports on the Pi one to each monitor and plug two usb mice in to the pi, one assigned to each screen?

your trying to make 2 computers out of one by the sounds of it…it may require splitting into 2x2 processor threads…don’t know if this can be done running in parallel
however this to take note of…depending on your applications…
2 × micro-HDMI ports (1 × 4kp60 or 2 × 4kp30)

Hi Clem,

That’s a tricky one! It might take some work, but is definitely possible.

Check out these links, they should be helpful:
https://tldp.org/HOWTO/XFree-Local-multi-user-HOWTO/index.html

I wonder, would it be possible to set up 2 virtual machines with machine1 pointing to mouse1 and scree1 and machine2 pointing to mouse 2 and screen and have both VM’s running at the same time? Any ideas

What an interesting question, I have a feeling this is going to massively tank performance. What would be the advantage of running two separate VM (I use this term loosely, as it’s actually essentially running two ‘Pi’ on a single board simultaneously) rather than just having two separate boards running the same OS?

Originally, multiseat was used to save on the cost of having multiple computers when only one was needed between multiple students or staff given the high price (which is still a valid argument today) however, with modern programs, they tend to push computers (particularly Pi) much closer to their limits of performance, so adding extra load where it’s not necessary is often not advised, especially if this is designed to operate two HID. I’m curious to see what you end up doing with the project, please let us know how you go! :smiley:

Have a great day!

1 Like

The HMI does not need high speed, it will only be running a single programme which will be a web browser, nothing else needs to be installed so should be able to have minimal installation. Perhaps a RAM disk can be set up and the some of this used for running the programme to make it faster. I need to know if it is possible to set up a VM so that one can be set to point to mouse1 and screen 1 and the other VM point to mouse 2 and VM2. Is this possible? I do not know much about setting up VM’s especially under lynix - so I want some advise that it is possible before I burn up a lot of time for nothing.

2 Likes

Hey Clem,

Unfortunately, the only way you’ll likely be able to get this up and running is with the multiseat method Mitchell mentioned above or using something like XFree like Oliver mentioned, if you wanted fully separate local machines.

Plugging in two sets of peripherals will just control one set of actions. i.e. Having two mice plugged in will just move the one cursor, or two keyboards will just type the same input, even with something like 2 VM’s.

You may however be able to use something like MouseMux, and a similar keyboard alternative to get this one working on one machine. Hope this helps!

2 Likes