Bug 383486 - kwin_wayland fails to start with "Running on a compositor with no screens is not supported"
Summary: kwin_wayland fails to start with "Running on a compositor with no screens is ...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: platform-fbdev (show other bugs)
Version: 5.10.4
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-14 10:14 UTC by Bhushan Shah
Modified: 2018-03-05 05:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
signature.asc (487 bytes, application/pgp-signature)
2017-08-15 11:04 UTC, Bhushan Shah
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bhushan Shah 2017-08-14 10:14:03 UTC
First mind you that this is weird setup we are dealing with, this is attempt to run a kwin/Plasma mobile on postmarketOS (http://www.postmarketOS.org)

postmarketOS doesn't use the logind but consolekit.

Below is the debug log,

$ kwin_wayland --framebuffer --xwayland                                                                                        [48/683]
kwin_core: Platform does not support input, enforcing libinput support
kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5084:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5086:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5088:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5092:47: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5094:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5102:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5106:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5108:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5112:45: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5115:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: created compose table from locale C with path /usr/share/X11/locale/en_US.UTF-8/Compose

kwin_core: KGlobalAcceld inited
kwin_core: Session path: "/org/freedesktop/ConsoleKit/Session1"
kwin_core: Failed to get Active Property of  "ConsoleKit"  session: "No such property 'activate'"
kwin_core: "ConsoleKit"  seat: "/org/freedesktop/ConsoleKit/Seat2" / "/org/freedesktop/ConsoleKit/Seat2"
kwin_core: "ConsoleKit"  seat: "/org/freedesktop/ConsoleKit/Seat2" / "/org/freedesktop/ConsoleKit/Seat2"
kwin_core: Gained session control
kwin_libinput: Libinput: event2  -
kwin_libinput: Libinput: qpnp_chg_unplug_key:
kwin_libinput: Libinput: not tagged as supported input device

kwin_libinput: Libinput: event2  - not using input device '/dev/input/event2'

kwin_libinput: Libinput: event3  -
kwin_libinput: Libinput: gpio-keys:
kwin_libinput: Libinput: not tagged as supported input device

kwin_libinput: Libinput: event3  - not using input device '/dev/input/event3'

kwin_libinput: Libinput: event0  -
kwin_libinput: Libinput: mhl-rcp:
kwin_libinput: Libinput: not tagged as supported input device

kwin_libinput: Libinput: event0  - not using input device '/dev/input/event0'
                                                                                                                                                       [1/683]
kwin_libinput: Libinput: event1  -
kwin_libinput: Libinput: qpnp_pon:
kwin_libinput: Libinput: not tagged as supported input device

kwin_libinput: Libinput: event1  - not using input device '/dev/input/event1'

kwin_libinput: Libinput: event4  -
kwin_libinput: Libinput: clearpad:
kwin_libinput: Libinput: not tagged as supported input device

kwin_libinput: Libinput: event4  - not using input device '/dev/input/event4'

kwin_core: Failed to open tty 0
kwin_core: Could not take device /dev/fb0 , cause:  "Failed to get file descriptor for device"
kwin_wayland_framebuffer: Failed to open frame buffer device through logind, trying without
kwin_wayland_framebuffer: Bits Per Pixel:  32
kwin_wayland_framebuffer: Buffer Length:  7536640
kwin_wayland_framebuffer: Bytes Per Line:  2944
kwin_wayland_framebuffer: Alpha Length:  8
kwin_wayland_framebuffer: Red Length:  8
kwin_wayland_framebuffer: Green Length:  8
kwin_wayland_framebuffer: Blue Length:  8
kwin_wayland_framebuffer: Blue Offset:  16
kwin_wayland_framebuffer: Green Offset:  8
kwin_wayland_framebuffer: Red Offset:  0
kwin_wayland_framebuffer: Alpha Offset:  24
kwin_wayland_framebuffer: Framebuffer format is RGBA8888
kwin_wayland_framebuffer: Framebuffer format is unknown
kwin_core: Compositing forced to QPainter mode by environment variable
kwin_core: Initializing QPainter compositing
Disabling glamor and dri3, EGL setup failed
Failed to initialize glamor, falling back to sw
X-Server started on display :0
kwin_core: Extensions: shape: 0x "11"  composite: 0x "4"  render: 0x "b"  fixes: 0x "50"  randr: 0x "14"  sync: 0x "31"  damage: 0x  "11"
kwin_core: Compositing forced to QPainter mode by environment variable
kwin_decorations: Could not locate decoration plugin
kwin_decorations: Trying to load decoration plugin:  "/usr/lib/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so"
org.kde.kwindowsystem: Could not find any platform plugin
JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
Running on a compositor with no screens is not supported
Illegal instruction
could not connect to wayland server
(EE)
Fatal server error:
(EE) Couldn't add screen
(EE)
Comment 1 Attila Szöllősi 2017-08-14 10:53:29 UTC
Launching it with the following script on tty1:

#!/bin/bash
export XDG_RUNTIME_DIR="/var/run/user/12345"
export $(dbus-launch)
export KWIN_COMPOSE=Q
export QT_QPA_PLATFORM=wayland
export QT_QPA_PLATFORMTHEME=KDE
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export XDG_CURRENT_DESKTOP=KDE
export KSCREEN_BACKEND=QScreen
export KDE_FULL_SESSION=1
export KDE_SESSION_VERSION=5
ck-launch-session kwin_wayland --framebuffer --xwayland

Log:

kwin_core: Platform does not support input, enforcing libinput support
kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5084:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5086:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5088:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5092:47: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5094:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5102:48: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5106:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5108:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5112:45: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: /usr/share/X11/locale/en_US.UTF-8/Compose:5115:46: this compose sequence is a duplicate of another; skipping line

kwin_xkbcommon: XKB: created compose table from locale C with path /usr/share/X11/locale/en_US.UTF-8/Compose

kwin_core: KGlobalAcceld inited
kwin_core: Session path: "/org/freedesktop/ConsoleKit/Session1"
kwin_core: "ConsoleKit"  seat: "/org/freedesktop/ConsoleKit/Seat1" / "/org/freedesktop/ConsoleKit/Seat1"
kwin_core: "ConsoleKit"  seat: "/org/freedesktop/ConsoleKit/Seat1" / "/org/freedesktop/ConsoleKit/Seat1"
kwin_core: Failed to get Active Property of  "ConsoleKit"  session: "No such property 'activate'"
kwin_core: Gained session control
kwin_libinput: Libinput: event2  - 
kwin_libinput: Libinput: qpnp_chg_unplug_key: 
kwin_libinput: Libinput: is tagged by udev as: Keyboard

kwin_libinput: Libinput: event2  - 
kwin_libinput: Libinput: qpnp_chg_unplug_key: 
kwin_libinput: Libinput: device is a keyboard

kwin_libinput: Libinput: event3  - 
kwin_libinput: Libinput: gpio-keys: 
kwin_libinput: Libinput: is tagged by udev as: Keyboard

kwin_libinput: Libinput: event3  - 
kwin_libinput: Libinput: gpio-keys: 
kwin_libinput: Libinput: device is a keyboard

kwin_libinput: Libinput: event0  - 
kwin_libinput: Libinput: mhl-rcp: 
kwin_libinput: Libinput: is tagged by udev as: Keyboard

kwin_libinput: Libinput: event0  - 
kwin_libinput: Libinput: mhl-rcp: 
kwin_libinput: Libinput: device is a keyboard

kwin_libinput: Libinput: event1  - 
kwin_libinput: Libinput: qpnp_pon: 
kwin_libinput: Libinput: is tagged by udev as: Keyboard

kwin_libinput: Libinput: event1  - 
kwin_libinput: Libinput: qpnp_pon: 
kwin_libinput: Libinput: device is a keyboard

kwin_libinput: Libinput: event4  - 
kwin_libinput: Libinput: clearpad: 
kwin_libinput: Libinput: is tagged by udev as: Touchscreen

kwin_libinput: Libinput: event4  - 
kwin_libinput: Libinput: clearpad: 
kwin_libinput: Libinput: device is a touch device

kwin_core: Could not take device /dev/fb0 , cause:  "Failed to get file descriptor for device"
kwin_wayland_framebuffer: Failed to open frame buffer device through logind, trying without
kwin_wayland_framebuffer: Bits Per Pixel:  32
kwin_wayland_framebuffer: Buffer Length:  7536640
kwin_wayland_framebuffer: Bytes Per Line:  2944
kwin_wayland_framebuffer: Alpha Length:  8
kwin_wayland_framebuffer: Red Length:  8
kwin_wayland_framebuffer: Green Length:  8
kwin_wayland_framebuffer: Blue Length:  8
kwin_wayland_framebuffer: Blue Offset:  16
kwin_wayland_framebuffer: Green Offset:  8
kwin_wayland_framebuffer: Red Offset:  0
kwin_wayland_framebuffer: Alpha Offset:  24
kwin_wayland_framebuffer: Framebuffer format is RGBA8888
kwin_wayland_framebuffer: Framebuffer format is unknown
kwin_core: Compositing forced to QPainter mode by environment variable
kwin_core: Initializing QPainter compositing
Disabling glamor and dri3, EGL setup failed
Failed to initialize glamor, falling back to sw
X-Server started on display :0
kwin_core: Extensions: shape: 0x "11"  composite: 0x "4"  render: 0x "b"  fixes: 0x "50"  randr: 0x "14"  sync: 0x "31"  damage: 0x  "11"
kwin_core: Compositing forced to QPainter mode by environment variable
org.kde.kwindowsystem: Could not find any platform plugin
JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.
Running on a compositor with no screens is not supported
(EE) 
Fatal server error:
(EE) failed to read Wayland events: Broken pipe
(EE)
Comment 2 Martin Flöser 2017-08-14 14:37:11 UTC
It looks like the fbdev platform does not create any screens.
Comment 3 Martin Flöser 2017-08-14 14:46:24 UTC
Please check whether FramebufferBackend::queryScreenInfo() queries the proper m_resolution.
Comment 4 Martin Flöser 2017-08-14 14:47:11 UTC
please also note that using fbdev platform plugin on such a device will not result in a pleasant experience. It means no OpenGL ES at all for any application.
Comment 5 ctatlor97+kde 2017-08-14 17:39:36 UTC
This same issue also affects drm
Comment 6 Martin Flöser 2017-08-14 19:08:30 UTC
If the same also happens on drm platform than you have an issue with the hardware you try to integrate with.
Comment 7 Bhushan Shah 2017-08-15 11:03:56 UTC
Created attachment 107287 [details]
signature.asc

On Mon, Aug 14, 2017 at 07:08:30PM +0000, Martin Flöser wrote:
> If the same also happens on drm platform than you have an issue with the
> hardware you try to integrate with.

What I find suspicious is, this error popped up even when we tried to
run kwin in --virtual mode, where literally there is no hardware
requirement I believe.
Comment 8 Martin Flöser 2017-08-15 14:30:40 UTC
While it might not be obvious from the debug output: the problem here is not KWin failing, it's XWayland failing. XWayland gives up because "there are no screens" and without XWayland KWin gives up.

So the question is why does XWayland think there are no screens. Possibilities are a "strange" XWayland version (too old, too new, custom patches).
Comment 9 Martin Flöser 2017-08-15 19:36:40 UTC
actually after reading through the messages again I think the problem is somewhere completely different: kwin is not compiled with the breeze dependency.

Due to that Aurorae is used which pulls in QtQuick. And that might be failing and asserting KWin.

So best try with breeze dependency.
Comment 10 Christoph Feck 2017-09-06 19:40:53 UTC
Bhushan, did comment #9 help to resolve the issue?
Comment 11 Christoph Feck 2017-09-27 15:45:45 UTC
If you can provide the information requested in comment #10, please add it.
Comment 12 Christoph Feck 2017-10-12 16:00:38 UTC
To further investigate this issue, KDE developers need the information requested in comment #10. If you can provide it, or need help with finding that information, please add a comment.
Comment 13 Bhushan Shah 2018-03-05 05:48:38 UTC
I'll close this bug as downstream bug, since later in Dec 2017-ish we learned that Alpine is building qtdeclarative without JIT enabled (since it provides only armv6 packages), and that resulted in instant crash in anything which uses QML, after fixing the qtdeclarative Plasma Mobile and kwin worked on the device(s)

https://postmarketos.org/blog/2017/12/31/219-days-of-postmarketOS/#plasma-mobile