PORTS: net/nxserver and net/freenx - heads-up and help needed

dewey hylton freebsd-ports at hyltown.com
Mon Jul 9 18:50:53 UTC 2007

PORTS: net/nxserver and net/freenx - heads-up and help needed

very quick primer:
nx is a great protocol which (among other things) suppresses network packet
round-trips, resulting in X/VNC/rdesktop sessions that are quick and responsive
over high-latency links. for example, using nx i frequently use 1280x1024
desktops with a 14.4k (and sometimes 9600bps) dial-up connection and find my
session completely usable. the actual work is performed by nxserver libraries,
and the sessions are handled by the freenx
front-end. i am the freebsd ports maintainer for both the net/nxserver and
net/freenx ports.

due to the low maturity and aggressive growth of the underlying nx technology, i
believe it's becoming necessary to split these ports into multiple versions
(similar to bash).

a few reasons are (more exist):
- so far the only version of the nxserver backend i've been able to port
completely is 1.4. differences between 1.4/1.5/2.x/3.x make them incompatible
with each other. though freenx-0.7.0 has been released, the freenx port is stuck
at 0.4.4 due to these incompatibilities. to make matters worse, the nxserver-1.4
port currently refuses to build due to some as of yet unresolved issue with the
xorg update.
- there is currently no freebsd-native nxclient available, and the only known
freebsd-capable client (net/linux-nx-client) is maintained by someone else. the
current version of this linux port is incompatible with the 1.4 libraries and
freenx 0.4.4 management front-end.
- 2x.com offers another linux client, but requires the nxserver-1.5 libraries
and updated freenx frontend.
- the latest freenx release, 0.7.0, requires nxserver-2.x libraries.
- the latest (official) nomachine windows/mac/linux clients require the new
nxserver-3.x libraries.

so that pretty much explains why i think it'd be a good idea to have different
versions of the backend libraries available. the next problem is that i
have been unable to understand the code enough to port the newer versions
properly to freebsd. i've worked on the 1.5 and 2.x libraries and they mostly
compile now, but some of the libraries do not work as expected and must be
debugged further. i am a lowly sysadmin and know very little C and even les
s about X libraries, which is what these libraries are based on. i've been able
to get fairly far (1.4 worked very well, and continues to work well through
6.2-RELEASE) with the help of a few special people and by googling and such. but
at this point i'm far enough behind that i may never catch up without help.

if you're knowledgeable about C and X, i'd greatly appreciate any help you could

one starting point would be the current nxserver-1.4 port. it builds fine with
the ports tree prior to the xorg update, and is even available in package form
for 6.2-RELEASE. following the xorg update, however, the build fails. i'll try
to detail that in another message shortly.

another starting point would the 1.5 or 2.1 ports at
http://www.deweyonline.com/nx/freebsd.html ... these are both listed as alpha
mostly because not all features work yet, though i think they are both fairly
close to being finished.

thanks for the help so far, and (hopefully) in the future. i can be reached
several ways, but for this project i'd prefer the following email address:
freenx(at)deweyonline(dot)com ... you can also find me on freenode in #nx as
BugeyeD ...


PS - over the years i have hacked together a ton of other sysadmin-type and
miscellaneous stuff related to freebsd, a very small amount of which has been
put online. feel free to peruse and use/fix/contribute while you're waiting for
the nxserver libs to compile. :) the 6.2-release with encrypted root was my
latest effort, and i'm happy to say it works great on two desktops and one laptop.


Only two defining forces have ever offered to die for you,
Jesus Christ and the American G.I.
One died for your soul, the other for your freedom.

More information about the freebsd-ports mailing list