Weston 9 screen-share doesn't work anymore

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Weston 9 screen-share doesn't work anymore

1,965 Views
nikhersche
Contributor I

Hi

I'm working with an imx8mm yocto hardknott

Screen-share doesn't work anymore. With yocto/zeus it worked fine.

 

weston.log

Date: 2021-11-19 UTC
[17:15:01.957] weston 9.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: lf-5.10.35-2.0.0-rc2+
[17:15:01.957] Command line: /usr/bin/weston --log=/var/log/weston.log --modules=systemd-notify.so
[17:15:01.957] OS: Linux, 5.4.127+g8849b862a325, #1 SMP PREEMPT Mon Jun 28 13:18:52 UTC 2021, aarch64
[17:15:01.967] Using config file '/etc/xdg/weston/weston.ini'
[17:15:01.968] Output repaint window is 7 ms maximum.
[17:15:01.969] Loading module '/usr/lib/libweston-9/drm-backend.so'
[17:15:01.995] initializing drm backend
[17:15:01.999] logind: session control granted
[17:15:02.007] using /dev/dri/card0
[17:15:02.007] DRM: supports atomic modesetting
[17:15:02.007] DRM: does not support GBM modifiers
[17:15:02.007] DRM: supports picture aspect ratio
[17:15:02.012] Loading module '/usr/lib/libweston-9/g2d-renderer.so'
[17:15:02.106] event1 - bd718xx-pwrkey: is tagged by udev as: Keyboard
[17:15:02.106] event1 - bd718xx-pwrkey: device is a keyboard
[17:15:02.112] event0 - Goodix Capacitive TouchScreen: is tagged by udev as: Keyboard Touchscreen
[17:15:02.113] event0 - Goodix Capacitive TouchScreen: device is a keyboard
[17:15:02.113] event0 - Goodix Capacitive TouchScreen: device is a touch device
[17:15:02.122] event2 - LiteOn Lenovo Calliope USB Keyboard: is tagged by udev as: Keyboard
[17:15:02.123] event2 - LiteOn Lenovo Calliope USB Keyboard: device is a keyboard
[17:15:02.129] event3 - LiteOn Lenovo Calliope USB Keyboard System Control: is tagged by udev as: Keyboard
[17:15:02.130] event3 - LiteOn Lenovo Calliope USB Keyboard System Control: device is a keyboard
[17:15:02.138] event4 - LiteOn Lenovo Calliope USB Keyboard Consumer Control: is tagged by udev as: Keyboard Joystick
[17:15:02.139] event4 - LiteOn Lenovo Calliope USB Keyboard Consumer Control: device is a keyboard
[17:15:02.185] libinput: configuring device "bd718xx-pwrkey".
[17:15:02.185] Touchscreen - Goodix Capacitive TouchScreen - /sys/devices/platform/soc@0/soc@0:bus@30800000/30a50000.i2c/i2c-3/3-0014/input/input0/event0
[17:15:02.185] libinput: configuring device "Goodix Capacitive TouchScreen".
[17:15:02.185] input device event0 has no enabled output associated (none named), skipping calibration for now.
[17:15:02.185] libinput: configuring device "LiteOn Lenovo Calliope USB Keyboard".
[17:15:02.185] libinput: configuring device "LiteOn Lenovo Calliope USB Keyboard System Control".
[17:15:02.185] libinput: configuring device "LiteOn Lenovo Calliope USB Keyboard Consumer Control".
[17:15:02.185] DRM: head 'DSI-1' found, connector 35 is connected, EDID make 'unknown', model 'unknown', serial 'unknown'
[17:15:02.186] Registered plugin API 'weston_drm_output_api_v1' of size 24
[17:15:02.193] Create File /run/user/0/use-g2d-renderer
[17:15:02.193] Output DSI-1 (crtc 33) video modes:
1280x800@56.4, preferred, current, 67.9 MHz
[17:15:02.193] associating input device event1 with output DSI-1 (none by udev)
[17:15:02.193] associating input device event0 with output DSI-1 (none by udev)
[17:15:02.194] associating input device event2 with output DSI-1 (none by udev)
[17:15:02.194] associating input device event3 with output DSI-1 (none by udev)
[17:15:02.194] associating input device event4 with output DSI-1 (none by udev)
[17:15:02.194] Output 'DSI-1' enabled with head(s) DSI-1
[17:15:02.194] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[17:15:02.199] Loading module '/usr/lib/weston/kiosk-shell.so'
[17:15:02.203] Loading module '/usr/lib/weston/screen-share.so'
[17:15:02.204] screen-share:wet_module_init
[17:15:02.205] screen-share: autostart=0
[17:15:02.205] Loading module '/usr/lib/weston/systemd-notify.so'
[17:15:02.205] info: add 1 socket(s) provided by systemd
[17:15:42.684] Cannot pick output: Seat does not have pointer
root@imx8mm-wboard2:~#

When i try to start screen-share with Ctrl+Alt+s
Following error message is added to the log

[17:15:42.684] Cannot pick output: Seat does not have pointer

Has anypody tested this feature?

BR
Nik

0 Kudos
Reply
5 Replies

1,963 Views
nikhersche
Contributor I

If I connect an usb mouse, then it works. As we won't have a mouse connected in real life, the code screen-share.c has to be changed.

0 Kudos
Reply

1,944 Views
joanxie
NXP TechSupport
NXP TechSupport

yes, current bsp couldn't support screen-share as default, next bsp version should fix this, let me double confirm if I can send the patch to you in advance

 

0 Kudos
Reply

1,768 Views
Manoj_Shanmuga
Contributor I

Hi ,

I am also facing the same issue in weston screen-share

Is there a  patch is available to fix the issue ?? 

Error Log :

[10:44:06.422] Loading module '/usr/lib/libweston-9/xwayland.so'
[10:44:06.548] Registered plugin API 'weston_xwayland_v1' of size 32
[10:44:06.548] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[10:44:06.548] xserver listening on display :0
[10:44:06.548] launching '/usr/libexec/weston-desktop-shell'
[11:42:29.090] Cannot pick output: Seat does not have pointer
[11:50:58.778] Cannot pick output: Seat does not have pointer

 

0 Kudos
Reply

1,757 Views
nikhersche
Contributor I

Hi, I don't have a ready to use patch for you, since my workaround is something else.

But this will help:

--- "a/compositor/screen-share.c"
+++ "b/compositor/screen-share.c"
@@ -1141,15 +1141,16 @@ share_output_binding(struct weston_keyboard *keyboard,
 	struct weston_pointer *pointer;
 	struct screen_share *ss = data;
 
+/*
 	pointer = weston_seat_get_pointer(keyboard->seat);
 	if (!pointer) {
 		weston_log("Cannot pick output: Seat does not have pointer\n");
 		return;
 	}
-
+*/
 	output = weston_output_find(pointer->seat->compositor,
-				    wl_fixed_to_int(pointer->x),
-				    wl_fixed_to_int(pointer->y));
+				    wl_fixed_to_int(1),
+				    wl_fixed_to_int(1));
 	if (!output) {
 		weston_log("Cannot pick output: Pointer not on any output\n");
 		return;
0 Kudos
Reply

1,742 Views
Manoj_Shanmuga
Contributor I

Hi ,  the changes you suggested on screen-share.c did not helped.

When ctrl+alt+s was pressed in keyboard , It kills the weston processes completely giving the following error

[ 29.424109] audit: type=1701 audit(1600598662.991:3): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=773 comm="weston" exe="/usr/bin/weston" sig=11 res=1

0 Kudos
Reply