Driveworks 4 sample app failed to to create a window when executed via remote desktop (XRDP)

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
[*] DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
[*] Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
[*] NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.7.0.8846
other

Host Machine Version
[*] native Ubuntu 18.04
other

When I try to run a sample app on the target, it fails with the following error:

$ ./my_samples/sample_camera
libEGL warning: DRI2: failed to authenticate
GFLW error: 65543, EGL: Failed to create context: Arguments are inconsistent
WindowGLFW: Failed create window
terminate...

I suspect that the root cause is that I’m working remotely via XRDP which means the app is trying to use VMWare Open GL driver.
There was an article about using NV_WINSYS choose the desired windowing system.

Can/should we do something similar with the Driveworks samples?

Hi, @user28207
What did you mean “VMWare” Open GL driver? Have you connected any monitor to the target system?

I’ve installed gdm3, ubuntu-unity-desktop and xrdp on both targets and use Windows Remote Desktop client to access these systems.
The glxinfo shows VMWare as the vendor of the GL driver in such case.

Please make sure running the application locally works first.

Not sure what do you mean by “locally” - x86? But the Open GL is platform specific, i.e. x86 and ARM use different libraries and drivers.

Besides, the sample_hello_world worked just fine. It doesn’t do much but it works.
The only difference between this sample and others is that it does not call DriveWorksSample::initializeWindow(). The actual error happens in WindowGLW constructor on glfInit() call which seems to be a pretty clear indication that the issue is on the OpenGL side.
The very first ‘warning’ line:
libEGL warning: DRI2: failed to authenticate
seems to point out that libEGL has some issues but I have no idea about how to approach this warning.

Could you please help me to find the source code of this library?

I meant you might want to make sure running locally on your target system works first, and then further try any remote things. Also, I’m curious why the OpenGL vendor isn’t nvidia on your target.

You can also check if Remote access with OpenGL support with Drive Software 10.0 is still feasible on DRIVE OS 5.2.6.

Sure, I’ll do that the next time when I’m in the office.
The suggested post is about using VNC when I’m using XRDP. While there are some fundamental differences between two solutions I’m wondering why the standard Ubuntu application (mplayer) can open a window and show the video when the Driveworks sample (built or downloaded) fails to do so.

May I know why your OpenGL vendor is vmware?
Why you don’t want to use VNC? It worked for some developers, to say the least.

I’m afraid there is a misunderstanding here: I’m not an OpenGL guru and I don’t know why OpenGL vendor is shown as VMWare when I’m using XRDP protocol. This things are above and beyond my area of interest.
I’m using XRDP because it works faster than VNC and it guarantee that nobody else is using the system I’ve logged in. Besides, when I tried to follow the steps of my predecessor on this Drive AGX unit from April the VNC simply didn’t work.

I’m not not sure that “it worked for some developers” is applicable for the system which targets the automotive market.
I will get to the bottom of it, with or without NVIDIA help, but I’m really surprised that you didn’t test such use case.

For xrdp, I’ll check with our team and update you.
For vnc, Please refer to Unable to start remote desktop server x11vnc xrdp - #5 by karthik.parameswaran.
Thanks.

I’ve install tightvnc server and xfce4 on Xavier B and can access it using VNC viewer form Windows (Xavier A is still running XRDP).
Unfortunately, running a sample resulted in the same error:

nvidia@tegra-ubuntu:~/my_samples/install/bin$ ./sample_camera
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
Xlib:  extension "GLX" missing on display ":1.0".
GLFW error: 65543, EGL: Failed to create context: Arguments are inconsistent
WindowGLFW: Failed create window
terminate called after throwing an instance of 'std::exception'
  what():  std::exception
Aborted (core dumped)
nvidia@tegra-ubuntu:~/my_samples/install/bin$ 

Not sure if it helps, but it worth mentioning that when I built drive-t186ref-linux/samples/opengles2/gears it didn’t work with a similar issue but the version installed from the driveworks deb file works just fine.

I don’t know why you encountered this error. I tried Remote access with OpenGL support with Drive Software 10.0 and didn’t see it.
But currently, our nvsipl_camer does not support X. Please refer to ModeSetCrtc failed for mode index 0.

Please help to create another topic for the DRIVE OS sample. Thanks.

@VickNV , sorry about delayed response.
Yes, I’ve created another topic about opengles2 samples discrepancy.

I have factory-reset the DRIVE AGX, installed gdm3/ubuntu-unity-desktop/xrdp and re-checked the samples - all of them are linked against libEGL_nvidia.so which means they cannot be executed remotely (VNC/XRDP).

Did you have a chance to chat with the development team ?