Question re: Remote Desktop Server Usage of Raspberry Pi's Onboard VRAM/GPU (Nomachine, VNC, etc.)?

Hopefully simple question: if I’m running a machine headless (no display), and the only GUI is served via a remote access service (nomachine, VNC, etc.), how much does the Raspberry Pi’s onboard graphics chip and VRAM actually do?

I don’t think it sends me pre-rendered video, especially when I have client-side options enabled related to, e.g., local hardware acceleration.

At the same time, providing a remote desktop service is clearly making the CPU do something: nomachine tends to eat up 2GB of RAM and a good chunk of my CPU on the Raspberry Pi 4b when it’s just sitting there doing nothing.

Any insights into how this all fits together would be appreciated.

While VNC uses the terminlogy of server for the remote system and viewer for the local system - it is more like an opposite view of the server/client method.

We are used to the remote system to be serving us something - either a webpage or sending a mail and the client is consuming the data or service.

With VNC it is opposite - your workstation becomes the server as it is serving kbd, mouse and monitor to the client - the Pi.

The VNC service in the Pi is reacting to the servers kbd and mouse and in return sends back the images generated by the client to the server. The images you see on your workstation is generated by the Pi and sent over the wire - and the quality of the connection greatly influence the quality of the recevived images.

You can modify the viewer connection options for the vnc server on your workstation but in any case the image is generated on the Pi. My RPi4/8GB (Ethernet) streams FHD over SSH without any loss of quality. TigerVNC doesn’t transmit audio.

The original RaspberryPi OS comes with RealVNC - a courtesy of RealVNC towards the RaspberryPi project.

As this is a commercial version of VNC you may be able to tweak it further.

But if your intention is to stream movies then a better solution is to use RTSP directly from the PI to e.g. VLC.

This is one of the ways to use the raspberry pi as surveillance camera.

2 Likes

What are you seeing? It works well for me, I don’t see the same issues. However, I do not run my rpi non-stop and that may be the difference.

Are you just disconnecting the session or logging out of the desktop and then disconnecting? Only disconnecting leaves the session running.

    523 ?        Ssl    1:15 /usr/NX/bin/nxserver.bin --daemon
    694 ?        Sl     0:00 /usr/NX/bin/nxd
    719 ?        S<     0:00 /usr/NX/bin/nxexec --node --user lightdm --priority realtime --mode 0 --pid 46
    726 ?        S<l    0:05 /usr/NX/bin/nxnode.bin
MiB Mem :   7821.5 total,   6848.2 free,    295.8 used,    677.5 buff/cache
MiB Swap:   4096.0 total,   4096.0 free,      0.0 used.   7373.4 avail Mem
top - 14:01:21 up  5:42,  1 user,  load average: 0.26, 0.34, 0.36
1 Like

I’ll have to test this to be sure, but I think you nailed it.

I’m pretty sure I was leaving each session running, and then starting a new one.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.