NoMachine's own default settings should be suitable for the majority of environments in order to obtain optimal performance.
Nevertheless, in some environments and with particular applications it may be necessary to force specific settings for fine-tuning of the performance and display quality. Due to the wide variety of applications and environments, each case usually requires a proper investigation. The NoMachine Support Team is able to suggest the most suitable configuration for these special cases or can ask to modify certain settings for debug purposes.
This usually requires a manual edit of the ProxyExtraOptions and/or DisplayServerExtraOptions keys in the node configuration file, node.cfg. These keys are available for all server platforms and all NoMachine sessions types but some options apply only to NoMachine Linux virtual desktops and custom sessions.
Note that the pre-pending hash (#), has to be removed from the key if present, in order to uncomment the key and make its custom setting effective. Restarting the server is not necessary, new settings will be applied when a new session is created.
The ProxyExtraOptions key
In the case of Linux virtual desktops and custom sessions, forcing the method to be used to compress images when the X11 vector graphics mode is enabled can help to display sharper images and text. This doesn't have effect on video contents, which are streamed by using the H.264 codec or VP8.
This can be done by setting in node.cfg the ProxyExtraOptions key.
with this setting, PNG lossless encoding and stream compression are applied. This encoding method, however, is more resource intensive and is not recommended in case of slow session responsiveness or limited bandwidth.
Other supported encodings are:
RGB lossless encoding and stream compression are applied. It will produce less compressed images than PNG, but it will be slightly faster.
In this case, no encoding or compression is applied, images are sent as plain X bitmaps. This setting could be helpful in case of high CPU usage, but it requires more bandwidth. It's suitable for example for LAN but may be not indicated for connections from the internet.
Note that configurations above are efficient when virtual sessions are in X11 vector graphics mode (AgentX11VectorGraphics 1 in node.cfg). If X11 vector graphics mode is disabled (AgentX11VectorGraphics 0), video streaming techniques based on H.264 or other codecs are used for all content types.
Another proxy option which may be useful in some cases, allows bandwidth usage to be limited:
It specifies the bitrate limit (n) allowed for this session. Value can be specified in K or M, e.g. '256k', '1m', '100m'.
The DisplayServerExtraOptions key
The DisplayServerExtraOptions key allows to configure specific options for the NoMachine display agent, which is X.org based. Supported options are basically the same of X.org.
In the case of graphics applications like CAD tools making huge amounts of rendering requests, it could be helpful to disable the composite extension to reduce them. This applies to Linux virtual desktops and custom sessions only. Note that some modern desktop environments could have problem to run without this extension.
To disable the composite extension, set:
DisplayServerExtraOptions "-extension Composite"