Edit detail for DevJournal revision 3 of 8

1 2 3 4 5 6 7 8
Editor: DonovanBaarda
Time: 2014/10/24 22:55:45 GMT+11
Note:

changed:
-3. Why the hell does qtcreator need GLX anyway? A search tells me "qtcreator -noload Welcome" fixes it. And Hey! it's running! But WTF, and I'm not making this up, the keyboard mapping is all weird! Instead of a 'qwerty' keyboard I now have a 'c.gvn' keyboard... and only in qtcreator, all the other apps run fine. I guess that "XKEYBOARD extension not present" warning was serious.
3. Why the hell does qtcreator need GLX anyway? A search tells me "qtcreator -noload Welcome" fixes it. And Hey! it's running! But WTF, and I'm not making this up, the keyboard mapping is all weird! Instead of a 'qwerty' keyboard I now have a 'c.gvn' keyboard... and only in qtcreator, all the other apps run fine.

  I guess that "XKEYBOARD extension not present" warning was serious.

Running qtcreator

I just want to run Qt5's qtcreator to do UI work on OpenTrack?. The problem is my current development platforms are;

  1. A windows 7 game box. Grunty, but a crappy development environment. Also the platform I want to run OpenTrack? on.
  2. A headless Debian Linux box (minkirri). Very comfortable development env with full dev debs of Qt5 and OpenCV?.

It turns out qtcreate is a graphical IDE, and thus needs more than an ssh terminal to run. So things I tried are;

  1. Install cygwin on the windows 7 box. I can run X11, ssh to the linux box, and run qcreator there! It doesn't work:

    $ qtcreator
    libGL error: failed to load driver: swrast
    <...it just hangs with nothing happening, and needs ^C to exit>
    $ export LIBGL_DEBUG=verbose
    $ qtcreator
    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: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
    libGL: Can't open configuration file /home/abo/.drirc: No such file or directory.
    libGL: Can't open configuration file /home/abo/.drirc: No such file or directory.
    libGL error: failed to load driver: swrast
    function is no-op
    <... nothing again, needs another ^C>
    $ export LIBGL_ALWAYS_INDIRECT=1
    $ qtcreator
    function is no-op
    <... and still nothing...^C>
    
It's just not working at all. Thinking maybe cygwins GLX stuff is dodgey, I ran glxgears. It creates the window with the gears, but then proceeds to claim 50~2000 fps with no visible changes in the gears window at all. That's with and without LIBGL_ALWAYS_INDIRECT=1. So maybe the GLX stuff is a bit dodgey.
  1. Install xrdp, tightvnc, and LXDE on the linux box. Run windows remote desktop to access it and get a whole linux desktop running on the linux box in a window on the windows box. It doesn't work there either::

    $ qtcreator
    Qt: XKEYBOARD extension not present on the X server.
    Xlib:  extension "RANDR" missing on display ":10.0".
    Could not initialize GLX
    Aborted
    <... hey, at least it crashes instead of hangs.>
    
Note LIBGL_DEBUG=verbose and LIBGL_ALWAYS_INDIRECT=1 had no effect. A search of the internet suggested tightvnc has no GLX support. It's unclear if the alternative vnc4server does, with some bugs/posts suggesting it once did but now doesn't. The latest thing everyone recommends is TurboVNC? with VirtualGL? for client-side hardware rendering, but its comercial with no Debian debs. I tried vnc4server and it didn't help.
  1. Why the hell does qtcreator need GLX anyway? A search tells me "qtcreator -noload Welcome" fixes it. And Hey! it's running! But WTF, and I'm not making this up, the keyboard mapping is all weird! Instead of a 'qwerty' keyboard I now have a 'c.gvn' keyboard... and only in qtcreator, all the other apps run fine.
I guess that "XKEYBOARD extension not present" warning was serious.
  1. try "--noload Welcome" with cygwin ssh'ed to the linux box: It works! Hooray!

If anyone has any hints why so many of these attempts didn't work, I'd love to hear them.