User Tools

Site Tools


ΞX2Go Developer Meetings

X2Go Roadmap

Pending X2Go Tasks/Features

We have a pool of ideas that will be started working on some time in the future. Anyone who wants to start working on those ideas is welcome to contact us via IRC or the x2go-dev mailing list.

View our brainstorm pool for X2Go here.

Active X2Go Tasks/Features

We have received funding from an anonymous donor that wishes to see the following issues fixed/features added:

Prio #1 (not started yet)

Fix Lockup of OS X client when running multiple sessions sequentially

At present, X2GoClient on OS X goes into an endless loop and has to be force-terminated after the second or third connection attempt.

Task assigned to: Mihai

Run multiple instances of X2GoClient, or multiple sessions from one instance, all simultaneously (kind of how pyhoca-gui works)

must work on

  • Windows
  • OS X
  • Linux (probably already does)

Stefan would love to see X2GoClient gain the multi-session feature from PyHoCa. In fact, the GUI design of the taskbar icon's context menu hasn't made sense from the start, if X2GoClient is and will always be limited to one session.

Please look at the following screenshots/mockups for a display of the current situation and two alternatives:

X2GoClient current look X2GoClient single-session X2GoClient multi-session

If that is impossible, we need to make sure that multiple instances of x2goclient can co-exist in RAM. Which will be a challenge for OS X.

h1 has a design in mind that addresses multi-sesson support in one X2Go Client instance (also x2goclient2.git on is capable of that, but at the moment it is half-baked and probably temporarily discontinued).


  1. Fix Multi-Instance on Windows
  2. Write wrapper to turn Multi-Instance into Multi-Session mode (especially important for OS X, where Multi-Instance isn't supported)

Task assigned to: Mihai, Mihai, and again, Mihai - with some help by Mike#2 for the Windows client

Prio #2 (not started yet)

Rebase the “Pulseaudio on Mac” code Side note: You need to coordinate your efforts with Mike#2 regarding the microphone mute function.

Task assigned to: Mihai

Improve x2go-broker functionality (shadowing, stable release)

Task assigned to: Mike#1 (8h)

Improve x2go-broker documentation

Task assigned to: Mike#1, Stefan (12-16h)

General improvement on documentation

Task assigned to: Stefan, aided by Mike#1 (hard to say, Mike#1 will coach Stefan for an equivalent of 4h to get things straight, no matter how long it takes)

HTML5 Client tagged as unrealistic given current budget

If budget remains, a HTML5 client would be nice.

There seems to be a disagreement amongst the developers regarding how such a client should be implemented.

  1. One option would be to copy what other remote solutions are using - which means sub-par performance compared to our native NX/X2Go speeds.
  2. A from-scratch approach would bring native speeds, but is a time and money sinkhole.

Task assigned to: <none yet> - could be Alex, Mihai, …?

Alternative to NX-Rewrite tagged as unrealistic given current budget

h1 has some ideas what other F/LOSS codebases might be suitable as a time- and money-saving alternative to doing the NX-Rewrite. He should mention them on x2go-dev to get more feedback, then a competent C/C++ coder should look at the alternatives and evaluate them for suitability.

Task assigned to: <none yet> - could be Alex, Mihai, …?

Work in Progress

Infrastructure and procedures for regularly releasing a new Mac client, at least in the next 1-3 years. (jenkins build slave, cloud-based OS X hosting)

Task assigned to: Stefan (currently researching hosting options); might be expanded to Mike#1, Mihai, Alex and Mike#2

Improve Documentation

General Documentation(Everyone)
Use this wiki to provide a good documentation for X2Go
(5% of 3 months) 5%5%Priority: High

  • write man pages for scripts in $PREFIX/bin and $PREFIX/sbin (Mike → DONE)
  • improve Python API documentation (Mike → DONE)
  • rework and update Wiki pages (everyone → TODO)
  • enrol as many people as possible in helping with the docs (Mike → TODO)

Documentation of X2Go Session Handshake(Mike, ...)
Make the X2Go session handshake more transparent
(10% of 3 months) 10%10%Priority: Medium

Documentation of X2Go Session Broker(Mike)
Make X2Go Session Broker usable by site admins
(90% of 2 weeks) 90%90%Priority: High

License Change

Move over to AGPL-3+(Heinz, Oleksandr, Mike, ...)
Move from GPL-2+ to AGPL-3+ where applicable
(70% of 1-2 years) 70%70%Priority: Low

  • X2Go Client (todo)
  • X2Go Server (todo)
  • Python X2Go (done)
  • PyHoca-GUI (done)
  • PyHoca-CLI (done)
  • X2Go Session Broker (done)
  • (other X2Go components?)

X2Go Protocols

Review X2Go Session Handshake(Oleksandr, Mike, Morty, ...)
Take a closer look at problem in the session handshake
(0% of 1-2 years) 0%Priority: Low

  • Review pulseaudio (If and how to add a pulse-server running on the server and not only the client)

X2Go Server Add-Ons

X2Go Desktop Applet(Oleksandr, Mike, ...)
Provide a universal replacement for the currently available desktop bindings
(0% of 1-2 years) 0%Priority: Low

X2Go Session Broker

X2Go Session Broker integration into LightDM(Mike, ...)
Replace UCCS in LightDM's remote login by X2Go Session Broker (sponsored project)
(100% of 1 month) 100%Priority: high

first attempt at documenting missing NX-libs features for certain applications and desktop environments

Feature/Application or DENX-libs VersionV. req'd for Gnome 3.14V. req'd for KDE5
XServer: RANDR
XServer: Composite
XServer: GLX
XServer: DRI
Client: libXrandr
Client: libXrender
wiki/development/roadmap.txt · Last modified: 2017/05/11 09:45 by stefanbaur