In this project, I explore thin client software, and set up a Raspberry Pi to act as a thin client. This is a multi-part project, follow along below for each sub-project.
A Modern Linux Graphical Terminal Server⌗
For the first project, I setup a remote desktop terminal server, allowing many users to connect to a single server and operate indepednent graphical sessions. My test bench was able to handle a dozen simulatneous users, and a proper server should be able to handle many more. Inspired by an email sent to me, my goal of this project is to create a low cost solution for schools in developing regions to be able to teach programming and other things that require a computer desktop, while using the hardware available (tablets, TVs, …) as the user interface to the desktop. But it’s widely applicable to any organization using Linux, and can be expanded into a cluster and shared storage system to allow all users to do their work with centralized compute, keeping data securely at the server.
2 gamers, 1 cpu, NO Virtualization!⌗
The second project in the series was a ton of fun to research and produce. I was able to use Linux Multiseat to operate a single Ryzen system with two graphics cards (one integrated, one dedicated) to allow two gamers to play native Linux games with full OpenGL and Vulkan support on the same computer. Unlike other people before me, I did not rely on virtualization or hardware passthrough, but this is a purely multi-user Linux solution running on a single kernel.