Skip to content

[BUG] Some proot apps unable to start in wayland mode desktop(idea-pa, wpsoffice-pa) #413

@jakeslee

Description

@jakeslee

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I recently tried to run proot apps in webtop desktop. wpsoffice-pa and idea failed to start in alpine-kde, fedora-kde and ubuntu-kde, but chrome-pa and vscode worked as expected.

Install by commands:

proot-apps install wpsoffice
proot-apps install idea

I tried to use proot to run the program directly.

/config/.local/bin/proot -b /defaults:/defaults \
  -b /usr/share/fonts:/usr/share/fonts -b /usr/share/fontconfig:/usr/share/fontconfig \
  -b /etc/fonts:/etc/fonts -n \
  -R /config/proot-apps/ghcr.io_linuxserver_proot-apps_idea/ /opt/idea/bin/idea.sh

Idea shows error:

Unable to detect graphics environment.

I launched a bash shell via proot, attach into wpsoffice file tree:

/config/.local/bin/proot -b /defaults:/defaults -b /usr/share/fonts:/usr/share/fonts \
  -b /usr/share/fontconfig:/usr/share/fontconfig -b /etc/fonts:/etc/fonts -n \
  -R /config/proot-apps/ghcr.io_linuxserver_proot-apps_wpsoffice/ /bin/bash

Execute the final real binary that is /opt/kingsoft/wps-office/office6/wps, error display:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

terminating with uncaught foreign exception

Both errors have similar word: display or graphices, maybe something wrong with display?

Run xrandr --listmonitors to show displays, after multiple tests, I found:

  • Webtop with wayland mode(alpine-kde, fedora-kde and ubuntu-kde): Can't open display
  • Webtop with PIXELFLUX_WAYLAND=true(debian-kde, no wayland support): show one monitor
  • Docker Obsidian with PIXELFLUX_WAYLAND=true(linuxserver/obsidian:latest): show one monitor

wpsoffice-pa and idea-pa work fine in "show one monitor" desktop environment.

Did the WAYLAND mode break the virtual display function? I also tried to install these apps from deb or tar.gz, run without proot, the result is same.

Expected Behavior

wpsoffice-pa and idea-pa start as expected

Steps To Reproduce

  1. start webtop:
docker run -d \
  --name=test2-desktop \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e PIXELFLUX_WAYLAND=true \
  -e NO_FULL=true \
  -e DOCKER_MODS="linuxserver/mods:universal-internationalization|linuxserver/mods:universal-package-install|linuxserver/mods:universal-git" \
  -e INSTALL_PACKAGES=font-noto-cjk \
  -e LC_ALL=zh_CN.UTF-8 \
  -e LANG=zh_CN.UTF-8 \
  -e NO_DECOR=1 \
  -p 3002:3000 \
  -p 33002:3001 \
  -v /data/test2:/config \
  --device=/dev/dri:/dev/dri \
  --shm-size="2gb" \
  --restart unless-stopped \
  linuxserver/webtop:ubuntu-kde
  1. run cmd in konsole of webtop
proot-apps install wpsoffice
proot-apps install idea
  1. double-click desktop icon or run cmd(wpsoffice collapsed all errors):
wpsoffice-pa
idea-pa
Image Image

Environment

- OS: Ubuntu 24.04 lxc on PVE 9.1
- How docker service was installed:
distro's packagemanager

CPU architecture

x86-64

Docker creation

alpine-kde, fedora-kde and ubuntu-kde

Container logs

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

terminating with uncaught foreign exception

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions