weston issueshttps://gitlab.freedesktop.org/wayland/weston/-/issues2023-07-19T12:41:10Zhttps://gitlab.freedesktop.org/wayland/weston/-/issues/769xwayland _NET_WM_STATE_ABOVE property / gitk crash relative & abs positioning2023-07-19T12:41:10ZMarius Vladxwayland _NET_WM_STATE_ABOVE property / gitk crash relative & abs positioningThis seems to be introduced with fe4d5711bf6d8e3dae9e8, when clicking on gitk Line diff (the window needs to be maximized)
we get the following crash:
```
#5 0x00007f80fc9bfdf2 in __GI___assert_fail
(assertion=0x7f80fc969c75 "!view...This seems to be introduced with fe4d5711bf6d8e3dae9e8, when clicking on gitk Line diff (the window needs to be maximized)
we get the following crash:
```
#5 0x00007f80fc9bfdf2 in __GI___assert_fail
(assertion=0x7f80fc969c75 "!view->geometry.parent", file=0x7f80fc9699a5 "../libweston/compositor.c", line=1640, function=0x7f80fc96bbc0 <__PRETTY_FUNCTION__.62> "weston_view_set_position") at ./assert/assert.c:101
#6 0x00007f80fc92b625 in weston_view_set_position (view=0x55cce976bbc0, pos=...) at ../libweston/compositor.c:1640
#7 0x00007f80fc95b338 in weston_desktop_surface_update_view_position (surface=0x55cce976c6f0) at ../libweston/desktop/surface.c:112
#8 0x00007f80fc95b73e in weston_desktop_surface_surface_committed (listener=0x55cce976c748, data=0x55cce9776330) at ../libweston/desktop/surface.c:199
#9 0x00007f80fc926fc6 in wl_signal_emit (signal=0x55cce9776350, data=0x55cce9776330) at /home/mvlad/install-amd64/include/wayland-server-core.h:496
#10 0x00007f80fc9312e8 in weston_surface_commit_state (surface=0x55cce9776330, state=0x55cce9776458) at ../libweston/compositor.c:4217
#11 0x00007f80fc931320 in weston_surface_commit (surface=0x55cce9776330) at ../libweston/compositor.c:4226
#12 0x00007f80fc93167f in surface_commit (client=0x55cce9701470, resource=0x55cce976b5b0) at ../libweston/compositor.c:4309
#13 0x00007f80fc66df7a in () at /lib/x86_64-linux-gnu/libffi.so.8
#14 0x00007f80fc66d40e in () at /lib/x86_64-linux-gnu/libffi.so.8
#15 0x00007f80fc66db0d in ffi_call () at /lib/x86_64-linux-gnu/libffi.so.8
#16 0x00007f80fc8f0496 in wl_closure_invoke (closure=closure@entry=0x55cce8e0df60, flags=flags@entry=2, target=<optimized out>,
```
With the xwm debug scope enabled:
```
[2023-07-04 12:13:21.641][xwm-wm-x11] XCB_CLIENT_MESSAGE (_NET_WM_STATE 1 303 0 0 0 win 4195344)
[2023-07-04 12:13:21.642][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, WM_HINTS: WM_HINTS/32, length 36 (value_len 9): huh?
[2023-07-04 12:13:21.643][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, WM_NORMAL_HINTS: WM_SIZE_HINTS/32, length 72 (value_len 18): huh?
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_CONFIGURE_NOTIFY (window 4195344) 611,367 @ 101x52, override
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_PROPERTY_NOTIFY: window 4195344, _NET_WM_STATE: ATOM/32, length 4 (value_len 1): _NET_WM_STATE_ABOVE
[2023-07-04 12:13:21.645][xwm-wm-x11] XCB_MAP_NOTIFY (window 4195344, override)
[2023-07-04 12:13:21.646][xwm-wm-x11] XCB_CLIENT_MESSAGE (WL_SURFACE_ID 65 0 0 0 0 win 4195344)
[2023-07-04 12:13:21.671][xwm-wm-x11] XWM: create weston_surface 0x55cce9776330
[2023-07-04 12:13:21.671][xwm-wm-x11] XWM: map shell surface, win 4195344, weston_surface 0x55cce9776330, xwayland surface 0x55cce975ffd0
```
We seem to be having a parent in this case even though the code assumes none.https://gitlab.freedesktop.org/wayland/weston/-/issues/768Remove global variable from test suite2023-06-30T11:43:28ZDaniel Stonedaniel@fooishbar.orgRemove global variable from test suiteThe following discussion from !1286 should be addressed:
- [ ] @pq started a [discussion](https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1286#note_1978625):
> Maybe this is the trick to get rid of
> ```
> s...The following discussion from !1286 should be addressed:
- [ ] @pq started a [discussion](https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1286#note_1978625):
> Maybe this is the trick to get rid of
> ```
> static const struct weston_test_run_info *test_run_info_;
> ```
> as well, in another MR.https://gitlab.freedesktop.org/wayland/weston/-/issues/767Doc forgets to tell about systemd-notify.so2023-06-29T19:01:21ZPekka Paalanenppaalanen@gmail.comDoc forgets to tell about systemd-notify.soWe have documentation about how to run Weston from a systemd service. It says nowhere that you also need to load `systemd-notify.so` in Weston, otherwise systemd thinks Weston is stuck starting and kills it.
Reported on IRC: https://oft...We have documentation about how to run Weston from a systemd service. It says nowhere that you also need to load `systemd-notify.so` in Weston, otherwise systemd thinks Weston is stuck starting and kills it.
Reported on IRC: https://oftc.irclog.whitequark.org/wayland/2023-06-29#32268105;https://gitlab.freedesktop.org/wayland/weston/-/issues/766Segfault when clicking on a fullscreen surface after coming back from another...2024-02-21T09:46:00ZLink MauveSegfault when clicking on a fullscreen surface after coming back from another TTYI had to unplug and plug back the external output in the meantime, perhaps this is related.
Here is the traceback:
```
Program terminated with signal SIGSEGV, Segmentation fault.
#0 wl_list_insert (list=0x0, elm=elm@entry=0x55b3394dc00...I had to unplug and plug back the external output in the meantime, perhaps this is related.
Here is the traceback:
```
Program terminated with signal SIGSEGV, Segmentation fault.
#0 wl_list_insert (list=0x0, elm=elm@entry=0x55b3394dc000) at ../wayland/src/wayland-util.c:47
47 ../wayland/src/wayland-util.c: No such file or directory.
[Current thread is 1 (Thread 0x7fc400d488c0 (LWP 116398))]
(gdb) bt
#0 wl_list_insert (list=0x0, elm=elm@entry=0x55b3394dc000) at ../wayland/src/wayland-util.c:47
#1 0x00007fc401344d26 in wl_signal_add (listener=0x55b3394dc000, signal=<optimized out>) at /usr/include/wayland-server-core.h:455
#2 0x00007fc3f6bf2f89 in shell_ensure_fullscreen_black_view (shsurf=0x55b3394cf8c0) at ../desktop-shell/shell.c:1944
#3 shell_configure_fullscreen (shsurf=shsurf@entry=0x55b3394cf8c0) at ../desktop-shell/shell.c:1979
#4 0x00007fc3f6bf6b52 in activate (shell=0x55b338bbd3c0, view=<optimized out>, seat=<optimized out>, flags=3) at ../desktop-shell/shell.c:3800
#5 0x00007fc40135cbde in weston_compositor_run_button_binding (state=<optimized out>, button=272, time=0x7fff2df98280, pointer=0x55b3394b3b80, compositor=0x55b338babfd0) at ../libweston/bindings.c:397
#6 weston_compositor_run_button_binding (state=<optimized out>, button=272, time=0x7fff2df98280, pointer=0x55b3394b3b80, compositor=0x55b338babfd0) at ../libweston/bindings.c:378
#7 notify_button (seat=<optimized out>, time=time@entry=0x7fff2df98280, button=272, state=state@entry=WL_POINTER_BUTTON_STATE_PRESSED) at ../libweston/input.c:2389
#8 0x00007fc4015a5e93 in handle_pointer_button (pointer_event=0x55b3395e2680, libinput_device=0x55b3393def20) at ../libweston/libinput-device.c:199
#9 evdev_device_process_event (event=0x55b3395e2680) at ../libweston/libinput-device.c:788
#10 udev_input_process_event (event=0x55b3395e2680) at ../libweston/libinput-seat.c:206
#11 process_event (event=0x55b3395e2680) at ../libweston/libinput-seat.c:216
#12 process_events (input=input@entry=0x55b338bb5b48) at ../libweston/libinput-seat.c:226
#13 0x00007fc4015a626d in udev_input_dispatch (input=0x55b338bb5b48) at ../libweston/libinput-seat.c:237
#14 libinput_source_dispatch (fd=<optimized out>, mask=<optimized out>, data=0x55b338bb5b48) at ../libweston/libinput-seat.c:247
#15 0x00007fc40130fb23 in wl_event_loop_dispatch (loop=0x55b338ba9c30, timeout=timeout@entry=-1) at ../wayland/src/event-loop.c:1027
#16 0x00007fc40130ce67 in wl_display_run (display=display@entry=0x55b338ba9b40) at ../wayland/src/wayland-server.c:1471
#17 0x00007fc4015c74d3 in wet_main (argc=<optimized out>, argv=0x7fff2df98e48, test_data=0x0) at ../compositor/main.c:4202
#18 0x00007fc4013b7850 in () at /usr/lib/libc.so.6
#19 0x00007fc4013b790a in __libc_start_main () at /usr/lib/libc.so.6
#20 0x000055b336e4d055 in _start ()
```https://gitlab.freedesktop.org/wayland/weston/-/issues/765Support portals for screenshots2024-01-19T13:58:16ZbinzhaiSupport portals for screenshotsI installed weston in docker, the version of weston is 12.0.90, the backend is vnc-backend.so, and it is displayed remotely through vnc. When I install some applications with screenshot function, such as qq, wechat, when taking screensho...I installed weston in docker, the version of weston is 12.0.90, the backend is vnc-backend.so, and it is displayed remotely through vnc. When I install some applications with screenshot function, such as qq, wechat, when taking screenshots, it will cause a black screen.What could be the cause of this?https://gitlab.freedesktop.org/wayland/weston/-/issues/764gl-renderer: Vertex clipping optimizations break rendering of rotated clients2023-06-26T12:19:43ZPhilipp Zabelphilipp.zabel@gmail.comgl-renderer: Vertex clipping optimizations break rendering of rotated clientsCommit a4d31fa8bdc00b04359e42f63e93c134cdf0384f ("gl-renderer: Decouple coord space transformation from clipper") from !1156 breaks border rendering of rotated clients.Commit a4d31fa8bdc00b04359e42f63e93c134cdf0384f ("gl-renderer: Decouple coord space transformation from clipper") from !1156 breaks border rendering of rotated clients.https://gitlab.freedesktop.org/wayland/weston/-/issues/763Question: Does drm-backend requires vblank interrupts to be enabled in drm dr...2023-06-20T03:19:58ZSherry HuangQuestion: Does drm-backend requires vblank interrupts to be enabled in drm driver all the time?Dear weston experts,
Recently I observed an issue when I tried to run weston (with desktop shell, FADE-IN animation on) on drm-backend, I found weston didn't get the right vblank timestamp from kernel, which makes the `weston_spring_do...Dear weston experts,
Recently I observed an issue when I tried to run weston (with desktop shell, FADE-IN animation on) on drm-backend, I found weston didn't get the right vblank timestamp from kernel, which makes the `weston_spring_done` never achieved, and the animation layer can't be destroyed.
But based on my investigation, the most possibly touched path of updating the timestamp is for user to call `drmWaitVBlank`, which will call `drm_vblank_get` and enable vblank. However, in drm-backend, I found `drmWaitVBlank` would be skipped on first frame which triggered by `drm_output_start_repaint_loop`.
So I would like to know if weston expects kernel to support vblank interrupts all the time (which could be fulfilled by setting drm_vblank_offdelay to 0, refers to https://elixir.bootlin.com/linux/v6.4-rc6/source/drivers/gpu/drm/drm_vblank.c#L1508), or there supposed to be some other ways to trigger the first vblank enablement?
Thanks in advance!https://gitlab.freedesktop.org/wayland/weston/-/issues/762Multiple applications sharing same monitor2023-06-15T13:48:59ZVincent MilesMultiple applications sharing same monitorIs it possible to arrange multiple applications on the same screen using weston kiosk shell or something similiar? (cpu board imx8)
I can run multiple applications but the seem to spawn on random positions on the screen.
A more visual w...Is it possible to arrange multiple applications on the same screen using weston kiosk shell or something similiar? (cpu board imx8)
I can run multiple applications but the seem to spawn on random positions on the screen.
A more visual way to describe what i'm trying to achieve:
I have a 1080p screen connected via HDMI to my toradex board, and i want to launch the “com.example.left” with a size of 960x1080 starting at x=0, y=0, and the “com.example.right” with a size of 960x1080 starting at x=960, y=0
![example](/uploads/1636184b3ff010b1aa8a9632bfb5973d/example.png)https://gitlab.freedesktop.org/wayland/weston/-/issues/761default weston.ini file2023-06-10T09:22:12Zcallmejoedefault weston.ini fileis there no actual default weston.ini file anywhere after installing weston? I would like to use it as a base and customize off it instead of starting from scratch, but for the life of me I cant find it anywhere.Thanksis there no actual default weston.ini file anywhere after installing weston? I would like to use it as a base and customize off it instead of starting from scratch, but for the life of me I cant find it anywhere.Thankshttps://gitlab.freedesktop.org/wayland/weston/-/issues/760firefox submenus from application menu do not open2024-01-24T10:39:41Zcallmejoefirefox submenus from application menu do not openthe 3 line hamburger icon for the application menu on the top right of firefox. the submenus there do not appear.
so selecting Help or Settings from there doesnt open the submenu. works on the wayfire compositor i am using on same mach...the 3 line hamburger icon for the application menu on the top right of firefox. the submenus there do not appear.
so selecting Help or Settings from there doesnt open the submenu. works on the wayfire compositor i am using on same machine.
distro: archlinux
kernel: 6.3.6https://gitlab.freedesktop.org/wayland/weston/-/issues/759weston: not available drm_plane to use after hotplug multiple times2023-06-08T08:26:21Zye-huangweston: not available drm_plane to use after hotplug multiple timesAfter hotplug several times while playing video, the video screen disappeared. After adding log analysis, I found that there is no available drm_plane to use. When playing video we will use overlay plane.
# add log in drm_plane_is_avail...After hotplug several times while playing video, the video screen disappeared. After adding log analysis, I found that there is no available drm_plane to use. When playing video we will use overlay plane.
# add log in drm_plane_is_available
bool
drm_plane_is_available(struct drm_plane *plane, struct drm_output *output)
{
assert(plane->state_cur);
if (output->virtual) {
weston_log("output is virtual\n");
return false;
}
/* The plane still has a request not yet completed by the kernel. */
if (!plane->state_cur->complete) {
weston_log("The plane still has a request not yet completed by the kernel\n");
return false;
}
/* The plane is still active on another output. */
if (plane->state_cur->output && plane->state_cur->output != output) {
weston_log("The plane is still active on another output\n"); //add debug log here
return false;
}
/* Check whether the plane can be used with this CRTC; possible_crtcs
* is a bitmask of CRTC indices (pipe), rather than CRTC object ID. */
return !!(plane->possible_crtcs & (1 << output->crtc->pipe));
}
# issue log
[plane] check plane 55
[plane] not adding plane 55 to candidate list: invalid pixel format
[plane] check plane 49
[16:51:22.836] The plane is still active on another output
[plane] plane 49 is not available
[plane] check plane 43
[16:51:22.836] The plane is still active on another output
[plane] plane 43 is not available
This issue occurs probabilistically. Is it because the plane state is not well maintained in this case?https://gitlab.freedesktop.org/wayland/weston/-/issues/758Weston 12 rdp can't star visual studio code (electron)2023-07-11T15:48:28ZGianluca S.Weston 12 rdp can't star visual studio code (electron)I build weston 12.0.1 then I start weston with rdp backend
`"$WESTON_PATH/bin/weston" --backend=rdp-backend.so
--config="${SCRIPT_PATH}/weston.ini"
--logger-scopes=log,rdp-backend --port=8081 --rdp-tls-key="${WESTON_KEY}/tls.key" --rdp-...I build weston 12.0.1 then I start weston with rdp backend
`"$WESTON_PATH/bin/weston" --backend=rdp-backend.so
--config="${SCRIPT_PATH}/weston.ini"
--logger-scopes=log,rdp-backend --port=8081 --rdp-tls-key="${WESTON_KEY}/tls.key" --rdp-tls-cert="${WESTON_KEY}/tls.crt"`
* start visual studio code with wayland `code-insiders --enable-features=UseOzonePlatform --ozone-platform=wayland --verbose`
* **vscode starts, the process is running, but no windows is displayed**
* google-chrome with same arguments works in weston 12
* wezterm, weston terminal and flower works in weston 12
* the same vscode version with same arguments works in gnome ubuntu lunar wayland desktop
* If I start weston with `--xwayland` and code with x11 backend it works `code-insiders --enable-features=UseOzonePlatform --ozone-platform=x11 --verbose`
Vscode prints a limited number of log lines
`
Warning: 'enable-features' is not in the list of known options, but still passed to Electron/Chromium.
Warning: 'ozone-platform' is not in the list of known options, but still passed to Electron/Chromium.
[0602/131006.348889:ERROR:file_io_posix.cc(152)] open /home/ubuntu/.config/Code - Insiders/Crashpad/pending/0e25bf47-6373-40e3-a323-2f3ce3082e6f.lock: File exists (17)
[25486:0602/131006.350094:WARNING:wayland_object.cc(144)] Binding to wl_seat version 5 but version 7 is available.
`https://gitlab.freedesktop.org/wayland/weston/-/issues/757cannot start up when upgrade weston to 12.02023-06-05T08:14:39Zyishan yangcannot start up when upgrade weston to 12.0downgrading to 11.0 is fine.
<pre>
Date: 2023-05-28 CST
[20:27:09.911] weston 12.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Buil...downgrading to 11.0 is fine.
<pre>
Date: 2023-05-28 CST
[20:27:09.911] weston 12.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 12.0.0
[20:27:09.912] Command line: weston --no-config
[20:27:09.912] OS: Linux, 6.3.4-arch1-1, #1 SMP PREEMPT_DYNAMIC Wed, 24 May 2023 17:44:00 +0000, x86_64
[20:27:09.912] Flight recorder: enabled
[20:27:09.912] Starting with no config file.
[20:27:09.912] Output repaint window is 7 ms maximum.
[20:27:09.912] Loading module '/usr/lib/libweston-12/drm-backend.so'
[20:27:09.914] initializing drm backend
[20:27:09.914] Trying libseat launcher...
[20:27:09.914] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[20:27:09.914] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[20:27:09.924] [libseat/libseat.c:73] Seat opened with backend 'logind'
[20:27:09.924] libseat: session control granted
[20:27:09.926] using /dev/dri/card0
[20:27:09.926] DRM: does not support atomic modesetting
[20:27:09.926] DRM: supports GBM modifiers
[20:27:09.926] DRM: supports picture aspect ratio
[20:27:09.953] Loading module '/usr/lib/libweston-12/gl-renderer.so'
[20:27:09.955] Using rendering device: /dev/dri/renderD128
[20:27:09.955] EGL version: 1.5
[20:27:09.955] EGL vendor: Mesa Project
[20:27:09.955] EGL client APIs: OpenGL OpenGL_ES
[20:27:09.955] warning: Disabling render GPU timeline and explicit synchronization due to missing EGL_ANDROID_native_fence_sync extension
[20:27:09.955] EGL features:
EGL Wayland extension: yes
context priority: no
buffer age: yes
partial update: no
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[20:27:09.959] GL version: OpenGL ES 3.1 Mesa 23.1.1
[20:27:09.959] GLSL version: OpenGL ES GLSL ES 3.10
[20:27:09.959] GL vendor: Mesa
[20:27:09.959] GL renderer: NVD9
[20:27:09.965] GL ES 3.1 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: yes
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[20:27:09.965] Using GL renderer
[20:27:09.980] event1 - Power Button: is tagged by udev as: Keyboard
[20:27:09.980] event1 - Power Button: device is a keyboard
[20:27:09.982] event0 - Power Button: is tagged by udev as: Keyboard
[20:27:09.982] event0 - Power Button: device is a keyboard
[20:27:09.984] event5 - HDA NVidia HDMI/DP,pcm=3: is tagged by udev as: Switch
[20:27:10.037] event5 - not using input device '/dev/input/event5'
[20:27:10.039] event14 - HDA NVidia HDMI/DP,pcm=7: is tagged by udev as: Switch
[20:27:10.071] event14 - not using input device '/dev/input/event14'
[20:27:10.073] event6 - CHERRY Mechanical Keyboard: is tagged by udev as: Keyboard
[20:27:10.073] event6 - CHERRY Mechanical Keyboard: device is a keyboard
[20:27:10.076] event10 - CHERRY Mechanical Keyboard: not tagged as supported input device
[20:27:10.117] event10 - not using input device '/dev/input/event10'
[20:27:10.120] event13 - CHERRY Mechanical Keyboard Mouse: is tagged by udev as: Mouse
[20:27:10.120] event13 - CHERRY Mechanical Keyboard Mouse: device is a pointer
[20:27:10.123] event8 - CHERRY Mechanical Keyboard: is tagged by udev as: Keyboard
[20:27:10.123] event8 - CHERRY Mechanical Keyboard: device is a keyboard
[20:27:10.125] event15 - HDA Intel PCH Front Mic: is tagged by udev as: Switch
[20:27:10.161] event15 - not using input device '/dev/input/event15'
[20:27:10.162] event16 - HDA Intel PCH Rear Mic: is tagged by udev as: Switch
[20:27:10.194] event16 - not using input device '/dev/input/event16'
[20:27:10.196] event17 - HDA Intel PCH Line: is tagged by udev as: Switch
[20:27:10.227] event17 - not using input device '/dev/input/event17'
[20:27:10.229] event18 - HDA Intel PCH Line Out Front: is tagged by udev as: Switch
[20:27:10.264] event18 - not using input device '/dev/input/event18'
[20:27:10.266] event19 - HDA Intel PCH Line Out Surround: is tagged by udev as: Switch
[20:27:10.297] event19 - not using input device '/dev/input/event19'
[20:27:10.299] event20 - HDA Intel PCH Line Out CLFE: is tagged by udev as: Switch
[20:27:10.331] event20 - not using input device '/dev/input/event20'
[20:27:10.332] event21 - HDA Intel PCH Line Out Side: is tagged by udev as: Switch
[20:27:10.364] event21 - not using input device '/dev/input/event21'
[20:27:10.366] event22 - HDA Intel PCH Front Headphone: is tagged by udev as: Switch
[20:27:10.397] event22 - not using input device '/dev/input/event22'
[20:27:10.400] event2 - Logitech Wireless Device PID:4013: is tagged by udev as: Mouse
[20:27:10.400] event2 - Logitech Wireless Device PID:4013: device is a pointer
[20:27:10.403] event7 - Logitech USB Receiver: is tagged by udev as: Keyboard
[20:27:10.403] event7 - Logitech USB Receiver: device is a keyboard
[20:27:10.407] event9 - Logitech USB Receiver Mouse: is tagged by udev as: Mouse
[20:27:10.407] event9 - Logitech USB Receiver Mouse: device is a pointer
[20:27:10.412] event11 - Logitech USB Receiver Consumer Control: is tagged by udev as: Keyboard
[20:27:10.412] event11 - Logitech USB Receiver Consumer Control: device is a keyboard
[20:27:10.416] event12 - Logitech USB Receiver System Control: is tagged by udev as: Keyboard
[20:27:10.417] event12 - Logitech USB Receiver System Control: device is a keyboard
[20:27:10.419] event4 - Eee PC WMI hotkeys: is tagged by udev as: Keyboard
[20:27:10.419] event4 - Eee PC WMI hotkeys: device is a keyboard
[20:27:10.422] event3 - PC Speaker: not tagged as supported input device
[20:27:10.461] event3 - not using input device '/dev/input/event3'
[20:27:10.469] libinput: configuring device "Power Button".
[20:27:10.469] libinput: configuring device "Power Button".
[20:27:10.469] libinput: configuring device "CHERRY Mechanical Keyboard".
[20:27:10.469] libinput: configuring device "CHERRY Mechanical Keyboard Mouse".
[20:27:10.469] libinput: configuring device "CHERRY Mechanical Keyboard".
[20:27:10.469] libinput: configuring device "Logitech Wireless Device PID:4013".
[20:27:10.469] libinput: configuring device "Logitech USB Receiver".
[20:27:10.469] libinput: configuring device "Logitech USB Receiver Mouse".
[20:27:10.470] libinput: configuring device "Logitech USB Receiver Consumer Control".
[20:27:10.470] libinput: configuring device "Logitech USB Receiver System Control".
[20:27:10.470] libinput: configuring device "Eee PC WMI hotkeys".
[20:27:10.548] DRM: head 'DVI-I-1' found, connector 61 is connected, EDID make 'DEL', model 'DELL U2419HS', serial '9H6XLS2'
Supported EOTF modes: SDR
[20:27:10.601] DRM: head 'HDMI-A-1' found, connector 64 is disconnected.
[20:27:10.612] DRM: head 'VGA-1' found, connector 66 is disconnected.
[20:27:10.612] Registered plugin API 'weston_drm_output_api_v1' of size 40
[20:27:10.612] Registered plugin API 'weston_drm_virtual_output_api_v2' of size 48
[20:27:10.612] Color manager: no-op
[20:27:10.612] Output 'DVI-I-1' attempts EOTF mode: SDR
[20:27:10.612] Output 'DVI-I-1' using color profile: built-in default sRGB SDR profile
[20:27:10.612] Chosen EGL config details: id: 33 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
[20:27:10.612] Output DVI-I-1 (crtc 50) video modes:
1920x1080@60.0, preferred, current, 148.5 MHz
1920x1080@60.0 16:9, 148.5 MHz
1920x1080@59.9 16:9, 148.4 MHz
1920x1080@60.0, 74.2 MHz
1920x1080@60.0 16:9, 74.2 MHz
1920x1080@59.9 16:9, 74.2 MHz
1920x1080@50.0 16:9, 148.5 MHz
1920x1080@50.0 16:9, 74.2 MHz
1600x900@60.0, 108.0 MHz
1280x1024@75.0, 135.0 MHz
1280x1024@60.0, 108.0 MHz
1152x864@75.0, 108.0 MHz
1280x720@60.0, 74.2 MHz
1280x720@60.0 16:9, 74.2 MHz
1280x720@59.9 16:9, 74.2 MHz
1280x720@50.0 16:9, 74.2 MHz
1024x768@75.0, 78.8 MHz
1024x768@60.0, 65.0 MHz
800x600@75.0, 49.5 MHz
800x600@60.3, 40.0 MHz
720x576@50.0 4:3, 27.0 MHz
720x576@50.0 16:9, 27.0 MHz
720x480@60.0 4:3, 27.0 MHz
720x480@60.0 16:9, 27.0 MHz
720x480@59.9, 27.0 MHz
720x480@59.9 16:9, 27.0 MHz
720x480@59.9 4:3, 27.0 MHz
640x480@75.0, 31.5 MHz
640x480@60.0 4:3, 25.2 MHz
640x480@59.9, 25.2 MHz
640x480@59.9 4:3, 25.2 MHz
720x400@70.1, 28.3 MHz
[20:27:10.612] associating input device event1 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event0 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event6 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event13 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event8 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event2 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event7 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event9 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event11 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event12 with output DVI-I-1 (none by udev)
[20:27:10.612] associating input device event4 with output DVI-I-1 (none by udev)
[20:27:10.612] Output 'DVI-I-1' enabled with head(s) DVI-I-1
[20:27:10.612] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: yes
arbitrary resolutions: no
view mask clipping: yes
explicit sync: no
color operations: yes
presentation clock: CLOCK_MONOTONIC, id 1
presentation clock resolution: 0.000000001 s
[20:27:10.612] Loading module '/usr/lib/weston/desktop-shell.so'
[20:27:10.613] launching '/usr/lib/weston/weston-keyboard'
[20:27:10.613] launching '/usr/lib/weston/weston-desktop-shell'
weston: ../weston-12.0.0/libweston/output-capture.c:398: weston_output_pull_capture_task: Assertion `csi->width == width' failed.
Failed to process Wayland connection: Connection reset by peer
Failed to process Wayland connection: Connection reset by peer
failed to create display: Connection reset by peer
failed to create display: Connection reset by peer
</pre>https://gitlab.freedesktop.org/wayland/weston/-/issues/756cleanup after cairo / xwayland / font map hash table destroy2023-06-07T12:06:27ZMarius Vladcleanup after cairo / xwayland / font map hash table destroyStarting with commit 823580e07094feab7d2a8a229fd7bd3a81dab5bc, the headless backend explicitly calls `cleanup_after_cairo()`
which seems to trigger an assert within cairo, when `cairo_debug_reset_static_data()` is called. This happens *o...Starting with commit 823580e07094feab7d2a8a229fd7bd3a81dab5bc, the headless backend explicitly calls `cleanup_after_cairo()`
which seems to trigger an assert within cairo, when `cairo_debug_reset_static_data()` is called. This happens *only*
when we run xwayland-test, and it happens once in a few runs, suggesting a race somewhere.
I initially thought this might be a result of `cairo_xcb_surface_create_with_xrender_format()` which still holds a reference
somehow. But going a bit deeper it seems that the specific assert would reference the same hash table (which the current code should
release all possible references), the font_map one, while `cairo_xcb_surface_create_with_xrender_format()` operates on a distinct hash table.
The trace looks like this:
```
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1 0x00007f29e32dbd2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 0x00007f29e328cef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007f29e3277472 in __GI_abort () at ./stdlib/abort.c:79
#4 0x00007f29e3277395 in __assert_fail_base
(fmt=0x7f29e33eba70 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f29e357e47b "hash_table->live_entries == 0", file=file@entry=0x7f29e357e467 "../src/cairo-hash.c", line=line@entry=219, function=function@entry=0x7f29e357e5c0 <__PRETTY_FUNCTION__.8> "_cairo_hash_table_destroy") at ./assert/assert.c:92
#5 0x00007f29e3285df2 in __GI___assert_fail
(assertion=0x7f29e357e47b "hash_table->live_entries == 0", file=0x7f29e357e467 "../src/cairo-hash.c", line=219, function=0x7f29e357e5c0 <__PRETTY_FUNCTION__.8> "_cairo_hash_table_destroy") at ./assert/assert.c:101
#6 0x00007f29e346ee6d in _cairo_hash_table_destroy (hash_table=0x55cf02eaf320) at ../src/cairo-hash.c:219
#7 0x00007f29e34bc48a in _cairo_scaled_font_map_destroy () at ../src/cairo-scaled-font.c:460
#8 0x00007f29e34622c1 in cairo_debug_reset_static_data () at ../src/cairo-debug.c:67
#9 0x00007f29e36dde10 in cleanup_after_cairo () at ../shared/cairo-util.c:700
#10 0x00007f29e36db9fa in headless_destroy (backend=0x55cf02e0b160) at ../libweston/backend-headless/headless.c:511
#11 0x00007f29e371438b in weston_compositor_destroy (compositor=0x55cf02e01c30) at ../libweston/compositor.c:8968
#12 0x00007f29e3776597 in wet_main (argc=1, argv=0x55cf02dfff00, test_data=0x7ffc85f2eff0) at ../compositor/main.c:4220
#13 0x000055cf02bb3d97 in execute_compositor (setup=0x7ffc85f2f060, data=0x55cf02dff998) at ../tests/weston-test-fixture-compositor.c:410
#14 0x000055cf02bb56e5 in weston_test_harness_execute_as_client (harness=0x55cf02dff980, setup=0x7ffc85f2f060) at ../tests/weston-test-runner.c:534
#15 0x000055cf02badb72 in fixture_setup (harness=0x55cf02dff980) at ../tests/xwayland-test.c:61
#16 0x000055cf02badb90 in fixture_setup_run_ (harness=0x55cf02dff980, arg_=0x0) at ../tests/xwayland-test.c:63
#17 0x000055cf02bb597d in main (argc=1, argv=0x7ffc85f2f248) at ../tests/weston-test-runner.c:682
```
The way that we handled this previously, like in fb57ce17ef3f9, was to explicitly call `pango_cairo_font_map_set_default(NULL)`. Instrumenting cairo when creating/insert/removing and destroying entries in that font_map hash table shows that there's still a cached version of a hash entry, but that there's *no holdover* that still references it . Now in normal runs, `_cairo_scaled_font_map_destroy()` would perform removal
from the font_map hash table, when it detects *at least a holdover*, and finally when `_cairo_hash_table_destroy()` is called, there are no entries left in that font map hash table.
For runs that trigger the assert `_cairo_scaled_font_map_destroy()` will skip removal of entries as that holdover is 0. It seems to suggest that there's window of time where the holdovers and the hash table entries are out-of-sync / or some kind of thread race, happening internally.
For `pango_cairo_font_map_set_default()`, the docs say:
```
" * Note that since Pango 1.32.6, the default fontmap is per-thread.
* This function only changes the default fontmap for
* the current thread. Default fontmaps of existing threads
* are not changed. Default fontmaps of any new threads will
* still be created using [func@PangoCairo.FontMap.new]."
```
What I've also noticed that building with -fsantize=address I can't trigger the issue, even after a few hundred of times. Might explain why I have not seen it before in CI, but I'm not excluding it.
So far, I've tried a couple of things, but I can still trigger it:
- add `pango_cairo_font_map_set_default(NULL)` in `weston_wm_destroy()` respectively `weston_wm_window_destroy()`
- in weston-test-runner.c add a `atexit(3)` to explicitly call `cleanup_after_cairo()` in that function, rather
than doing it in headless backend.
Maybe another set of eyes can over these might trigger some follow-up I could try.https://gitlab.freedesktop.org/wayland/weston/-/issues/755[weston 11.0.1] QT button is not released2023-05-24T01:44:43Zbot crack[weston 11.0.1] QT button is not releasedI'm using weston 11.0.1 and QT5.15.2 on embedded platform,
When the QPushButton is pressed, another component calls the activeWindow. As a result, the QPushButton cannot receive the mouseReleased event.
In the following example code, c...I'm using weston 11.0.1 and QT5.15.2 on embedded platform,
When the QPushButton is pressed, another component calls the activeWindow. As a result, the QPushButton cannot receive the mouseReleased event.
In the following example code, clicking the button once triggers the timer to time itself. Then press the button and wait for the timing time to arrive. After releasing the button, you can find that the button is not released.
```
#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
#include <QTimer>
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(test()));
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::test()
{
timer->stop();
ui->tableWidget->activateWindow();
qDebug()<<__FILE__<<__FUNCTION__<<__LINE__<< "Time to arrive";
}
void Dialog::on_pushButton_clicked()
{
timer->start(1000);
}
```
here is the app src
[TestProject.7z](/uploads/ad29c9f509ec52702748b50264062cbe/TestProject.7z)https://gitlab.freedesktop.org/wayland/weston/-/issues/754remoting-plugin doesn't work2023-05-19T09:12:10ZLeturemoting-plugin doesn't workI tried to add the remoting-plugin, but it didn't work when Weston started.
Here is the configuration in weston.ini file:
```code
[core]
...
remoting=remoting-plugin.so
[remote-output]
name=remote-output
mode=1280x800
host=0.0.0.0
port=...I tried to add the remoting-plugin, but it didn't work when Weston started.
Here is the configuration in weston.ini file:
```code
[core]
...
remoting=remoting-plugin.so
[remote-output]
name=remote-output
mode=1280x800
host=0.0.0.0
port=5000
```
To figure out why it wasn't working,I added logging to the relevant processes in the remoting-plugin.
In the end, I traced the issue to an exception occurring in the third call to the gl_renderer_repaint_output() function, after two repaint processes. This exception occurs on the here
```code
if (gr->swap_buffers_with_damage && !gr->fan_debug) {
...
ret = gr->swap_buffers_with_damage(gr->egl_display,
go->egl_surface,
egl_rects, n_egl_rects);
free(egl_rects);
...
```https://gitlab.freedesktop.org/wayland/weston/-/issues/753sunxi lima driver weston doesn't work2023-05-23T07:04:32ZMarek Beliskosunxi lima driver weston doesn't workI'm trying to enable weston on sunxi H5 board. I've build image using yocto with 5.15 kernel and instead of proprietary mali driver I'm using opensource lima driver with mesa. When trying to start weston in following way:
```
root@orang...I'm trying to enable weston on sunxi H5 board. I've build image using yocto with 5.15 kernel and instead of proprietary mali driver I'm using opensource lima driver with mesa. When trying to start weston in following way:
```
root@orange-pi-pc2:~# weston --modules=systemd-notify.so --debug --tty=7
```
I'm getting following.
```
Date: 2022-04-28 UTC
[17:54:16.468] weston 10.0.1
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.1
[17:54:16.468] Command line: weston --modules=systemd-notify.so --debug --tty=7
[17:54:16.468] OS: Linux, 5.15.35, #1 SMP PREEMPT Wed Apr 20 07:34:22 UTC 2022, aarch64
[17:54:16.468] Flight recorder: enabled
[17:54:16.468] Using config file '/etc/xdg/weston/weston.ini'
WARNING: debug protocol has been enabled. This is a potential denial-of-service attack vector and information leak.
[17:54:16.469] Output repaint window is 7 ms maximum.
[17:54:16.469] Loading module '/usr/lib/libweston-10/drm-backend.so'
[17:54:16.489] initializing drm backend
[17:54:16.489] Trying logind launcher...
[17:54:16.490] logind: failed to get session seat
[17:54:16.490] logind: cannot setup systemd-logind helper error: (No data available), using legacy fallback
[17:54:16.490] Trying weston_launch launcher...
[17:54:16.490] could not get launcher fd from env
[17:54:16.490] Trying direct launcher...
[17:54:16.496] using /dev/dri/card1
[17:54:16.496] DRM: supports atomic modesetting
[17:54:16.496] DRM: supports GBM modifiers
[17:54:16.497] DRM: supports picture aspect ratio
[17:54:16.497] Loading module '/usr/lib/libweston-10/gl-renderer.so'
[17:54:16.548] EGL client extensions: EGL_EXT_client_extensions
EGL_EXT_device_base EGL_EXT_device_enumeration
EGL_EXT_device_query EGL_EXT_platform_base
EGL_KHR_client_get_all_proc_addresses EGL_KHR_debug
EGL_EXT_platform_device EGL_EXT_platform_wayland
EGL_KHR_platform_wayland EGL_EXT_platform_x11
EGL_KHR_platform_x11 EGL_MESA_platform_xcb
EGL_MESA_platform_gbm EGL_KHR_platform_gbm
EGL_MESA_platform_surfaceless
[17:54:16.551] EGL device extensions: EGL_EXT_device_drm
[17:54:16.551] EGL version: 1.4
[17:54:16.551] EGL vendor: Mesa Project
[17:54:16.551] EGL client APIs: OpenGL OpenGL_ES
[17:54:16.551] EGL extensions: EGL_ANDROID_blob_cache
EGL_ANDROID_native_fence_sync EGL_EXT_buffer_age
EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2
EGL_KHR_config_attribs EGL_KHR_create_context
EGL_KHR_create_context_no_error EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace
EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image
EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image
EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap
EGL_KHR_no_config_context EGL_KHR_partial_update
EGL_KHR_reusable_sync EGL_KHR_surfaceless_context
EGL_EXT_pixel_format_float EGL_KHR_wait_sync
EGL_MESA_configless_context EGL_MESA_drm_image
EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
EGL_WL_bind_wayland_display
[17:54:16.552] EGL_KHR_surfaceless_context available
[17:54:16.562] GL version: OpenGL ES 2.0 Mesa 22.0.3
[17:54:16.563] GLSL version: OpenGL ES GLSL ES 1.0.16
[17:54:16.563] GL vendor: lima
[17:54:16.563] GL renderer: Mali450
[17:54:16.563] GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
GL_EXT_texture_format_BGRA8888
GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24
GL_OES_element_index_uint GL_OES_fbo_render_mipmap
GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives
GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_half_float
GL_OES_texture_half_float_linear GL_OES_texture_npot
GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_depth_texture
GL_OES_packed_depth_stencil GL_OES_get_program_binary
GL_APPLE_texture_max_level GL_EXT_discard_framebuffer
GL_EXT_read_format_bgra GL_EXT_frag_depth
GL_NV_fbo_color_attachments GL_OES_EGL_image_external
GL_OES_EGL_sync GL_OES_vertex_array_object
GL_ANGLE_pack_reverse_row_order GL_EXT_texture_rg
GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer
GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil
GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug
GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object
GL_OES_required_internalformat GL_OES_surfaceless_context
GL_EXT_separate_shader_objects
GL_EXT_compressed_ETC1_RGB8_sub_texture
GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp
GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex
GL_OES_texture_border_clamp GL_EXT_blend_func_extended
GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d
GL_EXT_clip_control GL_KHR_parallel_shader_compile GL_MESA_bgra
[17:54:16.615] GL ES 2.0 - renderer features:
read-back format: BGRA
EGL Wayland extension: yes
[17:54:16.630] event0 - r-gpio-keys: not tagged as supported input device
[17:54:16.658] event0 - not using input device '/dev/input/event0'
[17:54:16.658] warning: no input devices found, but none required as per configuration.
[17:54:16.864] DRM: head 'HDMI-A-1' updated, connector 51 is connected, EDID make 'HWP', model 'HP 27es', serial '3CM8130KPY '
[17:54:16.864] DRM: head 'HDMI-A-1' found, connector 51 is connected, EDID make 'HWP', model 'HP 27es', serial '3CM8130KPY '
[17:54:16.865] Registered plugin API 'weston_drm_output_api_v1' of size 24
[17:54:16.865] Color manager: no-op
[17:54:16.865] Output 'HDMI-A-1' using color profile: built-in default sRGB SDR profile
[17:54:16.865] format 0x34325258 not supported by output HDMI-A-1
[17:54:16.865] failed to create gbm surface
[17:54:16.865] Failed to init output gl state
[17:54:16.865] Enabling output "HDMI-A-1" failed.
[17:54:16.865] Error: cannot enable output 'HDMI-A-1' without heads.
```
Am I missing something or this is not supported ATM? Thanks.https://gitlab.freedesktop.org/wayland/weston/-/issues/752multiple GPU support in drm backend2023-05-11T10:44:25Zsophia gongmultiple GPU support in drm backendHi,
i'm going to enable two gpu in our system, one gpu for client gfx render, both gpu for display output. weston 11 develops a new feature to support multi backend, could this feature support multi gpu in our case? could someone introd...Hi,
i'm going to enable two gpu in our system, one gpu for client gfx render, both gpu for display output. weston 11 develops a new feature to support multi backend, could this feature support multi gpu in our case? could someone introduce more details about how multi backend implement? thanks!
Sophiahttps://gitlab.freedesktop.org/wayland/weston/-/issues/751Add/enforce pointer constraint to kiosk-shell2023-05-03T07:42:52ZMarius VladAdd/enforce pointer constraint to kiosk-shellThis is a follow-up from https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1202 to implement something similar to kiosk-shell.This is a follow-up from https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1202 to implement something similar to kiosk-shell.https://gitlab.freedesktop.org/wayland/weston/-/issues/750Dimming screensaver2023-05-03T12:50:11ZKjeld FlarupDimming screensaverI learned that the external screensaver has been removed from Weston.
I found that it is possible to totally blank the screen with the idle parameter, and wake it up again with input.
This is so far fine, but we are running a kiosk ser...I learned that the external screensaver has been removed from Weston.
I found that it is possible to totally blank the screen with the idle parameter, and wake it up again with input.
This is so far fine, but we are running a kiosk service, and want the screen to dim to save power, and when the screen is touched, then it will increase the backlight to 100% again.
I had hoped this was possible with an external screensaver, but as this is no-longer supported, what can I use then?