0

I have Debian 8 with XFCE running on vmware virtualization.

If I work on the console of vSphere no problems.

If I connect over VNC (thighVNC) using "my-hostname:1" I have some problems (I guess the two problems are connected):

1) If i want to to to go to "Applications Menu -> Settings -> Display" then I get the message: "Unable to start the Xfce Display Settings. This system is using RandR 1.1 For the display settings to work version 1.2 is required at least". I do NOT have this problem on the vSphere Console.

2) I installed RStudio. If I want to launch it, it get the following output on the console:

QXcbConnection: Failed to initialize XRandr
Qt:XKEYBOARD extension not presten on the X server
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unsupported screen format: depth 16, red_mask: 3f, blue_mask:f800
...
then a lot of QWidget and QPainter errors
...
and finally a segmentation fault

What is wrong?


Answers to questions below:

sduo find /usr -iname "*libGL.so*" -exec ls -l {} \;

gives:

lrwxrwxrwx 1 root root 14 Aug 19  2015 /usr/lib/x86_64-linux- gnu/libGL.so.1 -> libGL.so.1.2.0
-rw-r--r-- 1 root root 627320 Aug 19  2015 /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0

AND

glxgears

gives:

libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: Can't open configuration file /home/bioinf/.drirc: No such file or directory.
libGL: Can't open configuration file /home/bioinf/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
30063 frames in 5.0 seconds = 6012.055 FPS
Michael
  • 61
  • 1
  • 1
  • 7

1 Answers1

1

The swrast thing is the software renderer. That means it's not finding the hardware driver for your graphics card. There's a bunch of libGL libraries installed and a bunch of of symbolic links to those libraries.

To see these run this from the cmd line.

sudo find /usr -iname "*libGL.so*" -exec ls -l {} \; 

Now the probable cause of your problem is that installing graphics drivers sometimes break these symbolic links. (Specifically /usr/local/lib/libGL.so.1.2.0 is likely to be either the wrong lib or a sym link to the wrong link).

To work out what library the opengl programs are trying to run you can turn on a bit of verbosity and run a simple opengl program. You can verify this using the standard opengl test program:

export LIBGL_DEBUG=verbose
glxgears

Make sure that /usr/local/lib/libGL.so.1.2.0 is a symbolic link pointing at the right opengl library.


So the solution (in this case) is to make sure that /usr/local/lib/libGL.so.1.2.0 is a symbolic link pointing at the right opengl library. For example, lets say I haver an nvidia 3.40 driver :

ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/local/lib/libGL.so.1.2.0

But you'll want to point it at the opengl lib that is appropriate for you (listed in the first find cmd).

Installing (proprietary) graphics drivers can break the symbolic links used for opengl libs. To solve this problem manually fix the symbolic links (fix /usr/local/lib/libGL.so.1.2.0 first).

El Chapo Gluzman
  • 396
  • 2
  • 16
  • see answers above – Michael Jul 07 '16 at 15:33
  • Hi, I met with the same problem when I run a very simple opencv program. When I run it on the console, no warning, but when I run it on my vnc window, I have this `QXcbConnection: Failed to initialize XRandr`, `Qt: XKEYBOARD extension not present on the X server` warning. (program runs still correctly). I checked above anser, the glxgears run without any error. Do you have any suggestion? – Chan Kim Dec 16 '19 at 05:19