Using the X Virtual Display script from the previous page along with a USB HDMI Capture Adapter and the Linux program guvcview
you can mirror any HDMI compatible device to the RGB Matrix panels. For this example we used a Nintendo Switch, but you can plug in whatever device you want to mirror.

Install Requirements
In addition to everything covered on the Raspberry Pi 5 Setup page, these examples require a few additional requirements to be installed: Xvfb, PyVirtualDisplay, and guvcview. Install them with the following commands.
sudo apt install xvfb sudo apt install guvcview source ~/venvs/blinka_venv/bin/activate pip install pyvirtualdisplay
Run the Virtual Display with guvcview
To display the HDMI input to the panels, you can run the virtualdisplay.py script using guvcview
as the mirrored app command. See the Run Virtual Display Example and Mirrored App Command sections on the previous page for more details about all possible arguments that can be used for configuring different sizes and amounts of RGB matrices.
By default, guvcview
will try to open up two app windows, one with a bunch of configuration options, and the other showing the actual feed from the HDMI input. For mirroring onto the panels, we want to get only the input feed, not the configuration window. The --gui=none
argument instructs guvcview to launch only input feed window.Â
The following command is for 64x64 panels arranged in a 2x2 grid with the no-serpentine arrangement, and in the R180 flipped orientation. Adjust the arguments as needed for your own panel arrangement.
The code for this is the virtualdisplay.py script from the previous page.
python virtualdisplay.py --pinout AdafruitMatrixBonnetBGR --backend xvfb --width 128 --height 128 --no-serpentine --num-address-lines 5 --num-planes 10 --orientation R180 --scale 5 --brightness 0.50 --num-temporal-planes 4 -- guvcview --gui=none
Page last edited March 27, 2025
Text editor powered by tinymce.