[Interest] multiple displaying backends on OS X?
Thiago Macieira
thiago.macieira at intel.com
Sun Jan 25 23:05:43 CET 2015
On Sunday 25 January 2015 22:21:31 René J.V. Bertin wrote:
> On Sunday January 25 2015 18:59:32 Thiago Macieira wrote:
> > It requires that the dependent libs be installed. Please consult your
> > system's documentation on how to install libxcb and stuff.
>
> I'm that guy doing a MacPorts port of Qt 5.4, remember? :)
Yup, so consult yourself :-)
> - mkspecs/common/macx.conf has no definition for QMAKE_LIBS_X11
It shouldn't need that. We want libxcb, not libX11.
> - after adding one, X11 and enough of xcb are found using `configure -qt-xcb
> -xcb-xlib`, but the OpenGL libraries to be used remain clamped on the
> native OS X frameworks. So GLX isn't found according to configure
> (correctly so), but regardless of that conclusion glX functions are
> referenced (and not found) when linking offscreen.dylib and libqxcb.dylib.
-qt-xcb allows you to have X11 (xcb) support even without system libs.
Providing OpenGL support is a platform requirement, not Qt's.
> - Adding a definition for QMAKE_LIBS_GL=-lGL doesn't cause GLX to be
> detected
Ensure you have libxcb-glx (which -qt-xcb doesn't provide).
> - offscreen.dylib also builds for the standard OS X build, so it
> was easy to remove the dependency on GLX
I don't see how your premise allows you to conclude your conclusion. Yes,
offscreen compiles, but what does that have to do with GLX?
> - if I add /opt/local/lib/libGL.dylib manually to the libqxcb.dylib link
> step, GLX functions are found, but I am still missing something else:
> > Undefined symbols for architecture x86_64:
> > "QGenericUnixTheme::themeNames()", referenced from:
> > QXcbIntegration::themeNames() const in qxcbintegration.o
> >
> > "QGenericUnixTheme::createUnixTheme(QString const&)", referenced from:
> > QXcbIntegration::createPlatformTheme(QString const&) const in
> > qxcbintegration.o>
> >
> > "vtable for QGenericUnixServices", referenced from:
> > QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**)
> > in
> > qxcbintegration.o>
> >
> > NOTE: a missing vtable usually means the first non-inline virtual member
> > function has no definition.>
> >
> > ld: symbol(s) not found for architecture x86_64
> > clang: error: linker command failed with exit code 1 (use -v to see
> > invocation)
>
> I think that answers my question if the xcb platform has ever been built for
> OS X ...
Right.
> Out of curiosity: does Qt do actual OpenGL on a remote X11 display?
The GLX calls will work. The pure OpenGL ones may not work properly, depending
on your OpenGL library.
Anyway, the question is nonsensical: you want OpenGL for hardware access
(ostensibly for performance reasons) and you don't get that with remote X
anyway. Any application willing to be run on a remote X11 display needs to
figure out a software fallback on its own.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list