Skip to content
This repository has been archived by the owner on Jun 16, 2024. It is now read-only.

[Bug]: Cannot click on screen sharing popup (Wayland) #367

Open
endeavour opened this issue May 30, 2022 · 12 comments
Open

[Bug]: Cannot click on screen sharing popup (Wayland) #367

endeavour opened this issue May 30, 2022 · 12 comments
Labels
bug Something isn't working

Comments

@endeavour
Copy link

endeavour commented May 30, 2022

Summary

On KDE Plasma using Wayland screen sharing popup doesn't respond to mouse clicks or the keyboard when bismuth tiling is enabled.

Steps to Reproduce

  1. Be using Wayland. Make sure Bismuth tiling is enabled.
  2. Go to https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/
  3. Click 'Share your screen'
  4. A dialog should pop up to ask you which screen you want to share..
  5. Try clicking on anything in that dialog or using the keyboard. It doesn't respond.

The same thing happens when trying to screen share in Microsoft Teams (and presumably Zoom etc). Turning off tiling fixes this issue.

Expected behavior

Dialog should respond to mouse and keyboard events.

Screenshots

image

Bismuth version

3.1.1-1

KDE Plasma version

5.24.5

The platform KWin is running on

Wayland

Additional context

No response

@endeavour endeavour added the bug Something isn't working label May 30, 2022
@phrxmd
Copy link
Contributor

phrxmd commented Jun 3, 2022

Works for me in Bismuth 2.3.0, so this may have been a regression.

@endeavour
Copy link
Author

I tried downgrading Bismuth and still no luck... so perhaps something has changed in KDE?

@phrxmd
Copy link
Contributor

phrxmd commented Jun 3, 2022

I'm on 5.24.5 in Wayland as well.

@endeavour
Copy link
Author

Bizarre! Have you tried upgrading Bismuth?

@aleixpol
Copy link

aleixpol commented Jun 3, 2022

Have you tried selecting the screen to share?

@aleixpol
Copy link

aleixpol commented Jun 3, 2022

Also please try running xdg-desktop-portals-kde on the terminal and see if you get amy warnings.

@endeavour
Copy link
Author

endeavour commented Jun 6, 2022

I'm unable to select the screen to share - as I say, clicking on the dialog doesn't do anything.

I also don't seem to have that command available, although the xdg-desktop-portal-kde package is installed:

$ xdg-desktop-portals-kde

bash: xdg-desktop-portals-kde: command not found

@aleixpol
Copy link

aleixpol commented Jun 6, 2022

To run my own xdg-desktop-portal-kde, I do this:

killall xdg-desktop-portal xdg-desktop-portal-kde ; QT_FORCE_STDERR_LOGGING=1 /home/apol/devel/kde5/lib/libexec/xdg-desktop-portal-kde

Obviously change the path to the executable to wherever you have it installed

@endeavour
Copy link
Author

Thanks for that, here are the logs:

xdp-kde: Desktop portal registered successfully
xdp-kde-wayland-integration: Registry initialized
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Lenovo Group Limited"
xdp-kde-wayland-integration:     model:  "LEN P27u-10/1110463568"
xdp-kde-wayland-integration:     resolution:  QSize(3840, 2160)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Lenovo Group Limited"
xdp-kde-wayland-integration:     model:  "LEN P27u-10/1110463578"
xdp-kde-wayland-integration:     resolution:  QSize(3840, 2160)
xdp-kde-screencast: CreateSession called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_1278/webrtc_142162983"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_1278/webrtc_session87907627"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap()
xdp-kde-screencast: SelectSource called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_1278/webrtc1574278666"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_1278/webrtc_session87907627"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap(("cursor_mode", QVariant(uint, 4))("multiple", QVariant(bool, false))("types", QVariant(uint, 3)))
xdp-kde-screencast: Start called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_1278/webrtc607248474"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_1278/webrtc_session87907627"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     parent_window:  ""
xdp-kde-screencast:     options:  QMap()
file:///usr/lib/qt/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:103:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.
 
         Binding { 
         ^
file:///usr/lib/qt/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:103:5: QML Binding: Not restoring previous value because restoreMode has not been set.
This behavior is deprecated.
You have to import QtQml 2.15 after any QtQuick imports and set
the restoreMode of the binding to fix this warning.
In Qt < 6.0 the default is Binding.RestoreBinding.
In Qt >= 6.0 the default is Binding.RestoreBindingOrValue.

@endeavour
Copy link
Author

One additional thing I've noticed:

If I have just logged into plasma, and I immediately fire up chrome and try to share the window it works fine. But it fails every subsequent time after this.

Additionally, the first time the dialog is loaded it gets tiled by bismuth, but after that it appears as a floating dialog and no longer responds.

@endeavour
Copy link
Author

endeavour commented Jun 6, 2022

In addition there is some strange behaviour - although the dialog appears to be floated it still occupies half the screen as if it were tiled:

Video of behaviour

I have a hunch this may be a timing bug since two modal windows are appearing at the same time (this one and Chrome's own one), and depending which one appears first determines whether the dialog can respond or not.

@endeavour
Copy link
Author

I ditched Manjaro and installed endeavouros and the problem has gone away.. in fact that dialog no longer appears at all anymore, I just get the chrome screen sharing dialog.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants