Opened 10 years ago
Last modified 9 years ago
#13648 new defect
VirtualBox 4.3.20 Could Not Initialize GLX
Reported by: | amclain | Owned by: | |
---|---|---|---|
Component: | guest additions | Version: | VirtualBox 4.3.20 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description
After upgrading from VirtualBox 4.3.12 to 4.3.20, attempting to run a QML application results in the error: "Could not initialize GLX". There appears to be a problem with OpenGL in the guest extensions.
System Info:
Host: Windows 7 Professional 64-bit SP1 AMD Phenom II N950 Quad-Core ATI Mobility Radeon HD5650 VirtualBox v4.3.20 r96997 Extension Pack v4.3.20 r96996 Guest: Xubuntu lsb_release: Ubuntu 14.04.1 LTS uname: Linux 3.13.0-40-generic #69-Ubuntu SMP Thu Nov 13 17:53:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Relevant Packages: mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev
Output:
$ qmlscene test.qml --resize-to-root libGL error: pci id for fd 10: 80ee:beef, driver (null) OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000001acf250, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000001acf250 OpenGL Warning: Retry with 0x8002 returned 0 visuals Could not initialize GLX Aborted (core dumped)
Sample Code:
import QtQuick 2.2 Rectangle { width: 640 height: 480 color: 'black' }
Qt Download: http://www.qt.io/download-open-source/
Change History (8)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
Hi,
I have been experiencing a similar problem so tried installing the VBoxAdditions that you attached.
I am running Ubuntu 14.04LTS 64-bit in the VM, hosted by Windows 7 64-bit.
The problem I am experiencing with the v4.3.20 VBoxAdditions shows up if I try to run P4V (a perforce client). The output is as follows:
libGL error: pci id for fd 10: 80ee:beef, driver (null) OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table OpenGL Warning: glVertexArrayRangeNV not found in mesa table OpenGL Warning: glCombinerInputNV not found in mesa table OpenGL Warning: glCombinerOutputNV not found in mesa table OpenGL Warning: glCombinerParameterfNV not found in mesa table OpenGL Warning: glCombinerParameterfvNV not found in mesa table OpenGL Warning: glCombinerParameteriNV not found in mesa table OpenGL Warning: glCombinerParameterivNV not found in mesa table OpenGL Warning: glFinalCombinerInputNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table OpenGL Warning: glDeleteFencesNV not found in mesa table OpenGL Warning: glFinishFenceNV not found in mesa table OpenGL Warning: glGenFencesNV not found in mesa table OpenGL Warning: glGetFenceivNV not found in mesa table OpenGL Warning: glIsFenceNV not found in mesa table OpenGL Warning: glSetFenceNV not found in mesa table OpenGL Warning: glTestFenceNV not found in mesa table libGL error: core dri or dri2 extension not found libGL error: failed to load driver: vboxvideo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo OpenGL Warning: XGetVisualInfo returned 0 visuals for 0000000003790850 OpenGL Warning: Retry with 0x8002 returned 0 visuals OpenGL Warning: glXGetFBConfigAttrib for 0000000003790850, failed to get XVisualInfo
The first thing I get after installing your version of the guest additions is that apport reports that /usr/lib/libgnome-descktop-3-7/check_gl_texture_size crashes with signal 5 in rtThreadGet().
Then if I try to run 4v this also crashes:
chris@chriso-VirtualBox:~$ libGL error: pci id for fd 10: 80ee:beef, driver (null) !!Assertion Failed!! Expression: <none> Location : /home/michael/vbox/branches/VBox-4.3/src/VBox/Runtime/common/misc/thread.cpp(553) RTTHREADINT* rtThreadGet(RTTHREADINT*) Thread=0000000002639250
Don't know if that gets us anywhere? Thanks Chris
comment:3 by , 10 years ago
Please try again with this build:
https://www.215389.xyz/download/testcase/VBoxGuestAdditions.zip
Thanks!
comment:4 by , 10 years ago
With that version, behaviour seems the same as with the 4.3.20 released version. Could you give more detailed instructions on installing debugging symbols and obtaining a backtrace? I don't know how to do either of these things. Thanks Chris
comment:5 by , 10 years ago
I'm afraid I can't tell you where to get symbols for P4V, I assume it is not from the Ubuntu repositories. You can get a back-trace by running your application under gdb:
$ gdb --args <application command line> [...] (gdb) run [...] [The application encountered a segmentation fault at...] (gdb) backtrace
comment:6 by , 10 years ago
I've exactly the same problem. The program runs fine when '3D acceleration' is switched off in the vm settings.
Host: Windows 7 x64 Radeon R7 250 Guest: Linux arch-vm 3.18.6-1-ARCH #1 SMP PREEMPT Sat Feb 7 08:44:05 CET 2015 x86_64 GNU/Linux VirtualBox: 4.3.24
I've compiled the Qt with debug symbols and got the following backtrace from qmlscene.
#0 0x00007ffff4d494b7 in raise () from /usr/lib/libc.so.6 #1 0x00007ffff4d4a88a in abort () from /usr/lib/libc.so.6 #2 0x00007ffff5e38460 in qt_message_fatal (context=..., message=...) at /home/wojtek/banana-pro/qt5/qtbase/src/corelib/global/qlogging.cpp:1422 #3 0x00007ffff5e34e00 in QMessageLogger::fatal (this=0x7fffffffd3b0, msg=0x7fffee5e64c1 "Could not initialize GLX") at /home/wojtek/banana-pro/qt5/qtbase/src/corelib/global/qlogging.cpp:643 #4 0x00007fffee590d75 in createDummyWindow (dpy=0x4296d0, config=0x5e50f0, screenNumber=0, rootWin=373) at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp:103 #5 0x00007fffee591d3e in QGLXContext::init (this=0x454090, screen=0x438cc0, share=0x0) at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp:294 #6 0x00007fffee59113f in QGLXContext::QGLXContext (this=0x454090, screen=0x438cc0, format=..., share=0x0, nativeHandle=...) at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp:170 #7 0x00007fffee55b083 in QXcbIntegration::createPlatformOpenGLContext (this=0x41d470, context=0x44d270) at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:254 #8 0x00007ffff6ae00fc in QOpenGLContext::create (this=0x44d270) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qopenglcontext.cpp:597 #9 0x00007ffff6a959ed in QGuiApplicationPrivate::init (this=0x41a000) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:1295 #10 0x00007ffff6a92c6f in QGuiApplication::QGuiApplication (this=0x7fffffffda00, p=...) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:561 #11 0x00007ffff71c7193 in QApplication::QApplication (this=0x7fffffffda00, argc=@0x7fffffffd8ec: 1, argv=0x7fffffffe008, _internal=328706) at /home/wojtek/banana-pro/qt5/qtbase/src/widgets/kernel/qapplication.cpp:562 #12 0x0000000000405427 in main (argc=1, argv=0x7fffffffe008) at /home/wojtek/banana-pro/qt5/qtdeclarative/tools/qmlscene/main.cpp:412
The problem seems to be in the following part of code (qglxintegration.cpp:103):
XVisualInfo *visualInfo = glXGetVisualFromFBConfig(dpy, config); if (!visualInfo) qFatal("Could not initialize GLX");
I think the contents of the dpy are:
{ext_data = 0x0, free_funcs = 0x42aa00, fd = 3, conn_checker = 0, proto_major_version = 11, proto_minor_version = 0, vendor = 0x428890 "The X.Org Foundation", resource_base = 41943040, resource_mask = 2097151, resource_id = 0, resource_shift = 0, resource_alloc = 0x7ffff42a5590 <_XAllocID>, byte_order = 0, bitmap_unit = 32, bitmap_pad = 32, bitmap_bit_order = 0, nformats = 7, pixmap_format = 0x42aa50, vnumber = 11, release = 11701000, head = 0x0, tail = 0x0, qlen = 0, last_request_read = 395, request = 395, last_req = 0x7ffff45a39c0 "", buffer = 0x430a50 "\217", bufptr = 0x430a50 "\217", bufmax = 0x434a50 "", max_request_size = 65535, db = 0x0, synchandler = 0x0, display_name = 0x428ad0 ":0", default_screen = 0, nscreens = 1, screens = 0x42ab00, motion_buffer = 256, flags = 0, min_keycode = 8, max_keycode = 255, keysyms = 0x0, modifiermap = 0x0, keysyms_per_keycode = 0, xdefaults = 0x436720 "Xft.dpi:\t96\nXft.antialias:\t1\nXft.hinting:\t1\nXft.hintstyle:\thintmedium\nXft.rgba:\tnone\n", scratch_buffer = 0x0, scratch_length = 0, ext_number = 7, ext_procs = 0x4541a0, event_vec = {0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a70d0 <_XWireToEvent> <repeats 33 times>, 0x7ffff45b1ec0, 0x7ffff42a7090 <_XUnknownWireEvent> <repeats 30 times>, 0x7fffee313190 <repeats 17 times>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42fb9c0, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff0d3d1b0, 0x7ffff42a7090 <_XUnknownWireEvent> <repeats 12 times>, 0x7ffff5b1fc50 <repeats 17 times>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>}, wire_vec = {0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x0 <repeats 33 times>, 0x7ffff45b1e40, 0x7ffff42a70c0 <_XUnknownNativeEvent> <repeats 30 times>, 0x7fffee30e8c0 <repeats 17 times>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff0d3d0e0, 0x7ffff42a70c0 <_XUnknownNativeEvent> <repeats 12 times>, 0x7ffff5b1fc40 <repeats 17 times>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>}, lock_meaning = 0, lock = 0x428b50, async_handlers = 0x0, bigreq_size = 4194303, lock_fns = 0x4287d0, idlist_alloc = 0x7ffff42a55e0 <_XAllocIDs>, key_bindings = 0x0, cursor_font = 0, atoms = 0x0, mode_switch = 0, num_lock = 0, context_db = 0x0, error_vec = 0x0, cms = {defaultCCCs = 0x0, clientCmaps = 0x0, perVisualIntensityMaps = 0x0}, im_filters = 0x0, qfree = 0x0, next_event_serial_num = 1, flushes = 0x0, im_fd_info = 0x0, im_fd_length = 0, conn_watchers = 0x0, watcher_count = 0, filedes = 0x42a9d0 "\003", savedsynchandler = 0x0, resource_max = 2097146, xcmisc_opcode = 0, xkb_info = 0x436780, trans_conn = 0x0, xcb = 0x428730, next_cookie = 0, generic_event_vec = {0x0, 0x0, 0x0, 0x7fffee314260, 0x0 <repeats 124 times>}, generic_event_copy_vec = {0x0, 0x0, 0x0, 0x7fffee312670, 0x0 <repeats 124 times>}, cookiejar = 0x0}
I still have to figure out how to get contents of config variable as gdb gives me <incomplete type> when I try to print it.
Please let me know if I can further help. I'd really like to see this problem fixed.
comment:7 by , 9 years ago
Hello,
I see the same issues. I've tried many combinations of vritualbox version, guest addition versions, and qt5 versions, but I always get this error: libGL error: failed to load driver: vboxvideo Is anyone familiar with a combination which works with openGL 3D?
Thank you, Ran
comment:8 by , 9 years ago
As I have stated before, the test of whether 3D pass-through is working is to run glxinfo and see whether the strings contain "Humper" and "Chromium". If so, basic pass-through is working, although many 3D applications will probably not (those applications will usually work, slowly, if 3D pass-through is not working).
If you are interested in trying the latest development code (which is still far from fully working), you could try installing these Additions:
https://www.215389.xyz/download/testcase/VBoxGuestAdditions_5.0.51-105168.iso
Development code, so there is always a risk that you may need to repair your virtual machine afterwards, or better: take a snapshot first.
I was unable to reproduce this locally with my first attempts. Would you be able to install debugging symbols for the relevant Ubuntu system libraries and a copy of the 4.3.21 Additions with debugging symbols<1> (you will need to manually execute the .run file on the ISO image) and get a back-trace? Thanks!
<1> https://www.215389.xyz/download/testcase/VBoxGuestAdditions.zip