| 1 | I've exactly the same problem. The program runs fine when '3D acceleration' is switched off in the vm settings. |
| 2 | |
| 3 | {{{ |
| 4 | Host: |
| 5 | Windows 7 x64 |
| 6 | Radeon R7 250 |
| 7 | |
| 8 | Guest: |
| 9 | Linux arch-vm 3.18.6-1-ARCH #1 SMP PREEMPT Sat Feb 7 08:44:05 CET 2015 x86_64 GNU/Linux |
| 10 | |
| 11 | VirtualBox: |
| 12 | 4.3.24 |
| 13 | |
| 14 | }}} |
| 15 | |
| 16 | I've compiled the Qt with debug symbols and got the following backtrace from qmlscene. |
| 17 | |
| 18 | {{{ |
| 19 | #0 0x00007ffff4d494b7 in raise () from /usr/lib/libc.so.6 |
| 20 | #1 0x00007ffff4d4a88a in abort () from /usr/lib/libc.so.6 |
| 21 | #2 0x00007ffff5e38460 in qt_message_fatal (context=..., message=...) at /home/wojtek/banana-pro/qt5/qtbase/src/corelib/global/qlogging.cpp:1422 |
| 22 | #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 |
| 23 | #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 |
| 24 | #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 |
| 25 | #6 0x00007fffee59113f in QGLXContext::QGLXContext (this=0x454090, screen=0x438cc0, format=..., share=0x0, nativeHandle=...) |
| 26 | at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp:170 |
| 27 | #7 0x00007fffee55b083 in QXcbIntegration::createPlatformOpenGLContext (this=0x41d470, context=0x44d270) at /home/wojtek/banana-pro/qt5/qtbase/src/plugins/platforms/xcb/qxcbintegration.cpp:254 |
| 28 | #8 0x00007ffff6ae00fc in QOpenGLContext::create (this=0x44d270) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qopenglcontext.cpp:597 |
| 29 | #9 0x00007ffff6a959ed in QGuiApplicationPrivate::init (this=0x41a000) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:1295 |
| 30 | #10 0x00007ffff6a92c6f in QGuiApplication::QGuiApplication (this=0x7fffffffda00, p=...) at /home/wojtek/banana-pro/qt5/qtbase/src/gui/kernel/qguiapplication.cpp:561 |
| 31 | #11 0x00007ffff71c7193 in QApplication::QApplication (this=0x7fffffffda00, argc=@0x7fffffffd8ec: 1, argv=0x7fffffffe008, _internal=328706) |
| 32 | at /home/wojtek/banana-pro/qt5/qtbase/src/widgets/kernel/qapplication.cpp:562 |
| 33 | #12 0x0000000000405427 in main (argc=1, argv=0x7fffffffe008) at /home/wojtek/banana-pro/qt5/qtdeclarative/tools/qmlscene/main.cpp:412 |
| 34 | }}} |
| 35 | |
| 36 | The problem seems to be in the following part of code (qglxintegration.cpp:103): |
| 37 | |
| 38 | {{{ |
| 39 | XVisualInfo *visualInfo = glXGetVisualFromFBConfig(dpy, config); |
| 40 | if (!visualInfo) |
| 41 | qFatal("Could not initialize GLX"); |
| 42 | }}} |
| 43 | |
| 44 | I think the contents of the dpy are: |
| 45 | |
| 46 | {{{ |
| 47 | {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, |
| 48 | 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, |
| 49 | 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", |
| 50 | 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, |
| 51 | flags = 0, min_keycode = 8, max_keycode = 255, keysyms = 0x0, modifiermap = 0x0, keysyms_per_keycode = 0, |
| 52 | 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, |
| 53 | event_vec = {0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a70d0 <_XWireToEvent> <repeats 33 times>, 0x7ffff45b1ec0, |
| 54 | 0x7ffff42a7090 <_XUnknownWireEvent> <repeats 30 times>, 0x7fffee313190 <repeats 17 times>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42fb9c0, |
| 55 | 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff0d3d1b0, |
| 56 | 0x7ffff42a7090 <_XUnknownWireEvent> <repeats 12 times>, 0x7ffff5b1fc50 <repeats 17 times>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, |
| 57 | 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>, 0x7ffff42a7090 <_XUnknownWireEvent>}, wire_vec = {0x7ffff42a70c0 <_XUnknownNativeEvent>, |
| 58 | 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x0 <repeats 33 times>, 0x7ffff45b1e40, 0x7ffff42a70c0 <_XUnknownNativeEvent> <repeats 30 times>, 0x7fffee30e8c0 <repeats 17 times>, |
| 59 | 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, |
| 60 | 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff0d3d0e0, 0x7ffff42a70c0 <_XUnknownNativeEvent> <repeats 12 times>, |
| 61 | 0x7ffff5b1fc40 <repeats 17 times>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, |
| 62 | 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>, 0x7ffff42a70c0 <_XUnknownNativeEvent>}, lock_meaning = 0, lock = 0x428b50, async_handlers = 0x0, bigreq_size = 4194303, |
| 63 | 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, |
| 64 | 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, |
| 65 | 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, |
| 66 | 0x7fffee314260, 0x0 <repeats 124 times>}, generic_event_copy_vec = {0x0, 0x0, 0x0, 0x7fffee312670, 0x0 <repeats 124 times>}, cookiejar = 0x0} |
| 67 | }}} |
| 68 | |
| 69 | 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. |
| 70 | |
| 71 | Please let me know if I can further help. I'd really like to see this problem fixed. |