<div dir="ltr">    osg::GraphicsContext::WindowingSystemInterface* wsi = <br>    osg::GraphicsContext::getWindowingSystemInterface();<br>    if ( !wsi ) {<br>        std::cout << "ERROR. Could not access the Windowing System Interface" << std::endl;<br>        throw -1;<br>    }<br>  <br>    std::cout << wsi->getNumScreens() << " screen(s) detected" << std::endl;<br>    for ( unsigned int screen=0 ; screen < wsi->getNumScreens(); screen++ ) {<br>        osg::GraphicsContext::ScreenIdentifier screen_id(screen);<br>        osg::GraphicsContext::ScreenSettings screen_settings;<br>        wsi->getScreenSettings( screen_id, screen_settings );<br>        std::cout << "  Screen #" << screen << " : "<br>                  << screen_settings.width << "x" << screen_settings.height << " "<br>                  << screen_settings.refreshRate << "Hz "<br>                  << screen_settings.colorDepth << " bit" << std::endl;<br>    }<br><br>This simple code snippet fails for me on Ubuntu 18.04 (OSG 3.6.2 and 3.4.0) with:<br><br>Invalid MIT-MAGIC-COOKIE-1 keyA Unable to open display ":0.0"<br>Invalid MIT-MAGIC-COOKIE-1 keyA Unable to open display ":0.0"<br>0 screen(s) detected<br>Invalid MIT-MAGIC-COOKIE-1 keyA Unable to open display ":0.0"<br><br>I have a dedicated NVIDIA GPU with latest drivers (396), running osgviewer works properly. I also checked that getWindowingSystemInterface is being called at the correct time. I have tested this after creating a viewer and it also fails.<br><br>RegisterWindowingSystemInterfaceProxy()<br>X11WindowingSystemInterface()<br>GraphicsContext::setWindowingSystemInterface() 0x55aada1ee9d0   0x7f69e2fc9978<br>GraphicsContext::getWindowingSystemInterface() 0x55aada1ee9d0   0x7f69e2fc9978<br><br>Another thing that makes no sense is that my X session is not :0.0 but :1.*, but no matter what $DISPLAY environment variable has, it is ignored, it is looking for screens in the wrong X session. At this point I don't know what else to try. Am I doing something wrong? Any ideas?</div>