The humble USB-C port has brought us so many advantages over its USB ancestors, one of which is as a handy display output for laptops. Simply add an inexpensive adapter and you can hook up everything from a mobile phone upwards to an HDMI display or projector. There’s a snag though, merely having USB-C is not enough as the device has to support the display feature. It’s a problem [Gunnar Wolf] had to face with a Lenovo ARM laptop, and his solution is unexpected. Instead of an adapter, he’s used a Raspberry Pi 3 and some software tricks.
The obvious route to an off-board Pi mirroring onboard video is to use VNC, which he tried but found wanting due to lagginess. As a user of the Wayland compositor he found he could instead use wf-recorder and send its output to a stream, and thus capture his screen in a way that the Pi could read over the network. It’s not quite as convenient a solution as a pure-hardware adapter, but at least it allowed him to share the screen.
It’s surprising how often we find projects needing to mirror the display of a computer using what hardware is to hand, at least this one is more elegant than some others.
6 thoughts on “A Raspberry Pi As An Offboard Display Adapter”
Is it just me or is Wayland still being forced as a change despite a host of software issues? Don’t get me wrong, I like the idea of it but even Nvidia has sort of pushed back recently and it has caused nothing but issues. At you can sort of work around it with the new LTS version in Ubuntu but sheesh it doesn’t feel like it’s there yet and it also breaks a host of things that are happy with X.
“As recently announced by Mark Shuttleworth, Ubuntu will be moving towards using Wayland as its display manager.
What are biggest differences between X11 and Wayland? Why will Wayland make Ubuntu better?”
Except it was “recently” announced 11 and a half years ago!
Xorg is a specific display server which development has been long abandoned where most of today use-cases are implemented as extensions and hacks holding by duct-tape.
Wayland is a protocol.. There is absolutely no such thing as The Wayland Server. (No Weston is only a testing reference implementation on which almost nobody builds on!) Your specific compositor implements and therefore is the server!
Some use common libraries like *wl-roots*. Others like Gnome, Plasma are completely disjunct at everything other than the fact that they implement the wayland protocol.
Many people with AMD and Intel GPUs for example have been using Sway WM (which is a Wayland server based on wl-roots library) for many years. I switched to Sway this year and must say that it is much more robust and flicker-free experience compared to anything running on X.
Nvidia has been the main impediment to adoption, until very recently their drivers didn’t support any of the preferred ways to use egl.
As Grawp said, I _decided_ to switch to Wayland, as Xorg’s speed was dismal on my hardware (and sway/wlroots was just great). It has some quirks I am perfectly able to live with.
There’s a relatively new project that would likely be another fun way to accomplish this.
I have a 5300 RX and always had radeon. Just buy AMD/ATI if you can.
Go with vendors playing the game. You should not beg for hw support anymore.
vote with your wallet.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)