SPICE-Server für Linux auf aktuellem x86-System (Master-Arbeit)
Verschiedene Usecases erfordern einen effizienten und performanten Remote-Zugriff auf komplette Desktop-Umgebungen (GUI mit teilweise hohen Auflösungen, in denen 3D-beschleunigte Inhalte etc. angezeigt werden), die über die Möglichkeiten von beispielweise Xvnc, Xpra etc. hinausgehen.
Für den Remote-Zugriff soll SPICE zum Einsatz kommen, welches geeignet den Framebuffer der lokalen Grafikkarte abgreift und diesen für den Remote-Transport in ein effizientes Encoding der Desktop-Anzeige schiebt. Hierzu sollen entsprechende Kombinationen aus Hardware (verschiedene Eigenschaften der Grafikkarten für Rendering und Video-Encoding) und einschlägige Video-Libraries (FFmpeg, GStreamer, ...) zum Einsatz kommen. Mit SPICE liegen die für den Transport zum entfernten Endnutzer benötigten weitere Kanäle beispielsweise für bidirektionales Audio, den Zugriff auf USB oder Teile des Filesystems oder Security-Tokens bereits vor. Es gibt Vorarbeiten für den Zugriff auf den Framebuffer in QEMU/KVM-Szenarien in Kombination mit bestimmter Grafikhardware, auf die zurückgegriffen werden kann.
Sinnvolle Vorkenntnisse
Systemkenntnisse Linux (Treiber, Hardware, Bibliotheken, C-Compiler, ...), Programmierkenntnisse C/C++, Umgang mit Video-En-/Decoding(-workflows), grundlegende Netzwerkkenntnisse