Under the 3.5 version, you could set a custom resolution in your session settings. There appears to be no way to do this with version 4.
I know you can use xrandr -s to set resolutions that already exist (xrandr -q) but how do you set something that doesn’t exist in that list? I saw a post from a NoMachine developer on Arstechnica that said the 4.1 release was going to allow this, but I don’t see it.
With the new version, I have found a UI way to do it and a hackish way.
** If you resize the canvas to the desired resolution prior to connecting, the session will attempt a 1:1 connection and add a new modeline for you automatically.
** In the .nxs file, you can find the Resolution XML line and modify it by hand.
In our case, we have a template .nxs file that is copied before nxplayer launch and the XML line is modified with sed to use 90% of the physical screen. This allows for dynamic connections regardless of workstation used. We also have disabled the resize handles so that users are not tempted to play with their canvas.
The 4.x seems designed more for end users to be able to do more…which in some cases has made it harder for system administrators.