Open plfiorini opened 6 years ago
Looks like the issue is either with Docker or Qt itself. Tested with Arch Linux and Fedora 28 bases.
I assume it is a QT5 issue. It appears with several QT applications on debian buster, too. Same applications run fine on debian stretch. (All in docker).
An old related thread with also some recent answers that may help to track down the issue: https://stackoverflow.com/questions/17106315/failed-to-load-platform-plugin-xcb-while-launching-qt5-app-on-linux-without
The issue is solved (citing from https://github.com/mviereck/x11docker/issues/76):
It turns out to be an issue with statx
syscall. It is already whitelisted in recent docker versions, but did not reach the distributions yet. It is fixed in docker-ce 18.06, but not in 18.03.
This PR added statx to docker seccomp whitelist: https://github.com/moby/moby/pull/36417 Related SO thread: https://stackoverflow.com/questions/48995826/which-capabilities-are-needed-for-statx-to-stop-giving-eperm
Compare QT5 bug report: https://bugreports.qt.io/browse/QTBUG-70447
Possible solutions for docker versions before 18.06:
--security-opt seccomp=unconfined
--security-opt seccomp=/path/to/downloaded-seccomp.json
I tried to run lirios/unstable
with whitelisted statx
syscall and it succeeds!
If you are interested, I am running it with my project mviereck/x11docker
x11docker --gpu lirios/unstable
If you have weston
and Xwayland
installed, or if you run from tty, you can use:
x11docker --gpu --desktop lirios/unstable
To fix statx
issue:
x11docker --gpu -- --security-opt seccomp=unconfined -- lirios/unstable
Looks like other people are having the same issue: https://forum.qt.io/topic/92783/qt-doesn-t-work-in-my-archlinux-docker
Running with QT_DEBUG_PLUGINS=1 shows: