wayland issueshttps://gitlab.freedesktop.org/groups/wayland/-/issues2024-01-19T14:01:27Zhttps://gitlab.freedesktop.org/wayland/weston/-/issues/860Qt app to take its own screenshot2024-01-19T14:01:27ZpaiuscoQt app to take its own screenshotI've been looking everywhere, and I apologize if this is the wrong channel to submit this question (which may become a request)
Weston by default has the keybind of super+s for screenshot and this works fine, although our use-case doesn...I've been looking everywhere, and I apologize if this is the wrong channel to submit this question (which may become a request)
Weston by default has the keybind of super+s for screenshot and this works fine, although our use-case doesn't have a keyboard, this will be done by touching through a QT app running on Weston. We either had to make the Qt talk to Weston sending a keybinding (xdotool is not available clearly, and we'll try ydotool/dotool), but this is not the best approach IMO. I saw the possibility to use weston-screenshooter but this demand me to use `--debug` when running Weston which is not production safety. The closest request I found was this (https://gitlab.freedesktop.org/wayland/weston/-/issues/765)... I know nothing about portals,
Is there any better way for an app running on top of Weston to take a screenshot of its own or the whole screen? (the app is running as kiosk mode anyway)https://gitlab.freedesktop.org/wayland/weston/-/issues/396Always create stable branches?2024-01-19T12:00:33ZPekka Paalanenppaalanen@gmail.comAlways create stable branches?This is prompted by wayland/weston!418.
Maybe stable branches should always get created when master opens up for new development after a release?
Otherwise people cannot cherry-pick patches and submit MRs for stable branches, which mea...This is prompted by wayland/weston!418.
Maybe stable branches should always get created when master opens up for new development after a release?
Otherwise people cannot cherry-pick patches and submit MRs for stable branches, which means we basically stop any stable branch maintenance from ever occurring.
If people were able to submit MRs against stable branches, reviewing those MRs should be a breeze most of the time (Did it use `git cherry-pick -x`? Is it only a bug fix?). If contributors help pick the patches for stable branches, maybe the release manager doesn't need to do anything more than cut releases sometimes.https://gitlab.freedesktop.org/wayland/weston/-/issues/609The kernel never declares which EOTF modes it supports in HDR_OUTPUT_METADATA2024-01-19T11:58:41ZPekka Paalanenppaalanen@gmail.comThe kernel never declares which EOTF modes it supports in HDR_OUTPUT_METADATAThe following discussion from !835 should be addressed:
- [ ] @daniels started a [discussion](https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/835#note_1347082): (+7 comments)
> From what I understand, there's no pru...The following discussion from !835 should be addressed:
- [ ] @daniels started a [discussion](https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/835#note_1347082): (+7 comments)
> From what I understand, there's no pruning (other than can only do SDR if no property) here, because the kernel never declares which EOTFs it understands, right? If so, this could probably just be flattened in somewhere else. But I'm not too concerned about it.
Amdgpu driver has peculiar behavior here. If I try to use HLG as EOTF mode on my monitor that says it does not support HLG mode, amdgpu rejects the atomic commit with Invalid value. Userspace is supposed to parse EDID to discover what the monitor supports.
As @swick points out, problems may arise when new EOTF modes are added, e.g. Source-Based Tone Mapping (SBTM).
If userspace parses EDID, understands SBTM, finds that SBTM is supported in EDID, attempts to use that, and kernel is too old to understand that SBTM is an option, the modeset will fail. (SBTM or any other new value for EOTF in `HDR_OUTPUT_METADATA`.)
I guess this cannot really be called a (future) regression, because SBTM never worked before, and it still doesn't. It does expose userspace to unexpected failures. One could say userspace just needs to `TEST_ONLY` and fall back, but OTOH why is the kernel checking this to begin with? The kernel only forwards the metadata to the sink as-is.
cc @emersionhttps://gitlab.freedesktop.org/wayland/wayland.freedesktop.org/-/issues/6CI: zlib signature error2024-01-15T10:59:06ZJosé ExpósitoCI: zlib signature errorMy CI job:
https://gitlab.freedesktop.org/wayland/wayland.freedesktop.org/-/jobs/53744144
Has failed with error:
```
checking keyring...
downloading required keys...
:: Import PGP key B8AC08600F108CDF, "Jan Alexander Steffens (heftig...My CI job:
https://gitlab.freedesktop.org/wayland/wayland.freedesktop.org/-/jobs/53744144
Has failed with error:
```
checking keyring...
downloading required keys...
:: Import PGP key B8AC08600F108CDF, "Jan Alexander Steffens (heftig) <heftig@archlinux.org>"? [Y/n]
checking package integrity...
:: File /var/cache/pacman/pkg/zlib-1:1.3-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] error: zlib: signature from "Levente Polyak (anthraxx) <levente@leventepolyak.net>" is unknown trust
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded.
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1
```
[The Wiki](https://wiki.archlinux.org/title/Pacman/Package_signing#Resetting_all_the_keys) suggest to remove `/etc/pacman.d/gnupg` and run `pacman-key --init && pacman-key --populate`, but I'm not sure if that makes sense in a container.https://gitlab.freedesktop.org/wayland/wayland/-/issues/431wayland-server replaces existing /run/user/1000/wayland-0 when running under ...2024-01-12T17:32:45Ztwowayland-server replaces existing /run/user/1000/wayland-0 when running under flatpakif i run tinywl or gtk3 [wakefield](https://github.com/magcius/wakefield) in a run shell in gnome-builder using a flatpak sdk, it replaces the `wayland-0` socket inside the sandbox, and next i can't start the server or anything that uses...if i run tinywl or gtk3 [wakefield](https://github.com/magcius/wakefield) in a run shell in gnome-builder using a flatpak sdk, it replaces the `wayland-0` socket inside the sandbox, and next i can't start the server or anything that uses wayland, like `gtk4-demo` in the same shell eitherhttps://gitlab.freedesktop.org/wayland/wayland/-/issues/432Wayland architecture2024-01-11T10:15:17ZWaider WWayland architectureSorry for maybe a stupid question, but:
How architecture of Wayland works? Is there anymore a display server or is it just something like a library with hooks?
My understand of the stack is:
> the wayland server<br>
> (clients)<br>
...Sorry for maybe a stupid question, but:
How architecture of Wayland works? Is there anymore a display server or is it just something like a library with hooks?
My understand of the stack is:
> the wayland server<br>
> (clients)<br>
> \- Mutter (an windowing manager, a wayland compositor, like an police in the wayland server, writes title bars if clients asks)<br>
> \- GNOME Shell (just one among other clients, but ask an windowing manager to not add title bars to it and to grant privileges)<br>
> \- Firefox (ask an windowing manager to add window and title bar)<br>
> \- Gedit<br>
> \- ...
or
> Mutter (a display server, a wayland compositor, all clients connect to this program to use display)<br>
> (clients)<br>
> \- GNOME Shell (just one among other clients, but ask a display server to not add title bars to it and to grant privileges)<br>)<br>
> \- Firefox (ask write window and title bar)<br>
> \- Gedit<br>
> \- ...
But then, I found [this](https://discourse.gnome.org/t/creating-kiosk-system-issue-with-gnome-overview-mode/17081/17) on Google and it tell Mutter is just a library. Then, maybe stack something like:
> GNOME Shell (one binary that contains a display server functions (building this needs libmutter as depency and since libmutter is part of builded binary) and GNOME Shell functions. Mutter exists as a library that is developed separately, but when compiled it is part of GNOME Shell.)<br>
> (clients)<br>
> \- Firefox<br>
> \- Gedit<br>
> \- ...
So, how is it? Thank you already :)https://gitlab.freedesktop.org/wayland/weston/-/issues/863Handling subsurface rendering2024-01-08T12:24:18ZJunHandling subsurface renderingHi All,
I added masking as a custom function to weston. The code is roughly as follows:
```
/* XXX: Should we be using ev->transform.opaque here? */
pixman_region32_init(&surface_opaque); region:
if (ev->geometr...Hi All,
I added masking as a custom function to weston. The code is roughly as follows:
```
/* XXX: Should we be using ev->transform.opaque here? */
pixman_region32_init(&surface_opaque); region:
if (ev->geometry.scissor_enabled)
pixman_region32_intersect(&surface_opaque, new_reg:
surface_opaque_src_ptr, reg1:
&ev->geometry.scissor); reg2:
else
pixman_region32_copy(&surface_opaque, surface_opaque_src_ptr); dest: source:
+ if (get_mask(ev)) {
+ pixman_region32_init_rect(&mask_region,
+ ev->mask_region.x + output->x, ev->mask_region.y + output->y,
+ ev->mask_region.width, ev->mask_region.height);
+ pixman_region32_subtract(&repaint, &repaint, &mask_region);
+ }
```
masking a specific area causes the final stage of rendering, draw_view(), to not draw the masked area. The feature works fine, but it doesn't apply to subsurface areas in weston-subsurfaces. So, after reading the documentation on the subsurface definition and doing some testing, I found that subsurfaces are rendered directly in the client regardless of sync/desync. Is there any way to handle this in the rendering client, rather than in the final draw_view()?https://gitlab.freedesktop.org/wayland/weston/-/issues/857Weston launcher renders icons incorrectly depending on size and screen rotation2024-01-03T03:11:27ZM BWeston launcher renders icons incorrectly depending on size and screen rotationThe weston launcher will incorrectly render icons depending on whether the output it is on is rotated and depending on what size the provided icons are. Attached are a series of screenshots which demonstrate permutations of (a) whether `...The weston launcher will incorrectly render icons depending on whether the output it is on is rotated and depending on what size the provided icons are. Attached are a series of screenshots which demonstrate permutations of (a) whether `firefox` or `xfce4-terminal` is the first `[launcher]` section, (b) whether the display the launcher is rendered on is rotated or not, (c) whether 32x32 or 128x128 icons are provided, (d) whether the launcher is on the top of the screen or the left.
[firefox-first-32-no-rotation.png](/uploads/637f26d43b5652ba442d88f2432a05d2/firefox-first-32-no-rotation.png)
[firefox-first-32-rotation.png](/uploads/3d0c0e07976f74fa3b1cb96405bbadc3/firefox-first-32-rotation.png)
[firefox-first-128-no-rotation.png](/uploads/15958fe07349d98bcff1fd21e635d783/firefox-first-128-no-rotation.png)
[firefox-first-128-rotation.png](/uploads/383f903206a54207f20c6eddb100ca8e/firefox-first-128-rotation.png)
[term-first-32-no-rotation.png](/uploads/ffc214e438937636a7b20152cba80bb9/term-first-32-no-rotation.png)
[term-first-32-rotation.png](/uploads/f51b780cc39ce34c3890e8ff680ed998/term-first-32-rotation.png)
[term-first-128-no-rotation.png](/uploads/0541e26d0b984fae1e67ec8f6bfe66e4/term-first-128-no-rotation.png)
[term-first-128-rotation.png](/uploads/8acd1de1221ee9a6f3ceeffb1bfb4ae8/term-first-128-rotation.png)
The working permutations are only the non-rotated permutations using 32x32 icons at the top of the screen. All other permutations have some sort of rendering error.
```plaintext
[launcher]
displayname=term
icon=/usr/share/icons/hicolor/32x32/apps/org.xfce.terminal.png
path=/usr/bin/xfce4-terminal
[launcher]
displayname=firefox
icon=/usr/share/icons/hicolor/32x32/apps/firefox.png
path=/usr/bin/firefox
# right profile monitor
[output]
name=DP-3
mode=preferred
# transform=rotate-270
# left profile monitor
[output]
name=DP-4
mode=preferred
# transform=rotate-90
```
The weston backend is weston-drm. The GPU is intel integrated graphics on an i7-6600U. The kernel is `6.6.7-arch1-1`. The `weston.ini` is minimal, there's no `[terminal]` section. I tried launching `weston-terminal --font="..."` with several monospace fonts such as `"DejaVu Sans Mon"` and `"Noto Sans Mono"` without any improvement.
```plaintext
$ cat /sys/class/drm/card1/device/vendor
0x8086
$ cat /sys/class/drm/card1/device/device
0x1916
```
Some hopefully-relevant sections of the weston log file:
```plaintext
Date: 2023-12-22 PST
[23:42:36.215] weston 12.0.2
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 12.0.2
[23:42:36.215] Command line: weston --backend=drm --shell=desktop --log=/tmp/font.log
[23:42:36.215] OS: Linux, 6.6.7-arch1-1, #1 SMP PREEMPT_DYNAMIC Thu, 14 Dec 2023 03:45:42 +0000, x86_64
[23:42:36.215] Flight recorder: enabled
[23:42:36.215] Using config file '/home/me/.config/weston.ini'
[23:42:36.216] Output repaint window is 7 ms maximum.
[23:42:36.216] Loading module '/usr/lib/libweston-12/drm-backend.so'
[23:42:36.218] initializing drm backend
[23:42:36.218] Trying libseat launcher...
[23:42:36.218] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[23:42:36.218] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[23:42:36.234] [libseat/libseat.c:73] Seat opened with backend 'logind'
[23:42:36.234] libseat: session control granted
[23:42:36.237] using /dev/dri/card1
[23:42:36.237] DRM: supports atomic modesetting
[23:42:36.237] DRM: supports GBM modifiers
[23:42:36.237] DRM: does not support async page flipping
[23:42:36.237] DRM: supports picture aspect ratio
[23:42:36.262] Loading module '/usr/lib/libweston-12/gl-renderer.so'
[23:42:36.265] Using rendering device: /dev/dri/renderD128
[23:42:36.265] EGL version: 1.5
[23:42:36.265] EGL vendor: Mesa Project
[23:42:36.265] EGL client APIs: OpenGL OpenGL_ES
[23:42:36.265] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: yes
partial update: no
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[23:42:36.267] GL version: OpenGL ES 3.2 Mesa 23.2.1-arch1.2
[23:42:36.267] GLSL version: OpenGL ES GLSL ES 3.20
[23:42:36.267] GL vendor: Intel
[23:42:36.267] GL renderer: Mesa Intel(R) HD Graphics 520 (SKL GT2)
[23:42:36.274] GL ES 3.2 - 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
[23:42:36.274] Using GL renderer
[23:42:36.836] Chosen EGL config details: id: 61 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
```https://gitlab.freedesktop.org/wayland/weston/-/issues/668Running weston 10 without weston-launch on containers2023-12-29T11:44:28ZMatheus CastelloRunning weston 10 without weston-launch on containersThis is not an issue, I think. If I'm posting in the wrong place, please let me know the right way to make this question.
Before Weston 10 I used weston-launch inside containers without problems. Now on Weston 10 I saw that weston-launch...This is not an issue, I think. If I'm posting in the wrong place, please let me know the right way to make this question.
Before Weston 10 I used weston-launch inside containers without problems. Now on Weston 10 I saw that weston-launch is deprecated, and not included as default. I tried to use the `seatd-launch` without success:
```
seatd-launch -- weston --backend=drm-backend.so --tty=/dev/tty7 --user=torizon
00:00:00.000 [seatd/seat.c:39] Created VT-bound seat seat0
00:00:00.007 [seatd/seatd.c:194] seatd started
Date: 2022-09-23 UTC
[04:35:14.132] weston 10.0.1
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.1
[04:35:14.136] Command line: weston --backend=drm-backend.so --tty=/dev/tty7 --user=torizon
[04:35:14.136] OS: Linux, 5.19.0-nezha, #1 PREEMPT Wed Sep 14 05:26:45 UTC 2022, riscv64
[04:35:14.137] Flight recorder: enabled
[04:35:14.137] warning: XDG_RUNTIME_DIR "/tmp/1000-runtime-dir" is not configured
correctly. Unix access mode must be 0700 (current mode is 0700),
and must be owned by the user UID 0 (current owner is UID 1000).
Refer to your distribution on how to get it, or
http://www.freedesktop.org/wiki/Specifications/basedir-spec
on how to implement it.
[04:35:14.140] Using config file '/etc/xdg/weston/weston.ini'
[04:35:14.144] Output repaint window is 7 ms maximum.
[04:35:14.146] Loading module '/usr/lib/riscv64-linux-gnu/libweston-10/drm-backend.so'
[04:35:14.186] initializing drm backend
[04:35:14.188] Trying logind launcher...
[04:35:14.192] logind: cannot find systemd session for uid: 0 -61
[04:35:14.194] logind: cannot setup systemd-logind helper error: (No data available), using legacy fallback
[04:35:14.197] Trying weston_launch launcher...
[04:35:14.197] could not get launcher fd from env
[04:35:14.199] Trying direct launcher...
[04:35:14.201] <stdin> not a vt
[04:35:14.201] if running weston from ssh, use --tty to specify a tty
[04:35:14.201] fatal: drm backend should be run using weston-launch binary, or your system should provide the logind D-Bus API.
[04:35:14.202] fatal: failed to create compositor backend
Internal warning: debug scope 'drm-backend' has not been destroyed.
00:00:00.198 [seatd/seatd.c:218] seatd stopped
```
I'm pretty sure I'm missing something here, but weston tells me i should have weston-launch ...https://gitlab.freedesktop.org/wayland/weston/-/issues/855weston exits with non-zero exit code and no obvious error log2023-12-28T09:23:25ZM Bweston exits with non-zero exit code and no obvious error logWhen running `weston` from a tty with a minimal `weston.ini` (or no configuration file), it begins initialization and then exits with a non-zero status code and reports no obvious errors. If I add the `--log` argument, the logfile record...When running `weston` from a tty with a minimal `weston.ini` (or no configuration file), it begins initialization and then exits with a non-zero status code and reports no obvious errors. If I add the `--log` argument, the logfile records an error not initially displayed on stderr: `Output 'DP-5': No available CRTCs.` and `Error: cannot enable output 'DP-5' without heads`.
The system is a Lenovo laptop attached to [a dock](https://support.lenovo.com/us/en/solutions/acc100252-thinkpad-onelink-dock-overview-and-service-parts) via Lenovo's proprietary OneLink+ connector. The laptop itself has a built-in display (eDP-1), an HDMI port, and a mini-Display-Port. The dock has two DisplayPort connectors and a VGA connector. At the time of the error, the laptop lid is closed so eDP-1 is dark, all connectors on the laptop are not plugged in, and the three connectors on the dock are attached.
The exact invocation is: `weston --log=/tmp/weston.log --backend=drm --shell=desktop`
```plaintext
$ cat ~/.config/weston.ini
[output]
name=DP-1
mode=preferred
[output]
name=DP-2
mode=preferred
[output]
name=DP-3
mode=preferred
```
```plaintext
$ ls -l /sys/class/drm
total 0
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-1
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-DP-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-2
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-DP-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-3
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-DP-4 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-4
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-DP-5 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-5
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-eDP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-1
lrwxrwxrwx 1 root root 0 Dec 15 10:14 card1-HDMI-A-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-HDMI-A-2
lrwxrwxrwx 1 root root 0 Dec 15 10:14 renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
-r--r--r-- 1 root root 4096 Dec 15 12:38 version
```
```plaintext
$ sudo dmesg | grep -Ei 'drm|i915|fb0|framebuffer'
[ 0.368507] ACPI: bus type drm_connector registered
[ 0.368972] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
[ 0.379204] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
[ 73.804567] systemd[1]: Starting Load Kernel Module drm...
[ 76.101945] i915 0000:00:02.0: enabling device (0006 -> 0007)
[ 76.139931] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 76.146150] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=mem
[ 76.148034] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/skl_dmc_ver1_27.bin (v1.27)
[ 77.669841] i915 0000:00:02.0: [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[ 77.691007] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[ 77.711776] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 77.745794] fbcon: i915drmfb (fb0) is primary device
[ 77.777660] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
```
```plaintext
$ cat /sys/devices/pci0000:00/0000:00:02.0/{vendor,device}
0x8086
0x1916
```
```plaintext
$ grep DP-5 /tmp/weston.log
[12:36:04.590] DRM: head 'DP-5' found, connector 133 is connected, EDID make 'PLN', model 'PXL2780MW', serial '16843009'
[12:36:04.595] Output 'DP-5' attempts EOTF mode: SDR
[12:36:04.595] Output 'DP-5' using color profile: built-in default sRGB SDR profile
[12:36:04.595] Output 'DP-5': No available CRTCs.
[12:36:04.595] Enabling output "DP-5" failed.
[12:36:04.595] Error: cannot enable output 'DP-5' without heads.
```
Full log is attached.https://gitlab.freedesktop.org/wayland/weston/-/issues/856weston-terminal renders as a black square, other weston-* tools are fine2023-12-25T20:58:37ZM Bweston-terminal renders as a black square, other weston-* tools are fineUsing Weston 12.0.2, other weston-\* clients work such as weston-flower, weston-editor, weston-simple-egl, weston-simple-shm, etc. However the weston-terminal renders as a solid black square. The terminal itself functions fine. Commands ...Using Weston 12.0.2, other weston-\* clients work such as weston-flower, weston-editor, weston-simple-egl, weston-simple-shm, etc. However the weston-terminal renders as a solid black square. The terminal itself functions fine. Commands entered into the terminal run. The mouse cursor also changes when moving over the text area of the terminal vs. where the menu bar presumably is. The window can be resized, but it doesn't cause it to render properly. A right click menu also appears to exist but not be rendered, as blindly right-clicking occasionally spawns a second terminal window. Other terminal programs such as xfce4-terminal work.
The weston backend is weston-drm. The GPU is intel integrated graphics on an i7-6600U. The kernel is `6.6.7-arch1-1`. The `weston.ini` is minimal, there's no `[terminal]` section. I tried launching `weston-terminal --font="..."` with several monospace fonts such as `"DejaVu Sans Mon"` and `"Noto Sans Mono"` without any improvement.
```plaintext
$ cat /sys/class/drm/card1/device/vendor
0x8086
$ cat /sys/class/drm/card1/device/device
0x1916
```
Some hopefully-relevant sections of the weston log file:
```plaintext
Date: 2023-12-22 PST
[23:42:36.215] weston 12.0.2
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 12.0.2
[23:42:36.215] Command line: weston --backend=drm --shell=desktop --log=/tmp/font.log
[23:42:36.215] OS: Linux, 6.6.7-arch1-1, #1 SMP PREEMPT_DYNAMIC Thu, 14 Dec 2023 03:45:42 +0000, x86_64
[23:42:36.215] Flight recorder: enabled
[23:42:36.215] Using config file '/home/me/.config/weston.ini'
[23:42:36.216] Output repaint window is 7 ms maximum.
[23:42:36.216] Loading module '/usr/lib/libweston-12/drm-backend.so'
[23:42:36.218] initializing drm backend
[23:42:36.218] Trying libseat launcher...
[23:42:36.218] [libseat/backend/seatd.c:64] Could not connect to socket /run/seatd.sock: No such file or directory
[23:42:36.218] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[23:42:36.234] [libseat/libseat.c:73] Seat opened with backend 'logind'
[23:42:36.234] libseat: session control granted
[23:42:36.237] using /dev/dri/card1
[23:42:36.237] DRM: supports atomic modesetting
[23:42:36.237] DRM: supports GBM modifiers
[23:42:36.237] DRM: does not support async page flipping
[23:42:36.237] DRM: supports picture aspect ratio
[23:42:36.262] Loading module '/usr/lib/libweston-12/gl-renderer.so'
[23:42:36.265] Using rendering device: /dev/dri/renderD128
[23:42:36.265] EGL version: 1.5
[23:42:36.265] EGL vendor: Mesa Project
[23:42:36.265] EGL client APIs: OpenGL OpenGL_ES
[23:42:36.265] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: yes
partial update: no
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[23:42:36.267] GL version: OpenGL ES 3.2 Mesa 23.2.1-arch1.2
[23:42:36.267] GLSL version: OpenGL ES GLSL ES 3.20
[23:42:36.267] GL vendor: Intel
[23:42:36.267] GL renderer: Mesa Intel(R) HD Graphics 520 (SKL GT2)
[23:42:36.274] GL ES 3.2 - 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
[23:42:36.274] Using GL renderer
[23:42:36.836] Chosen EGL config details: id: 61 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
```https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/171Brainstorming: Optimizing for hardware planes2023-12-20T16:10:42ZJrelvasBrainstorming: Optimizing for hardware planesHey everyone.
I've been doing some brainstorming with hardware planes. As you probably know, a lot of GPUs have the ability to do simple image blending with the help of fixed-function hardware. The way this works is by exposing several ...Hey everyone.
I've been doing some brainstorming with hardware planes. As you probably know, a lot of GPUs have the ability to do simple image blending with the help of fixed-function hardware. The way this works is by exposing several planes, which are then blended before being sent to the display.
The number of planes available varies by hardware, but there can be quite a lot to take advantage of. For example, my rpl-p gen12 intel igpu has 7 planes + 1 cursor plane.
Since hardware planes are generally less of a power drain, it's probably a good idea to try to use as many as possible, while attempting to prioritize the content which benefits the most from them.
![hardware_plane_assignment](/uploads/52571e54d5325db637eb0eda26b22c09/hardware_plane_assignment.png)
Here's a simple concept of what something like this could look. There's a few programs open which provide some buffers, and we want to composite something for our monitor with their buffers.
There are 6 usable planes in total, so we begin by assigning each single buffer to its own hardware plane. Eventually, we come across a program which has more buffers than overlay planes available. A quick solution to this problem is blending this program's buffers and scanning the result out to a single overlay.
This isn't perfect though, mainly because it always gives "priority" to the foreground buffers. This isn't necessarily the best approach as background buffers could actually be content types which are updated more often, such as a video stream or a videogame output. A solution to this would be to prioritize the assignment of certain kinds of contents to their own planes:
![content_priority](/uploads/aa80df40a689df39216ee7523a50022b/content_priority.png)
In this example, there's only 3 planes to work with. We know the video stream will update more often, so we give it priority and assign it one of the planes. The remaining non-priority buffers are grouped into background and foreground and then blended + scanned out into the two remaining planes. This ensures that the video can continue to play without requiring further 3d engine usage.
There's a lot of possibilities here, so I'd love to get some feedback on the concept. I'd like to understand if maximizing hardware plane usage is a good idea, as well as what kind of choices the compositor should be doing to ensure optimal power savings.
I'm thinking about writing a simple algorithm to prototype with this idea. It'll try to maximize the use of hardware planes and minimize the amount of required redraws for a N amount of buffers (with different types) and a N amount of planes.https://gitlab.freedesktop.org/wayland/wayland/-/issues/428User help with Xkb2023-12-19T16:37:07ZGg wpUser help with XkbHello, everyone ! I am helping to develop the [xkb-switch](https://github.com/grwlf/xkb-switch)(originally under X11) port for Wayland. We are faced with the problem of interacting with Xkb under Wayland. [Here](https://github.com/xkbcom...Hello, everyone ! I am helping to develop the [xkb-switch](https://github.com/grwlf/xkb-switch)(originally under X11) port for Wayland. We are faced with the problem of interacting with Xkb under Wayland. [Here](https://github.com/xkbcommon/libxkbcommon/issues/409) we were told that `libxkbcommon` does not have tools to change the keyboard layout. Therefore, I want to find out if there is a standard way in Wayanad to interact with Xkb and keyboard layout.https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/74Allow embedding foreign wl_surfaces2023-12-17T07:12:00ZVictoria BrekenfeldAllow embedding foreign wl_surfacesHey there :wave:,
one of the devs of [smithay](https://github.com/Smithay/smithay/) here.
I recently got involved in development for Pop!_OS, which is likely to move away from GNOME at some point.
In pursue of developing our own desktop...Hey there :wave:,
one of the devs of [smithay](https://github.com/Smithay/smithay/) here.
I recently got involved in development for Pop!_OS, which is likely to move away from GNOME at some point.
In pursue of developing our own desktop environment, we found a use-case, which we believe is not covered by currently available wayland protocols. I am reaching out to gather some feedback and see, if there is interest in our proposal.
We would like to have extensible panel- and dock-clients, but would prefer to run "applets" in a separate process. While there are a ton of possible technical solutions, we would like to use a mechanism similar to what XEmbed offered on X11 for a bunch of reasons:
- We do not need to know, what exactly the client is drawing, we just want to display it inside our panel or dock.
- There is already a software running to composite different clients: the wayland compositor. We could of course implement an embedded compositor (like [the wayland docs suggest](https://wayland.freedesktop.org/docs/html/ch02.html), but that increases the complexity quite a bit).
- Clients managing surfaces on their own (opposed to the dock doing that) could use almost any ui-toolkit they please out-of-the-box, instead of the panel/dock having to pass on input events and what not.
[xdg-foreign](https://gitlab.freedesktop.org/wayland/wayland-protocols/-/blob/main/unstable/xdg-foreign/xdg-foreign-unstable-v2.xml) already seems to be half the way there, but it is currently limited to toplevel surfaces and offers the exporter no way to precisely position the imported children.
Already lifting the first of these constraints would make xdg-foreign a lot more useful for our use-case. Then we could create a subsurface for the dedicated space of a new applet, export that, pass on the handle and the compositor would position the applet inside that subsurface.
For the compositor this would mean being able to attach toplevels into arbitrary places in existing surface trees, which is obviously not matching with the existing semantics of xdg-foreign:
> Calling this function sets up a surface to surface relation with the same stacking and positioning semantics as xdg_toplevel.set_parent
The second problem is, that malicious clients could be submitting buffers larger than the area they are supposed to sit in. This could for example be solved by expressing those size constraints via the protocol and making this kind of behavior a protocol error.
To sum up my questions:
- Is this possibly a use case, that could be handled by an extension of the xdg-foreign protocol?
- Is this a use case, that should rather be handled by a different protocol, that allows sharing wl_surface between processes or at least enables more complex parent-child-relations across processes?
- Is there interest in adopting any of this into wayland-protocols?
We would like to build a solution, that works with different desktop environments today, which is why I am suggesting extending xdg-foreign, given its already widespread adoption and similar - although much narrower - purpose. But if there is interest in developing a new protocol together, I am also happy to put the work in.
Thanks for you time! :slight_smile:https://gitlab.freedesktop.org/wayland/weston/-/issues/839Panfrost (rk3399) NV12 sampling broken2023-12-14T12:50:04ZRobert MaderPanfrost (rk3399) NV12 sampling brokenWhen using the [external image import](https://gitlab.freedesktop.org/wayland/weston/-/blob/f2f7560fac57af7f97916129ca053920bcaab195/libweston/renderer-gl/gl-renderer.c#L2869) path (instead of the [component/fallback one](https://gitlab....When using the [external image import](https://gitlab.freedesktop.org/wayland/weston/-/blob/f2f7560fac57af7f97916129ca053920bcaab195/libweston/renderer-gl/gl-renderer.c#L2869) path (instead of the [component/fallback one](https://gitlab.freedesktop.org/wayland/weston/-/blob/f2f7560fac57af7f97916129ca053920bcaab195/libweston/renderer-gl/gl-renderer.c#L2889)), colors are broken. While this is likely a Mesa bug, it's noteworthy that the same is not true for Sway, which (if I'm not mistaken) also only uses external images (instead of custom shaders, like the mentioned fallback path in Weston and Mutter).
A possible reason could be that the Panfrost shaders are not compatible with Westons - possibly only working with more recent GLSL version (`300` instead of `100`)? Needs more investigation.
Tested on a PineBook Pro (rk3399), Weston f2f7560f, Mesa 23.2, 23.3rc, main.
Reproducer (on all mentioned compositors):
```
gst-launch-1.0 filesrc location=~/Videos/BigBuckBunnyFullHD60fpsVP9.mp4 ! qtdemux ! vp9parse ! v4l2slvp9dec ! glupload ! gldownload ! "video/x-raw(memory:DMABuf)" ! waylandsink fullscreen=1
```
or alternatively, only on Weston,
```
gst-launch-1.0 filesrc location=~/Videos/BigBuckBunnyFullHD60fpsVP9.mp4 ! qtdemux ! vp9parse ! v4l2slvp9dec ! waylandsink fullscreen=1
```
Weston:
![Screenshot_from_2023-11-09_13-14-40](/uploads/3818d7ab262631266e1a53b4edc88cc3/Screenshot_from_2023-11-09_13-14-40.png)
Weston (fallback):
![Screenshot_from_2023-11-09_13-06-24](/uploads/1e92e3530ce38222f1d790711298f1e5/Screenshot_from_2023-11-09_13-06-24.png)
Sway:
![Screenshot_from_2023-11-09_13-05-13](/uploads/e418256b02c2ff46adf48fcbbca76a5a/Screenshot_from_2023-11-09_13-05-13.png)
Mutter:
![Screenshot_from_2023-11-09_13-04-44](/uploads/6a5ac46b6f68dd50488f026910c1d262/Screenshot_from_2023-11-09_13-04-44.png)https://gitlab.freedesktop.org/wayland/weston/-/issues/428weston-8.0.0: eventX input devices are ignored after updating systemd from 24...2023-12-14T09:53:13ZSteven Daviesweston-8.0.0: eventX input devices are ignored after updating systemd from 244 to 245I start weston from a systemd service as described in #7 which works until I update from systemd-244 to systemd-245 (no other changes and I can reproduce this by switching systemd versions back and forward.)
With systemd-244:
```
westo...I start weston from a systemd service as described in #7 which works until I update from systemd-244 to systemd-245 (no other changes and I can reproduce this by switching systemd versions back and forward.)
With systemd-244:
```
weston[390]: [09:57:30.470] event8 - Power Button: is tagged by udev as: Keyboard
weston[390]: [09:57:30.470] event8 - Power Button: device is a keyboard
weston[390]: [09:57:30.488] event9 - Video Bus: is tagged by udev as: Keyboard
weston[390]: [09:57:30.488] event9 - Video Bus: device is a keyboard
weston[390]: [09:57:30.492] event7 - Power Button: is tagged by udev as: Keyboard
weston[390]: [09:57:30.492] event7 - Power Button: device is a keyboard
weston[390]: [09:57:30.497] event0 - Rx504B Ver:3.03: is tagged by udev as: Keyboard
weston[390]: [09:57:30.498] event0 - Rx504B Ver:3.03: device is a keyboard
weston[390]: [09:57:30.503] event1 - Rx504B Ver:3.03: is tagged by udev as: Mouse
weston[390]: [09:57:30.503] event1 - Rx504B Ver:3.03: device is a pointer
weston[390]: [09:57:30.526] event2 - Rx504B Ver:3.03 Consumer Control: is tagged by udev as: Keyboard
weston[390]: [09:57:30.531] event2 - Rx504B Ver:3.03 Consumer Control: device is a keyboard
weston[390]: [09:57:30.545] event3 - Rx504B Ver:3.03 System Control: is tagged by udev as: Keyboard
weston[390]: [09:57:30.545] event3 - Rx504B Ver:3.03 System Control: device is a keyboard
weston[390]: [09:57:30.554] event4 - Rx504B Ver:3.03: not tagged as supported input device
weston[390]: [09:57:30.557] event4 - not using input device '/dev/input/event4'
weston[390]: [09:57:30.623] event5 - ILITEK ILITEK-TP: is tagged by udev as: Touchscreen
weston[390]: [09:57:30.623] event5 - ILITEK ILITEK-TP: device is a touch device
weston[390]: [09:57:30.686] event6 - ILITEK ILITEK-TP Mouse: is tagged by udev as: Mouse
weston[390]: [09:57:30.687] event6 - ILITEK ILITEK-TP Mouse: device is a pointer
weston[390]: [09:57:30.745] libinput: configuring device "Power Button".
weston[390]: [09:57:30.745] libinput: configuring device "Video Bus".
weston[390]: [09:57:30.745] libinput: configuring device "Power Button".
weston[390]: [09:57:30.745] libinput: configuring device "Rx504B Ver:3.03".
weston[390]: [09:57:30.745] libinput: configuring device "Rx504B Ver:3.03".
weston[390]: [09:57:30.745] libinput: configuring device "Rx504B Ver:3.03 Consumer Control".
weston[390]: [09:57:30.745] libinput: configuring device "Rx504B Ver:3.03 System Control".
weston[390]: [09:57:30.746] Touchscreen - ILITEK ILITEK-TP - /sys/devices/pci0000:00/0000:00:15.0/usb1/1-4/1-4:1.0/0003:222A:0001.0004/input/input6/event5
weston[390]: [09:57:30.746] libinput: configuring device "ILITEK ILITEK-TP".
weston[390]: [09:57:30.746] input device event5 has no enabled output associated (none named), skipping calibration for now.
weston[390]: [09:57:30.746] libinput: configuring device "ILITEK ILITEK-TP Mouse".
weston[390]: [09:57:30.746] input device event6 has no enabled output associated (none named), skipping calibration for now.
weston[390]: [09:57:30.746] DRM: head 'DP-1' found, connector 143 is disconnected.
weston[390]: [09:57:30.753] DRM: head 'HDMI-A-1' found, connector 152 is disconnected.
weston[390]: [09:57:30.781] DRM: head 'HDMI-A-2' found, connector 158 is connected, EDID make 'ADA', model 'unknown', serial '1'
weston[390]: [09:57:30.783] Registered plugin API 'weston_drm_output_api_v1' of size 24
weston[390]: [09:57:30.784] Chosen EGL config details: id: 6 rgba: 8 8 8 0 buf: 24 dep: 0 stcl: 0 int: 1-1 type: win vis_id: XRGB8888 (0x34325258)
weston[390]: [09:57:30.784] Output HDMI-A-2 (crtc 67) video modes:
weston[390]: 800x480@65.7, preferred, current, 32.0 MHz
weston[390]: [09:57:30.784] associating input device event8 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event9 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event7 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event0 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event1 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event2 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event3 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event5 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.784] associating input device event6 with output HDMI-A-2 (none by udev)
weston[390]: [09:57:30.785] Output 'HDMI-A-2' enabled with head(s) HDMI-A-2
```
With systemd-245:
```
weston[393]: [09:49:29.067] event8 - failed to create input device '/dev/input/event8'
weston[393]: [09:49:29.105] event9 - failed to create input device '/dev/input/event9'
weston[393]: [09:49:29.149] event7 - failed to create input device '/dev/input/event7'
weston[393]: [09:49:29.169] event0 - failed to create input device '/dev/input/event0'
weston[393]: [09:49:29.202] event1 - failed to create input device '/dev/input/event1'
weston[393]: [09:49:29.207] event2 - failed to create input device '/dev/input/event2'
weston[393]: [09:49:29.211] event3 - failed to create input device '/dev/input/event3'
weston[393]: [09:49:29.213] event4 - failed to create input device '/dev/input/event4'
weston[393]: [09:49:29.276] event5 - failed to create input device '/dev/input/event5'
weston[393]: [09:49:29.336] event6 - failed to create input device '/dev/input/event6'
weston[393]: [09:49:29.336] warning: no input devices on entering Weston. Possible causes:
weston[393]: - no permissions to read /dev/input/event*
weston[393]: - seats misconfigured (Weston backend option 'seat', udev device property ID_SEAT)
weston[393]: [09:49:29.336] failed to create input devices
smartd[532]: Device: /dev/sdb [SAT], SAMSUNG HD103SI, S/N:S1VSJ9BZ617158, WWN:5-0024e9-202ae6bc2, FW:1AG01118, 1.00 TB
smartd[532]: Device: /dev/sdb [SAT], found in smartd database: SAMSUNG SpinPoint F2 EG
kernel: weston[393]: segfault at 10 ip 00007f959438970c sp 00007fff24adb858 error 6 in libc-2.31.so[7f9594276000+146000]
kernel: Code: 0c 08 00 4c 8d 1d 24 59 05 00 4f 63 0c 8b 4f 8d 0c 0b 41 ff e1 0f 0b 0f 1f 80 00 00 00 00 48 83 ea 10 66 0f 6f 0e 48 83 c6 10 <66> 0f 7f 0f 48 83 c7 10 48 81 fa 80 00 00 00 f3 41 0f 7f 00 77 4e
```
The segfault is not the target of this issue. `libinput list-devices` shows the exact same output on both versions of systemd:
```
Device: Power Button
Kernel: /dev/input/event8
Group: 1
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Video Bus
Kernel: /dev/input/event9
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Power Button
Kernel: /dev/input/event7
Group: 3
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Rx504B Ver:3.03
Kernel: /dev/input/event0
Group: 4
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Rx504B Ver:3.03
Kernel: /dev/input/event1
Group: 4
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: Rx504B Ver:3.03 Consumer Control
Kernel: /dev/input/event2
Group: 4
Seat: seat0, default
Capabilities: keyboard pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Rx504B Ver:3.03 System Control
Kernel: /dev/input/event3
Group: 4
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: ILITEK ILITEK-TP
Kernel: /dev/input/event5
Group: 5
Seat: seat0, default
Size: 482x267mm
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: ILITEK ILITEK-TP Mouse
Kernel: /dev/input/event6
Group: 5
Seat: seat0, default
Size: 482x267mm
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
```
weston.ini:
```
[output]
name=HDMI-A-2
transform=270
[core]
idle-time=0
[input-method]
path=/usr/libexec/weston-keyboard
[keyboard]
keymap_layout=gb
```
Distribution: Gentoo amd64 stable
Kernel: Linux localhost.localdomain 5.8.3-gentoo #1 SMP Sat Aug 22 18:17:27 BST 2020 x86_64 Intel(R) Celeron(R) J4105 CPU @ 1.50GHz GenuineIntel GNU/Linuxhttps://gitlab.freedesktop.org/wayland/weston/-/issues/322Use wl_global_remove in libweston2023-12-12T15:19:55ZPekka Paalanenppaalanen@gmail.comUse wl_global_remove in libwestonInstead of having core, plugins, whatever call `wl_global_create()` and `wl_global_destroy()` directly, offer an API that wraps a `struct wl_global` and uses `wl_global_remove()` from wayland/wayland!28 under the hood to prevent clients ...Instead of having core, plugins, whatever call `wl_global_create()` and `wl_global_destroy()` directly, offer an API that wraps a `struct wl_global` and uses `wl_global_remove()` from wayland/wayland!28 under the hood to prevent clients racing with the removal. Naturally this requires tracking the new structs in `struct weston_compositor` and the associated timeout to finally destroy them after removal.
Use this new API for all `wl_global`s everywhere in the Weston repository.https://gitlab.freedesktop.org/wayland/weston/-/issues/853Segfault on right-clicking weston-terminal2023-12-12T08:38:42ZŠimon GebauerSegfault on right-clicking weston-terminalRight click on weston-terminal or weston-editor when no physical keyboard is connected results in a segfault. Tested on weston 13.0.0 and 12.0.3. This also prevents the virtual keyboard from showing.
![Screenshot_20231211_121958](/uploa...Right click on weston-terminal or weston-editor when no physical keyboard is connected results in a segfault. Tested on weston 13.0.0 and 12.0.3. This also prevents the virtual keyboard from showing.
![Screenshot_20231211_121958](/uploads/9d24608d422dd90863251706354f6105/Screenshot_20231211_121958.png)
Issue is not present when even a dummy keyboard is assigned to the used seat.https://gitlab.freedesktop.org/wayland/wayland/-/issues/427Just wanted to say thank you!2023-12-11T16:27:05ZMalte HJust wanted to say thank you!Hey Wayland project.
Its been a long time I use linux and always used X11.
Last week a third monitor arrived and made my laptop unfeasible to work with (fractional scaling wasnt even the issue for the low-performance it seemed).
Using zo...Hey Wayland project.
Its been a long time I use linux and always used X11.
Last week a third monitor arrived and made my laptop unfeasible to work with (fractional scaling wasnt even the issue for the low-performance it seemed).
Using zorin.os 16.3 it was easy to switch to Wayland and I must say: I am deeply impressed!
Everything runs just much faster, like faster than with a single screen even.
What I ignored for very long is that my X11 setup wasn't able to remember that I had two broken touchscreens (the screens are in use, but i deactived the broken touch input, since it was often locking my mouse jumping around).
Everytime I had to run the same keybinding after the laptop left hibernation (xinput --disable ..) and occasionally some mouse misbehavior was still occuring.
With Wayland: the config was just a bless to setup! (used https://askubuntu.com/questions/927022/how-can-i-disable-touchscreen-while-using-wayland)
and now I have both: perfect functionality and quick speed.
Thank you guys for continuing your mission to solve the Linux input-output mess, despite all barriers.
Thats it, closing this as off-topic right away to keep your board clean.https://gitlab.freedesktop.org/wayland/weston/-/issues/834Weston dual screen issue at imx82023-12-06T11:42:43ZHimanshu BhavaniWeston dual screen issue at imx8Hello,
I am using imx8 bases custom board which has one HDMI and one LVDS display port.
I am trying to clone display using weston 9 patch.[clone-from-LVDS-to-HDMI.patch](/uploads/749031fa1410cdae6f45b29fd84f27e3/clone-from-LVDS-to-HDMI....Hello,
I am using imx8 bases custom board which has one HDMI and one LVDS display port.
I am trying to clone display using weston 9 patch.[clone-from-LVDS-to-HDMI.patch](/uploads/749031fa1410cdae6f45b29fd84f27e3/clone-from-LVDS-to-HDMI.patch)
I have modified weston.ini file
```
[output]
name=DPI-1
mode=1280x800
[output]
name=HDMI-A-1
clone-from=DPI-1
```
Currently both display’s supported modes:-
```
root@imx8mp-cgtqx8p:~# cat /sys/class/drm/card1-DPI-1/modes
1280x800
root@imx8mp-cgtqx8p:~# cat /sys/class/drm/card1-HDMI-A-1/modes
1920x1080
1920x1080
1920x1080
1920x1080
1280x1024
1280x1024
1280x960
1152x864
1280x720
1280x720
1280x720
1280x720
800x600
800x600
720x576
720x480
720x480
720x480
720x480
```
My primary display is LVDS, and we need to clone in our secondary display that is HDMI.
We have custom resolutions of LVDS : 1280x800. But this resolutions is not there in HDMI edid display data.
On HDMI after cloning it takes some default resolution from HDMI available modes. So how can we achieve clone as per our custom LVDS resolutions?
on my other imx6 board LVDS : 800X480 cloning is working fine. issue occurs on imx8 board.