|
|
[[_TOC_]]
|
|
|
|
|
|
# Make xrdesktop work with GNOME / KDE on Wayland
|
|
|
|
|
|
xrdesktop should work with Wayland on KDE and GNOME, but needs more work in terms of testing and ironing out the last missing parts. This includes patches to `libinputsynth` to implement generic synthesis of input in Wayland compositors, as well as the enhancement of the user experience. This might include upstream work. The final result should be tested and usable in KDE and GNOME.
|
|
|
|
|
|
**You will learn:** C11, GLib, Wayland, OpenGL, Vulkan, KDE, GNOME, C++
|
|
|
|
|
|
**Difficulty:** easy
|
|
|
|
|
|
# Improve UX for mouse / keyboard input
|
|
|
|
|
|
A requested feature is to make xrdesktop work with traditional keyboard / mouse input only. This will most likely require more Xorg / Wayland work and will be kind of a hack on GNOME and KDE. This is also required for a stand alone implementation of xrdesktop for usage with the PC.
|
|
|
|
|
|
**You will learn:** C11, GLib, Wayland, X11
|
|
|
|
|
|
**Difficulty:** medium
|
|
|
|
|
|
# Implement scripting by enabling GObject introspection
|
|
|
|
|
|
Enabling JavaScript and Python bindings is basically free in GObject. We already have gobject-introspection in the build system, but it is never compiled and tested. Writing minimal examples in JavaScript an Python for the whole xrdesktop stack will make development easy and attract new contributors. This will require API and runtime.
|
|
|
|
|
|
More information on this can be found in the issue: https://gitlab.freedesktop.org/xrdesktop/xrdesktop/issues/3.
|
|
|
|
|
|
**You will learn:** C11, GLib, Python, JavaScript, Vulkan
|
|
|
|
|
|
**Difficulty:** hard
|
|
|
|
|
|
# Implement xr_shell_unstable_v1 Wayland protocol for 3D clients
|
|
|
|
|
|
To make xrdesktop support future 3D UI protocol standards, we should implement the xr_shell_unstable_v1 protocol he uses in wxrc to enable stand alone 3D apps on xrdesktop. This would require also rendering improvments in the scene renderer.
|
|
|
|
|
|
https://git.sr.ht/~sircmpwn/wxrc/tree/master/protocol/zxr-shell-unstable-v1.xml
|
|
|
|
|
|
**You will learn:** C11, GLib, Wayland, Vulkan, OpenGL
|
|
|
|
|
|
**Difficulty:** hard
|
|
|
|
|
|
# Extend support for more controllers
|
|
|
|
|
|
With our OpenXR backend we now support a wide range of controllers with very heterogeneous abilities. Implementing profiles and UX improvements for them is part of this project. You will also look deeper into the stack with using custom branches of Monado and OpenHMD, as well as writing patches. It helps if you have diverse controller hardware here.
|
|
|
|
|
|
**You will learn:** C11, GLib, OpenXR, UX
|
|
|
|
|
|
**Difficulty:** medium |
|
|
\ No newline at end of file |