I am looking for a Dualscreen solution for 2x 1080p monitors.
I know the Hardware is pretty limited on the PI and it would be easier to just use a PC with a graphicscard with multiple outputs.
Well... I have a Computer, but i like to tinker a bit and get it working with the PI.
In my search for the perfect solution I came across Gert666.
Great project, but I want to use the GPIO for other things (audio in, microphone, other things and of course RGB-LEDs) and the Gert666 uses all of them as far as i know.
There are also cheap USB to HDMI or USB to DVI adapters in several online shops.
I dont wanted to go this route. Because I have seen that you can only get slideshows out of them.
Then I came to XDMX.
It took me about a week setting everything up and searching all over the internet to get it working, and in fact it does work right now for me and it does a pretty decent job.
First of all, if anybody is interested on how I did it, I'll try to to explain a bit:
I am using the Raspberry PI 3B+ as my host and a Banana PI M2 Zero as the XDMX client.
At this point I can't really recommend the Banana PI M2 Zero.
It has a Quad-Core, but its not worth the extra 3€ opposed to the Raspberry PI Zero (or maybe Raspberry 3A+?) for this application.
The Support is'nt great and I could barely get some of the "official" OS releases running.
At the end I used an inofficial Armbian from a user at the BPI forums that I think works better then every other "official" release, as long as you dont update it.
My Idea was to keep the LAN-port free on the raspberry for local networking and setup the bananas USB OTG as g_ether host.
That means you just connect a USB cable (USB A -> micro USB) from the raspberry to the banana, and get a new network interface (usb0) on both.
Setting up static IP-Adresses for both and IP routs, I get about 95 MBit/s in Iperf3 (I am not entirely sure if this could be a bottleneck).
If you set this up, dont be stupid like me and waste 2 days on the software just to find out later that the USB cable is broken or does not have data lines.
Now that I have the network connection between the 2 SBCs I installed XDMX (and a Desktop for the Armbian).
As of the time I am writing this XDMX does not work on the Raspberry PI as Host.
It just gives segmentation faults whatever i tried.
The Solution that worked for me is to downgrade and lock XDMX to the version from Raspbian jessie (2:1.16.4-1+deb8u2)
I am using the following script at startup on the raspberry to connect everything:
The banana just needs a desktop and "xhost +" or xhost with the ipaddress at startup.
Code: Select all
#!/bin/bash HOST=banana # wait for 2nd screen LOOP="-1" while [ $LOOP -ne 0 ] do sleep 5 </dev/tcp/$HOST/6000 echo "Waiting for $HOST: $?" LOOP="$?" done sudo chown -R pi:pi /home/pi xauth -b quit #xhost + startx -- /usr/bin/Xdmx :1 -display :0 -display $HOST:0 -norender -noglxproxy -ignorebadfontpaths +xinerama -param XkbModel pc105 -param XkbLayout de
I guess synergy is not needed, since it crashes anyway when xdmx starts, but I have it installed and set up.
With the latest apt-get upgrade somehow everything broke and I was not even able to play a youtube video on the first screen (raspberry), without it turning into a slideshow.
After a little research i found out that disabling OpenGL in raspi-config increased the performance a little.
And somehow (I dont know why) installing libgl1-mesa-dri=10.3.2-1+deb8u1 from jessie, makes it usable again.
Yes, XDMX ist still useable in 2018 even if it's not really maintained for years by now.
On the other hand, dont expect too much, the performance on the 2nd monitor is not really any better than just using an USB to HDMI/DVI adapter.
I have seen XDMX doing pretty well with videos, but from the Raspberry PI i can only have Slideshows on the 2nd screen.
On the plus side I can use the banana PIs remaining processing power for other tasks, what you can't have from an USB to HDMI/DVI adapter, for almost the same price.
Please let me know what you think, and maybe ideas on how to improve it?