Remote access to Screen, similar to Photon/Phindows before QNX 6.6

Hi,
I want to get Screen output video displayed on a remote computer, a feature similar to what Photon and Phindows enabled in versions 6.5 and below.
So far is does not look to be possible anymore :

  • Graphics.conf : I did not see any option for a remote application to RDP/VNC/… into,
  • QtCreator : Remote control is going through SSH, and as far I can tell only the debugger is controlled
  • I did not find a VNC/RDP implementation for QNX 6.6,

Did I missed something ?

Yeah, I don’t really have a good answer. I miss Photon and all the nice features. I haven’t used Screen yet.

Screen is a lower level service than Photon. In versions 6.4 and 6.5 of QNX, Photon was rewritten and a level equivalent to screen called gf (graphical foundation) was added. Screen was supposed to replace gf.

I suspect that like gf, there is an API call that will return the raw graphical data that is being displayed. Assuming this is the case, a utility, client & server, is possible. If you want to control, you also need to know how to inject keyboard and mouse events.

Is there a utility like Phindows or PhDitto that already does this? I haven’t run into one yet. I have a major client that had to migrate away from QNX to Linux because of support issues including this one.

Hi, thank you, I will explore the solution to drive the display and the controls over network through remote control appliances.
The lack of a such feature definitely brings a cost to development and ease of maintenance.

Hi,
I use VNC successfully with QNX 6.6 (ARM platform).
For this, I use an opensource VNC library. I had to code the VNC server myself (using the library).
It is not optimized in the sense that the full display content is sent when an update is needed (no partial update). I have not tried to enhance this since VNC is mainly for demonstrations of the product, not a production feature.
Keyboard works.
Don’t remember if mouse works (no need on my device) but there’s no reason it does not.

Hi,
Do you have a github that I can use, or maybe a commercial version ?
Thx

Hi,

The WEB page of the VNC server library is the following : http://libvnc.github.io/

I use an old version of libvnc (2015 or 2016). I have never updated it since VNC is used only for internal purposes.

Concerning libvnc :
To be able to compile it with Momentics standard build system, I had to tweak the source files layout.

  • I created a “options” folder and moved some files there.
  • Some files in “common” folder are renamed to not be compiled.
  • The file “rfb/rfbconfig.h” is configured manually.

Of course, the Momentics project is of type “library” and have to be configured correctly (source path, include path, libraries the project depends on…).

I know the sources of libvnc have greatly evolved over time so that everything I described here might not be true with current version.

Concerning the VNC server application :

  • This is not a very complex application but requires a good knowledge of Screen (QNX 6.x graphics) API. At the time I’ve written the application, I contacted QNX support to get help (especially to know when and how to grab display content).
  • The application manages running options to select display (my system uses 2 displays) and to enable mouse management (keyboard management is always on).
  • The application uses PPS to start and stop the VNC server and to define a VNC server password.
  • The “name” of the server is made of two parts : The hostname and a machine specific part.

As the libvnc library is open sourced, I have no problem sharing my work.
I tried to upload a zip of my project here but one can only upload image files.

The vnc server application is another story. I doubt my boss let me share it.

Regards,
Nicolas