[Interest] When does Qt load its plugins?
Thiago Macieira
thiago.macieira at intel.com
Wed Jul 13 17:55:35 CEST 2016
Em quarta-feira, 13 de julho de 2016, às 14:14:34 PDT, Elvis Stansvik
escreveu:
> If I'm going to guess a little:
> > tmp/usr/lib/qt5/plugins/bearer/libqconnmanbearer.so
> > tmp/usr/lib/qt5/plugins/bearer/libqgenericbearer.so
> > tmp/usr/lib/qt5/plugins/bearer/libqnmbearer.so
>
> I don't think I need these, since I'm not doing anything with a GPS?
Nor do they.
That's about the network bearer: those plugins tell QNetworkConfiguration
whether you're connected or not, etc. On desktop Linux, you don't need them
and the application can assume you're always connected. (yes, it can assume
that)
> > tmp/usr/lib/qt5/plugins/designer/libcontainerextension.so
> > tmp/usr/lib/qt5/plugins/designer/libcustomwidgetplugin.so
> > tmp/usr/lib/qt5/plugins/designer/libqquickwidget.so
> > tmp/usr/lib/qt5/plugins/designer/libtaskmenuextension.so
> > tmp/usr/lib/qt5/plugins/designer/libworldtimeclockplugin.so
>
> These I think are only required by Qt Designer?
Correct.
> > tmp/usr/lib/qt5/plugins/generic/libqevdevkeyboardplugin.so
> > tmp/usr/lib/qt5/plugins/generic/libqevdevmouseplugin.so
> > tmp/usr/lib/qt5/plugins/generic/libqevdevtabletplugin.so
> > tmp/usr/lib/qt5/plugins/generic/libqevdevtouchplugin.so
> > tmp/usr/lib/qt5/plugins/generic/libqtuiotouchplugin.so
>
> These ones I'm unsure about, they sound quite important?
That depends on your platform plugin. If you're using the XCB plugin (as a
regular desktop Linux application would), then you don't need those. If you
use EGLFS or DirectFB or some other, you may need those to get the input from
the system.
> > tmp/usr/lib/qt5/plugins/iconengines/libqsvgicon.so
>
> If I want to use SVG icons I'll include this one?
Correct. Note: this is about SVG icons in QIcon, not about generic SVG support
in QImage.
If you're on desktop Linux, you want this as SVG icons are part of the icon
theme spec.
> > tmp/usr/lib/qt5/plugins/imageformats/libqgif.so
> > tmp/usr/lib/qt5/plugins/imageformats/libqico.so
> > tmp/usr/lib/qt5/plugins/imageformats/libqjpeg.so
> > tmp/usr/lib/qt5/plugins/imageformats/libqsvg.so
>
> These I'll include according to my requirements, that's easy.
Indeed.
> > tmp/usr/lib/qt5/plugins/platforminputcontexts/libcomposeplatforminputconte
> > xtplugin.so
> > tmp/usr/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontext
> > plugin.so
> These ones's I'm unsure about. They could be important.. or are they
> just for specialized input methods?
They are.
The first one is responsible for support for the Compose key and dead keys on
X11. You want those because your users may use them.
The second is about accessibility. Include it.
> > tmp/usr/lib/qt5/plugins/platforms/libqlinuxfb.so
> > tmp/usr/lib/qt5/plugins/platforms/libqminimal.so
> > tmp/usr/lib/qt5/plugins/platforms/libqoffscreen.so
> > tmp/usr/lib/qt5/plugins/platforms/libqxcb.so
>
> Out of these I think I'll only need the XCB plugin, since my app is
> exclusively for X11.
Correct. Though you may consider including the Wayland one too (not on your
list).
> > tmp/usr/lib/qt5/plugins/platformthemes/libqgtk2.so
>
> This one I don't need, unless I want my application to integrate
> better in a Gtk-based desktop environment..? (guessing here)
Which means you want it.
> > tmp/usr/lib/qt5/plugins/printsupport/libcupsprintersupport.so
>
> I'll include this if I want CUPS printing support (I think I do).
Right. If you're including QtPrintSupport library, you probably want this.
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_debugger.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_inspector.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_local.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_native.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_profiler.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_server.so
> > tmp/usr/lib/qt5/plugins/qmltooling/libqmldbg_tcp.so
>
> I'm not using QML, so I won't need these?
And they are for debugging.
> > tmp/usr/lib/qt5/plugins/sqldrivers/libqsqlite.so
>
> And not SQLite, so no need for this.
If you don't deploy QtSql, you don't need any of the sqldrivers. If you do,
you should find out which drivers you need.
> > tmp/usr/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
>
> This one I think is important, but could someone confirm?
Yes, it's required to get OpenGL on X (a.k.a. GLX).
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list