Rebasing NXv3 against latest X.Org -- already ~2,700,000 lines of code removed

We have set sails for a great endeavour. We are cleaning up the nx-X11 / nxagent code tree [1] and rebase it against latest / recent X.Org. Until now, we have been able to drop ~2,700,000 lines of code [2] from the source tree that originally got released by NoMachine.

The plan is...

  • to make NXv3 usable with recent desktop environments (work needed on nxagent's randr proto, composite proto, GL, probably more),
  • facilitate multimedia content over NX via the Telekinesis framework (originally developped for X2Go),
  • make X11 events inside nxagent accessible for third party applications
  • and facilitate NX traffic via unix domain sockets.

For more details, see the Readme.md[3] file on our Github project.

What we have achieved so far...

  • We have only one(!) bundled library left (nx-X11/extras/Mesa--yeah, getting rid of this hunk will be quite an issue, indeed).
  • We are continuously dropping bundled X11 libraries (already dropped: libNX_Xdmcp.so, libNX_Xfont.a, libNX_Xdmcp.so, pending: libNX_Xinerama, libNX_Xrandr, libNX_Xdamage).
  • We have had three major commits that dropped many many lines of completely unneeded imake build logic.
  • We (developers are namely Mihai Moldovan, Michael DePaulo and myself, people from TheQVD are actively joining in at the moment) have just received a patch from Ulrich Sibiller that will provide Xinerama support and recognize the client-side monitor layout in NXv3 natively. So, soon Xinerama support in NXv3 sessions will be available not only to people using X2Go Client (currently the only Xinerama-capable client that wraps around NX).
  • We (mainly Michael DePaulo) hunted down and fixed various CVE issues reported against X.Org (and also applicable to nx-X11).

Cooperations

NXv3 maintenance is a cooperation between developers from the new Arctica Project, the X2Go project and TheQVD project. Is your project based on NXv3 and you are not mentioned here? Please join the team. If you are an X.Org developer and interested in supporting our work? Please join the team.

If anyone using NXv3 and derivatives is interested in our work, consider funding it. If interested in supporting us, please contact me directly (mike.gabriel AT das-netzwerkteam DOT de). If interested in joining in the development of NXv3, please join us on channel #arctica (Freenode IRC).

Light+love,
Mike (aka sunweaver)

[1] https://github.com/ArcticaProject/nx-libs
[2] https://github.com/ArcticaProject/nx-libs/graphs/contributors
[3] https://github.com/ArcticaProject/nx-libs/blob/3.6.x/README.md