mutter issueshttps://gitlab.gnome.org/GNOME/mutter/-/issues2024-02-29T16:29:18Zhttps://gitlab.gnome.org/GNOME/mutter/-/issues/3318assertion failed: (priv->device_file) in meta_kms_impl_device_hold_fd()2024-02-29T16:29:18ZAlexander Yurchenkoassertion failed: (priv->device_file) in meta_kms_impl_device_hold_fd()Hello, check this please https://bugzilla.redhat.com/show_bug.cgi?id=2266710
----
Backtrace:
```
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid...Hello, check this please https://bugzilla.redhat.com/show_bug.cgi?id=2266710
----
Backtrace:
```
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fd415c006c0 (LWP 3420))]
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {93853895735392}}
ret = <optimized out>
#1 0x00007fd4306ab1f3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
No locals.
#2 0x00007fd43065365e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x0000555c0f58fba6 in dump_gjs_stack_on_signal_handler (signo=6) at ../src/main.c:467
sa = {__sigaction_handler = {sa_handler = 0x555c0f58f9f0 <dump_gjs_stack_alarm_sigaction>, sa_sigaction = 0x555c0f58f9f0 <dump_gjs_stack_alarm_sigaction>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
i = 0
#4 <signal handler called>
No locals.
#5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {0}}
ret = <optimized out>
#6 0x00007fd4306ab1f3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
No locals.
#7 0x00007fd43065365e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#8 0x00007fd43063b902 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {140548375763664, 140548874693344, 140549331291413, 140548375749232, 34313568264, 0, 18446744073709551488, 22, 140548375711648, 140548874693312, 140549322153486, 140548375711664, 0, 0, 140548375711664, 135}}, sa_flags = 822296336, sa_restorer = 0x7fd415bfeae0}
#9 0x00007fd430f080dc in g_assertion_message (domain=domain@entry=0x7fd4309b3014 "libmutter", file=file@entry=0x7fd4309d85f0 "../src/backends/native/meta-kms-impl-device.c", line=line@entry=1788, func=func@entry=0x7fd4309f0250 <__func__.1.lto_priv.120> "meta_kms_impl_device_hold_fd", message=message@entry=0x7fd3f802a270 "assertion failed: (priv->device_file)") at ../glib/gtestutils.c:3310
lstr = "1788\000\177\000\000`\000\000\000\000\000\000\0000\000\000\370\323\177\000\000P%\000\000\000\000\000"
s = 0x7fd3f8020fb0 "\220f?\005\324\177"
#10 0x00007fd430f73fd7 in g_assertion_message_expr (domain=domain@entry=0x7fd4309b3014 "libmutter", file=file@entry=0x7fd4309d85f0 "../src/backends/native/meta-kms-impl-device.c", line=line@entry=1788, func=func@entry=0x7fd4309f0250 <__func__.1.lto_priv.120> "meta_kms_impl_device_hold_fd", expr=expr@entry=0x7fd4309c03b2 "priv->device_file") at ../glib/gtestutils.c:3336
s = 0x7fd3f802a270 "assertion failed: (priv->device_file)"
#11 0x00007fd4309894c9 in meta_kms_impl_device_hold_fd (impl_device=<optimized out>) at ../src/backends/native/meta-kms-impl-device.c:1788
priv = 0x7fd3f8005660
kms = <optimized out>
__func__ = "meta_kms_impl_device_hold_fd"
#12 0x00007fd4309ae349 in meta_kms_update_realize (update=0x7fd3f8008880, impl_device=0x7fd3f8005710) at ../src/backends/native/meta-kms-update.c:1092
No locals.
#13 maybe_update_cursor_plane.constprop.0 (cursor_manager_impl=cursor_manager_impl@entry=0x7fd3f8002da0, crtc=0x7fd3f80074c0, update=0x7fd3f8008880, old_buffer=old_buffer@entry=0x7fd415bfec90) at ../src/backends/native/meta-kms-cursor-manager.c:372
impl_device = 0x7fd3f8005710
impl = <optimized out>
thread_impl = <optimized out>
device = <optimized out>
crtc_state_impl = 0x7fd3f80296a0
x = 940.917236
y = 182.810196
buffer = <optimized out>
hotspot = 0x7fd3f80296e0
should_have_cursor = <optimized out>
did_have_cursor = <optimized out>
cursor_rect = {origin = {x = 3.08285662e-44, y = 0}, size = {width = -1.04281692e+34, height = 4.58546896e-41}}
cursor_plane = 0x7fd3f800ec10
__func__ = <optimized out>
_g_boolean_var_15 = <optimized out>
#14 0x00007fd430981895 in update_filter_cb (impl=0x555c101c3850, crtc=<optimized out>, update=0x0, flags=<optimized out>, user_data=0x7fd3f8002da0) at ../src/backends/native/meta-kms-cursor-manager.c:504
old_buffer = 0x0
thread_impl = 0x555c101c3850
cursor_manager_impl = 0x7fd3f8002da0
__func__ = "update_filter_cb"
#15 0x00007fd43098b05a in meta_kms_impl_filter_update (impl=0x555c101c3850, crtc=0x7fd3f80074c0, update=0x0, flags=META_KMS_UPDATE_FLAG_NONE) at ../src/backends/native/meta-kms-impl.c:144
filter = <optimized out>
i = <optimized out>
#16 do_process (impl_device=impl_device@entry=0x7fd3f8005710, latch_crtc=0x7fd3f80074c0, update=<optimized out>, flags=flags@entry=META_KMS_UPDATE_FLAG_NONE) at ../src/backends/native/meta-kms-impl-device.c:1279
priv = <optimized out>
kms = 0x555c103aa7e0
impl = 0x555c101c3850
thread_impl = 0x555c101c3850
klass = 0x7fd3f8005590
crtc_frame = 0x0
feedback = <optimized out>
changes = META_KMS_RESOURCE_CHANGE_NONE
CoglTraceMetaKmsImplDeviceProcess = {begin_time = 0, name = 0x0, description = 0x0}
ScopedCoglTraceMetaKmsImplDeviceProcess = 0x0
#17 0x00007fd43098bdf8 in crtc_frame_deadline_dispatch (thread_impl=<optimized out>, user_data=0x7fd3f8029820, error=0x7fd415bfedc0) at /usr/include/glib-2.0/glib/gmem.h:242
crtc_frame = 0x7fd3f8029820
device = <optimized out>
impl_device = 0x7fd3f8005710
feedback = 0x0
timer_value = 1
ret = 8
#18 0x00007fd43099c128 in dispatch_task_func (thread_impl=<optimized out>, dispatch=<optimized out>, user_data=<optimized out>, error=0x7fd415bfedc0) at ../src/backends/native/meta-thread-impl.c:415
priv = 0x555c101c3810
retval = 0x0
priv = <optimized out>
retval = <optimized out>
#19 meta_thread_impl_fd_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../src/backends/native/meta-thread-impl.c:431
impl_fd_source = <optimized out>
thread_impl = <optimized out>
retval = <optimized out>
error = 0x0
#20 0x00007fd430f4426c in g_main_dispatch (context=0x555c103aac20) at ../glib/gmain.c:3344
dispatch = 0x7fd43099c0e0 <meta_thread_impl_fd_source_dispatch>
prev_source = 0x0
begin_time_nsec = 622273175154
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
cb_data = 0x0
need_destroy = <optimized out>
source = 0x7fd3f8029870
current = 0x7fd3f8003fe0
i = <optimized out>
__func__ = <optimized out>
#21 g_main_context_dispatch_unlocked (context=0x555c103aac20) at ../glib/gmain.c:4152
No locals.
#22 0x00007fd430fa52a8 in g_main_context_iterate_unlocked.isra.0 (context=0x555c103aac20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
max_priority = 2147483647
timeout = -1
some_ready = 1
nfds = 4
allocated_nfds = <optimized out>
fds = 0x555c10695930
begin_time_nsec = 622273110647
#23 0x00007fd430f4a227 in g_main_loop_run (loop=0x7fd3f8002940) at ../glib/gmain.c:4419
self = <optimized out>
__func__ = "g_main_loop_run"
#24 0x00007fd4309a43b6 in meta_thread_impl_run (thread_impl=<optimized out>, flags=<optimized out>) at ../src/backends/native/meta-thread-impl.c:582
priv = 0x555c101c3810
priv = <optimized out>
__func__ = <optimized out>
_g_boolean_var_16 = <optimized out>
#25 thread_impl_func (user_data=<optimized out>) at ../src/backends/native/meta-thread.c:429
thread = <optimized out>
priv = 0x555c103aa760
impl = <optimized out>
run_flags = <optimized out>
thread_context = 0x555c103aac20
context = <optimized out>
profiler = 0x555c101ba440
#26 0x00007fd430f74453 in g_thread_proxy (data=0x555c1037c980) at ../glib/gthread.c:835
thread = 0x555c1037c980
__func__ = "g_thread_proxy"
#27 0x00007fd4306a91f7 in start_thread (arg=<optimized out>) at pthread_create.c:447
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140548874700480, 1666697275663449305, 140548874700480, -128, 1, 140725884372000, 1666697274845560025, 1666622122566221017}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#28 0x00007fd43072b3ac in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
No locals.
````https://gitlab.gnome.org/GNOME/mutter/-/issues/3282GNOME Session Killed when Disconnecting from Docking Station without Forcing ...2024-02-09T01:38:23ZAlex KnopGNOME Session Killed when Disconnecting from Docking Station without Forcing KMS User Threads
### Affected version
* Fedora 39
* GNOME 45.3
* Wayland
* Does this issue happen without extensions? Yes.
### Bug summary
With my laptop lid closed and connected to a USB-C docking station, unplugging the docking station has caused ...
### Affected version
* Fedora 39
* GNOME 45.3
* Wayland
* Does this issue happen without extensions? Yes.
### Bug summary
With my laptop lid closed and connected to a USB-C docking station, unplugging the docking station has caused the GNOME session to restart. I was faced with a login screen when I opened my laptop lid. After I logged back in, my applications were all closed from prior to unplugging my docking station. My logs show the gnome session restarting and various error messages.
### Steps to reproduce
1. Plug a laptop into a docking station and close the lid
2. Unplug docking station and open the lid of the laptop to see a restarted GNOME session.
### What happened
GNOME shell restarted
### What did you expect to happen
GNOME to handle its session properly on disconnect
### Relevant logs, screenshots, screencasts etc.
```
System:
Host: fedora Kernel: 6.7.3-200.fc39.x86_64 arch: x86_64 bits: 64
Desktop: GNOME v: 45.3 Distro: Fedora release 39 (Thirty Nine)
Machine:
Type: Laptop System: Razer product: Blade 15 (2022) - RZ09-0421 v: 8.04
serial: <superuser required>
Mobo: Razer model: CH580 v: 4 serial: <superuser required> UEFI: Razer
v: 2.06 date: 11/01/2023
Battery:
ID-1: BAT0 charge: 69.5 Wh (93.0%) condition: 74.7/80.2 Wh (93.2%)
CPU:
Info: 14-core (6-mt/8-st) model: 12th Gen Intel Core i7-12800H bits: 64
type: MST AMCP cache: L2: 11.5 MiB
Speed (MHz): avg: 410 min/max: 400/4700:4800:3700 cores: 1: 400 2: 400
3: 400 4: 400 5: 400 6: 400 7: 610 8: 400 9: 400 10: 400 11: 400 12: 400
13: 400 14: 400 15: 400 16: 400 17: 400 18: 400 19: 400 20: 400
Graphics:
Device-1: Intel Alder Lake-P GT2 [Iris Xe Graphics] driver: i915 v: kernel
Device-2: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] driver: nvidia
v: 545.29.06
Device-3: IMC Networks Integrated RGB Camera driver: uvcvideo type: USB
Display: wayland server: X.Org v: 23.2.4 with: Xwayland v: 23.2.4
compositor: gnome-shell driver: X: loaded: modesetting,nvidia
unloaded: fbdev,nouveau,vesa dri: iris gpu: i915
resolution: 2560x1440~240Hz
API: OpenGL v: 4.6 vendor: intel mesa v: 23.3.5 renderer: Mesa Intel
Graphics (ADL GT2)
API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
Device-1: Intel Alder Lake PCH-P High Definition Audio
driver: sof-audio-pci-intel-tgl
Device-2: NVIDIA GA106 High Definition Audio driver: snd_hda_intel
API: ALSA v: k6.7.3-200.fc39.x86_64 status: kernel-api
Server-1: PipeWire v: 1.0.3 status: active
Network:
Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi
IF: wlo1 state: up mac: 4c:44:5b:81:97:dc
Bluetooth:
Device-1: Intel AX211 Bluetooth driver: btusb type: USB
Report: btmgmt ID: hci0 state: up address: 4C:44:5B:81:97:E0 bt-v: 5.3
Drives:
Local Storage: total: 953.87 GiB used: 310.44 GiB (32.5%)
ID-1: /dev/nvme0n1 model: NVMe CA6-8D1024 size: 953.87 GiB
Partition:
ID-1: / size: 18.15 GiB used: 11.82 GiB (65.1%) fs: ext4 dev: /dev/dm-0
ID-2: /boot size: 1.8 GiB used: 348.9 MiB (19.0%) fs: ext4
dev: /dev/nvme0n1p10
ID-3: /boot/efi size: 96 MiB used: 74.7 MiB (77.8%) fs: vfat
dev: /dev/nvme0n1p2
ID-4: /home size: 600 GiB used: 283.88 GiB (47.3%) fs: btrfs
dev: /dev/nvme0n1p8
ID-5: /var size: 18.63 GiB used: 14.32 GiB (76.9%) fs: btrfs
dev: /dev/nvme0n1p12
Swap:
ID-1: swap-1 type: partition size: 3.73 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p16
ID-2: swap-2 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
System Temperatures: cpu: 40.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Processes: 506 Uptime: 2h 22m Memory: total: 16 GiB note: est.
available: 15.3 GiB used: 4.39 GiB (28.7%) Shell: Bash inxi: 3.3.31
```
Relevant logs. Laptop was unplugged at 13:59[gnomecrash](/uploads/579e8c7c21501ae063d3576e9e44c8c7/gnomecrash)
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/3225gnome-shell gets killed during random actions in qemu VMs/llvmpipe unaccelera...2024-01-04T18:16:35ZDaniel Kolesagnome-shell gets killed during random actions in qemu VMs/llvmpipe unaccelerated environmentsEver since GNOME 45 I've been running into e.g. opening the top-right thingy and trying to open settings killing gnome-shell when running in unaccelerated environments.
After a bit of investigation I remembered https://gitlab.gnome.org/...Ever since GNOME 45 I've been running into e.g. opening the top-right thingy and trying to open settings killing gnome-shell when running in unaccelerated environments.
After a bit of investigation I remembered https://gitlab.gnome.org/GNOME/mutter/-/issues/3037 so I tried running gnome-shell with `MUTTER_DEBUG_KMS_THREAD_TYPE=user` and that worked.
Then I made the following workaround patch which also worked:
```
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index e6c653e..cf0ee1a 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -2177,6 +2177,12 @@ meta_renderer_native_initable_init (GInitable *initable,
flags = meta_kms_device_get_flags (kms_device);
renderer_native->has_addfb2 = !!(flags & META_KMS_DEVICE_FLAG_HAS_ADDFB2);
+ /* if we're not accelerated, inhibit kms thread in order to avoid getting
+ * killed randomly e.g. in qemu virtual machines as that's quite annoying
+ */
+ if (!gpu_kms_is_hardware_rendering (renderer_native, renderer_native->primary_gpu_kms))
+ meta_kms_inhibit_kernel_thread (meta_kms_device_get_kms (kms_device));
+
kms_modifiers_debug_env = g_getenv ("MUTTER_DEBUG_USE_KMS_MODIFIERS");
if (kms_modifiers_debug_env)
{
```
System is Chimera Linux, x86_64 architecture, mesa 23.3 (older versions had the same issue). It's musl libc and clang compiler, but that probably shouldn't be relevant. I haven't been able to test this on other distributions.
If I enable any sort of acceleration, e.g. by using virgl, everything works fine with no crashes. Using the softpipe mesa driver also seemingly works but is way to slow to really find out if that's just a coincidence or what.https://gitlab.gnome.org/GNOME/mutter/-/issues/3208Crash in meta_window_place due to logical_monitor being NULL after unplugging...2023-12-15T13:09:27ZAnders BälterCrash in meta_window_place due to logical_monitor being NULL after unplugging external monitor<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
```
➜ ~ lsb_release -a
No LSB modules are available.
Dis...<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
```
➜ ~ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 23.10
Release: 23.10
Codename: mantic
➜ ~ uname -a
Linux anders-zenbook 6.5.0-14-generic #14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
➜ ~ gnome-shell --version
GNOME Shell 45.1
```
- Only tested in wayland
- Appears without extensions
<!--
Provide at least the following information:
* Your OS and version
* Affected GNOME Shell version (see https://wiki.gnome.org/Schedule for currently supported versions)
* Does this issue appear in XOrg and/or Wayland
* Does this issue happen without extensions (please follow instructions below)
To properly disable extensions you can use gnome-extensions-app and then restart
your session. Disabling extensions without a restart is not sufficient to rule
out extensions as cause of a bug. If an issue can only be reproduced with a
certain extension, please file a bug report against that extension first.
-->
### Bug summary
Gnome crashes with singal 11 when I unplug external monitor.
<!--
Provide a short summary of the bug you encountered.
-->
### Steps to reproduce
1. Unplug external monitor
<!--
1. Step one
2. Step two
3. ...
-->
### What happened
Gnome shell crashes and restarts.
<!--
What did GNOME Shell do that was unexpected?
-->
### What did you expect to happen
Nothing.
<!--
What did you expect GNOME Shell to do?
-->
### Relevant logs, screenshots, screencasts etc.
<!--
If you have further information, such as technical documentation, logs,
screenshots or screencasts related, please provide them here.
If the bug is a crash, please obtain a stack trace with installed debug
symbols (at least for GNOME Shell and Mutter) and attach it to
this issue following the instructions on
https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces.
-->
[gdb.txt](/uploads/8cf26ff7b7bff549196390c304ef5036/gdb.txt)
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2983Wayland: Cursor is invisible in full-screen apps when using a Wacom pen tablet2024-02-03T18:52:11ZChris WoodWayland: Cursor is invisible in full-screen apps when using a Wacom pen tablet<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
OS: Fedora Workstation 38 with GNOME version 44.3.
Mutter ver...<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
OS: Fedora Workstation 38 with GNOME version 44.3.
Mutter version: 44.3
Issue appears in Wayland only.
<!--
Provide at least the following information:
* Your OS and version
* Affected Mutter version
* Does this issue appear in XOrg and/or Wayland
-->
### Bug summary
When using a Wacom graphics tablet in an application that is full-screen, the on-screen cursor is invisible.
<!--
Provide a short summary of the bug you encountered.
-->
### Steps to reproduce
1. Log into a Wayland session
2. Plug in a Wacom graphics tablet. Mine is the Intuos Pro Medium Pen and Touch (PTH-651)
3. Open almost any application that supports full-screen mode (e.g. Files, Darktable, Thunderbird, Firefox)
4. Press F11 to enter full-screen mode
5. Hold the pen just above the surface of the tablet
### What happened
The on-screen cursor disappears as soon as the pen comes within range of the tablet's surface. Moving the pen across the surface of the tablet or tapping the pen has no effect.
UI elements will enter a hover state when the invisible cursor is on top of them and can be interacted with, even though there is no visible on-screen cursor
<!--
What did Mutter do that was unexpected?
-->
### What did you expect to happen
The on-screen cursor is visible while using the pen.
<!--
What did you expect Mutter to do?
-->
### Relevant logs, screenshots, screencasts etc.
I can reproduce this bug in almost every app on my computer, including:
- every GNOME 44 app
- every Electron app
- Darktable v4.4.2 (from Flathub)
- GIMP v2.10.34 (from Flathub)
- Thunderbird v115.1.1 (from Flathub)
- Firefox v116.0.3 (RPM from Fedora Linux repo)
The only apps I cannot reproduce it in are:
- Krita 5.1.5 (from Flathub)
- Inkscape 1.3 (from Flathub)
In these apps the on-screen cursor appears as expected when using the pen in full-screen mode.
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2956Cursor latency visibly higher with a higher frequency mouse2023-10-16T16:39:46ZDaniel van Vugtdaniel.van.vugt@canonical.comCursor latency visibly higher with a higher frequency mouseRunning mutter main on a Raspberry Pi, I find lower frequency (125Hz) mice are more responsive. Switching to 1000Hz the input latency is visibly higher. It's as if the cursor is attached to my hand by a wobbly stick.
This increased late...Running mutter main on a Raspberry Pi, I find lower frequency (125Hz) mice are more responsive. Switching to 1000Hz the input latency is visibly higher. It's as if the cursor is attached to my hand by a wobbly stick.
This increased latency seems to be persistent regardless of frame rate. So it occurs with both `MUTTER_DEBUG_FORCE_KMS_MODE=simple` (60Hz) and `MUTTER_DEBUG_FORCE_KMS_MODE=atomic` (30Hz because #2953).https://gitlab.gnome.org/GNOME/mutter/-/issues/2734mutter advertises external only DRM modifiers but cannot handle them2023-04-03T08:06:26ZOlivier Fourdanmutter advertises external only DRM modifiers but cannot handle them<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
Provide at least the following information:
* Fedora 38
* mut...<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
Provide at least the following information:
* Fedora 38
* mutter-44.0
* Wayland
### Bug summary
I am working on implementing scanout buffers in Xwayland based on linux-dmabuf v4 tranches, but that fails on GNOME Shell with the NVIDIA proprietary driver.
The reason being that mutter advertises external only modifiers but cannot handle the buffers using them.
### Steps to reproduce
1. Check out the Xwayland branch from https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1094
2. Build and install on an NVIDIA based system with the NVIDIA proprietary driver (using version 530.41.03 here)
3. Try to open an X11 application like `xterm`
-->
### What happened
Xwayland dies with an Wayland error:
```
[destroyed object]: error 7: failed to import supplied dmabufs: One or more argument values are invalid.
```
### What did you expect to happen
The buffer created by `Xwayland` using the modifiers advertised by `mutter` is handled by `mutter`.
### Relevant logs, screenshots, screencasts etc.
See this thread: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1094#note_1846505
It shows that `Xwayland` is using an external only modifier that gets rejected by `mutter`.
`mutter` should either handle the modifier it advertises, or filter out the modifiers it cannot handle.
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2642Wayland: gnome crashing from fullscreen on second monitor2023-03-07T22:30:57ZalixWayland: gnome crashing from fullscreen on second monitor<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
<!--
Provide at least the following information:
* Your OS an...<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
<!--
Provide at least the following information:
* Your OS and version
* Affected Mutter version
* Does this issue appear in XOrg and/or Wayland
-->
Fedora 37
mutter 43.3
Wayland
### Bug summary
<!--
Provide a short summary of the bug you encountered.
-->
When i open some applications E.g. VScode or Goland full screen on the second monitor (plugged via HDMI) gnome always crashes and i get logged out.
I am using a laptop with iGPU AMD Ryzen 7 6800H and dGPU NvidiaGeForce RTX 3060 Mobile. This issue only happens when using the nouveau drivers. I tried installing the Nvidia drivers, the problem does not occur anymore but the battery life of the laptop goes down to 2 hours instead of 8.
### Steps to reproduce
1. Use a laptop with Nvidia dGPU
2. plugin an external monitor
3. Open VScode or Intellij in fullscreen on the second monitor
### Relevant logs, screenshots, screencasts etc.
Logs:
```
reporter: libreport-2.17.4
backtrace_rating: 4
cgroup: 0::/user.slice/user-1000.slice/user/session.slice/org.gnome.Shell
cmdline: /usr/bin/gnome-shell
crash_function: meta_drm_buffer_get_fb_id
executable: /usr/bin/gnome-shell
journald_cursor: s=59dfec64c4fb4c14b5bb3b3a6d6bd6a1;i=13ff3;b=da6b1dc2048442bd8976ed471f665178;m=378cc913;t=5f2db51368649;x=480079a180389c1
kernel: 6.1.6-200.fc37.x86_64
package: gnome-shell-43.2-1.fc37
reason: gnome-shell killed by SIGSEGV
rootdir: /
runlevel: N 5
type: CCpp
uid: 1000
```
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2615Stop using KMS planes when idle long enough2023-03-09T11:16:06ZJonas ÅdahlStop using KMS planes when idle long enoughIt might save power to stop using overlay and cursor planes and instead composite whatever was on them if they stopped updating or moving for a little while. See https://gitlab.freedesktop.org/drm/intel/-/issues/7687.It might save power to stop using overlay and cursor planes and instead composite whatever was on them if they stopped updating or moving for a little while. See https://gitlab.freedesktop.org/drm/intel/-/issues/7687.https://gitlab.gnome.org/GNOME/mutter/-/issues/2604screen goes black every few seconds when switching off external monitor2023-06-14T08:26:37ZJosef Pflegerscreen goes black every few seconds when switching off external monitor### Affected version
* OS: Fedora 37
* GNOME Shell version: 43.2
* Wayland
### Bug summary
I have three displays (primary and two smaller ones) and everythings works fine when all three are powered on. If I switch off one of them witho...### Affected version
* OS: Fedora 37
* GNOME Shell version: 43.2
* Wayland
### Bug summary
I have three displays (primary and two smaller ones) and everythings works fine when all three are powered on. If I switch off one of them without unplugging the displayport however, the remaining displays go black for 1-5 seconds every ~20 seconds. It only stops when I physically unplug the displayport cable of the inactive display. Deactivating the displays in the settings does not change the behavior.
### Steps to reproduce
Boot with one or two of three displays powered off, or
Boot with three displays powered on, switch off one or two (without unplugging)
### What happened
Display is completely black for 1-5 seconds every ~20 seconds or so, the interval is a bit random. Once I physically unplug the inactive display port cable - the flickering stops immediately.
### What did you expect to happen
Displays should disappear from the display settings when powered off and remaining displays should not go black.
### Relevant logs, screenshots, screencasts etc.
The log contains a bunch of these messages everytime the screen goes black:
```
gnome-shell[2927]: meta_display_get_monitor_geometry: assertion 'monitor >= 0 && monitor < n_logical_monitors' failed
gnome-shell[2927]: meta_monitor_manager_get_logical_monitor_from_number: assertion '(unsigned int) number < g_list_length (manager->logical_monitors)' failed
gnome-shell[2927]: meta_workspace_get_work_area_for_monitor: assertion 'logical_monitor != NULL' failed
gnome-shell[2927]: meta_background_get_texture: assertion 'monitor_index >= 0 && monitor_index < self->n_monitors' failed
```
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2662Failed to post KMS update: drmModeAddFB2 failed2023-04-05T18:30:10ZMichael HübnerFailed to post KMS update: drmModeAddFB2 failed### Affected version
* Latest Manjaro (10th Dec 2022)
* Gnome Shell 43.1
* Wayland
* Nvidia-Utils 525.60.11
* Kernel 6.0.11
### Bug summary
Seemingly random when I drag, open or close a window the affected monitor (in which the window...### Affected version
* Latest Manjaro (10th Dec 2022)
* Gnome Shell 43.1
* Wayland
* Nvidia-Utils 525.60.11
* Kernel 6.0.11
### Bug summary
Seemingly random when I drag, open or close a window the affected monitor (in which the window is active, sometimes more than 1) turns black, and after about 1-2 seconds comes back to life.
### Steps to reproduce
Hard to reproduce, since it doesn't happen every time. It happens more often the longer the gnome session is already running.
Do one of these things:
* open a window
* close a window
* drag a window
### What happened
Screen turns off of blackens when I interact with a window. Does not happen when I simply use an application (watch video, play games, program code, ...).
### What did you expect to happen
Not turn off or blacken my monitor.
### Relevant logs, screenshots, screencasts etc.
```
gnome-shell[1832]: Failed to post KMS update: drmModeAddFB2 failed (Datei oder Verzeichnis nicht gefunden) and drmModeAddFB cannot be used as a fallback because format=0x34325241 (AR24).
gnome-shell[1832]: Page flip discarded: drmModeAddFB2 failed (Datei oder Verzeichnis nicht gefunden) and drmModeAddFB cannot be used as a fallback because format=0x34325241 (AR24).
```https://gitlab.gnome.org/GNOME/mutter/-/issues/2969Gnome 43: gnome-shell forces itself onto dGPU instead of using iGPU in PRIME ...2023-10-19T08:31:42ZAntonGnome 43: gnome-shell forces itself onto dGPU instead of using iGPU in PRIME Render Offloading setups using Wayland<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
Arch Linux.
Happens both on linux (6.0.9) and linux-lts (5.1...<!--
Please read https://wiki.gnome.org/Community/GettingInTouch/BugReportingGuidelines
first to ensure that you create a clear and specific issue.
-->
### Affected version
Arch Linux.
Happens both on linux (6.0.9) and linux-lts (5.15) kernels
* gnome-shell 43.1-2
* gdm 43.0-1
* nvidia 520.56.06
<!--
Provide at least the following information:
* Your OS and version
* Affected GNOME Shell version (see https://wiki.gnome.org/Schedule for currently supported versions)
* Does this issue appear in XOrg and/or Wayland
-->
### Bug summary
Back in Gnome 42, you could set up PRIME Render Offloading for Wayland if you had an nVidia GPU following https://wiki.archlinux.org/title/PRIME#PRIME_render_offload and you could achieve great power consumption (GPU was almost powered off) and at the same time use you GPU by just using the prime-run command.
After updating to Gnome 43, a few users including myself that had this set up like this, noticed that a gnome-shell process was forcing itself onto the nVidia GPU, and thus not letting the GPU power down successfully.
glxgears -info still says it's using the intel GPU, and prime-run glxgears -info still says it's using the nVidia GPU.
The problem is not that PRIME Render offloading isn't working. It is. The problem is that gnome-shell 43 is forcing itself into the nvidia GPU instead of using the iGPU.
### Steps to reproduce
Follow https://wiki.archlinux.org/title/PRIME#PRIME_render_offload
Boot on Gnome 43, execute nvidia-smi and see that gnome-shell has a 1MiB process keeping the nVidia card powered on.
### What happened
Gnome 43 forces gnome-shell onto the nvidia GPU.
### What did you expect to happen
Gnome 43 gnome-shell was running on iGPU (i915)
### Relevant logs, screenshots, screencasts etc.
https://www.reddit.com/r/Fedora/comments/z29edh/how_to_force_waylandgnomeshell_to_use_igpu/
https://www.reddit.com/r/Fedora/comments/x487g1/comment/ixf765k/?utm_source=share&utm_medium=web2x&context=3
![Screenshot_from_2022-11-26_02-56-53](/uploads/fba26d1b5bf983ea9477c40e8d0c22e7/Screenshot_from_2022-11-26_02-56-53.png)
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2517Update for the Wayland tearing protocol2023-11-23T16:17:48ZDallas StrouseUpdate for the Wayland tearing protocol
### Feature summary
The Wayland tearing protocol has been wanted by many members of the Linux (gaming) community for a while now, and it just recently (3 hours ago) got merged.
KWin, Gamescope, Mesa (VulkanWSI) and Xwayland have MRs in...
### Feature summary
The Wayland tearing protocol has been wanted by many members of the Linux (gaming) community for a while now, and it just recently (3 hours ago) got merged.
KWin, Gamescope, Mesa (VulkanWSI) and Xwayland have MRs in place to implement this, and it seems that now, only Xwayland and GNOME have to implement it.
Several options would ideally be available:
- Tear all the time
- Tear when an application is fullscreen
- Bit more advanced, tear when below the monitor refresh rate and display a full frame otherwise.
- Again, more advanced, use VRR when below the monitor refresh rate (https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1154/) and tear when above.
You can probably figure out some more options that would be done based on these.
This logic should be based on the [content-type](https://wayland.app/protocols/content-type-v1) protocol.
The main thing to worry about is enabling tearing when a game is running, if tearing is enabled. Since the protocol currently only otherwise supports `game`, `photo`, `video`, and none types, it probably shouldn't be worried about too much. Just enable tearing when the `none` or `game` content types are set.
Resources:
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/65
(individual implementations for each compositor)
https://invent.kde.org/plasma/kwin/-/merge_requests/927
https://github.com/Plagman/gamescope/pull/597
(Mesa and Xwayland)
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18268
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/665
https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/58
https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/38
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19125
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2504iPadOS On-Screen and iPad Magic keyboard incorrectly working keys2023-11-27T09:45:39ZPele MarseiPadOS On-Screen and iPad Magic keyboard incorrectly working keysHello,<br />
On-screen and iPad Magic Keyboards on Remote Desktop App incorrectly working (SHIFT, CTRL) keys and some other keys, when connect to Linux Gnome Remote Desktop session.
iPad Pro 2018<br />
iPadOS 16.1<br />
Microsoft Remote...Hello,<br />
On-screen and iPad Magic Keyboards on Remote Desktop App incorrectly working (SHIFT, CTRL) keys and some other keys, when connect to Linux Gnome Remote Desktop session.
iPad Pro 2018<br />
iPadOS 16.1<br />
Microsoft Remote Desktop 10.4.5<br />
Fedora 36 (6.0.7-200.fc36.x86_64)<br />
Gnome 42.4 (Wayland)<br />
```
gnome-remote-desktop.x86_64 42.5-1.fc36
gnome-session.x86_64 42.0-1.fc36
mutter.x86_64 42.6-1.fc36
```
![IMG_0062](/uploads/3d6beb0e920456aeef5210a0a1349c8d/IMG_0062.jpg)
![IMG_0064](/uploads/3d299b48c3a32af5685fbf397b1fcac0/IMG_0064.jpg)
![IMG_0067](/uploads/963914b6649c8bf8a1eee4084d0d3cbd/IMG_0067.jpg)https://gitlab.gnome.org/GNOME/mutter/-/issues/2488Rockchip: Mutter does not choose the CRTC with overlay planes2022-10-31T16:43:16ZRobert Maderrobert.mader@posteo.deRockchip: Mutter does not choose the CRTC with overlay planesOn devices like the Pinebook Pro or Pinephone Pro there are two CRTCs - one supporting overlay planes, one that doesn't. Mutter, like other compositors, currently chooses the later, IIUC because that's the one previously used by the kern...On devices like the Pinebook Pro or Pinephone Pro there are two CRTCs - one supporting overlay planes, one that doesn't. Mutter, like other compositors, currently chooses the later, IIUC because that's the one previously used by the kernel.
Embedded device firmwares typically ship downstream patches correcting this, as kernel devs apparently don't want to upstream patches doing this by default, asking compositor devs to come up with smarter ways to select the right CRTC.
Lets try if we can come up with something.
Related: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2660https://gitlab.gnome.org/GNOME/mutter/-/issues/2442UI Stuttering (Wayland): `Failed to scan out client buffer: drmModePageFlip o...2023-07-09T17:35:29ZAshcon MohseniniaUI Stuttering (Wayland): `Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory`### Affected version
OS: Arch Linux
Gnome version: 42.4
Windowing system: Wayland
IGPU: Mega Intel UHD Graphics (TGL GT1)
DGPU: NVIDIA GTX3060 (Driver 515.65)
System: System76 Oryx pro (Orpy8)
### Bug summary
When using reverse prime (...### Affected version
OS: Arch Linux
Gnome version: 42.4
Windowing system: Wayland
IGPU: Mega Intel UHD Graphics (TGL GT1)
DGPU: NVIDIA GTX3060 (Driver 515.65)
System: System76 Oryx pro (Orpy8)
### Bug summary
When using reverse prime (This system has the external monitors wired to the DGPU, and internal monitor wired to the IGPU), the UI is generally laggy but the mouse movement appears to be smooth. When running any full screen game, I see this being spammed into journalctl:
```
Sep 22 12:57:27 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:27 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:27 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:27 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
Sep 22 12:57:28 oryp8 gnome-shell[1429]: Failed to scan out client buffer: drmModePageFlip on CRTC 40 failed: No such file or directory
```
I am using wayland since using Xorg on reverse prime systems is unusable due to external monitors running at 1/2 refresh rate (30fps). With wayland, the displays run at their intended refresh rate - This appears to be a known NVIDIA driver bug.
Dragging windows round on the desktop reveils some stuttering, but it is most obvious when running a full screen game. For my test, fallout 4 was running at a slow 12fps with heavy dips in framerate every second or so, when running the system exclusively with the NVIDIA GPU on wayland, I get 80fps in the same game. I can confirm that the game is indeed using the D-PDU though (Not the intel one).
<!-- Do not remove the following line. -->https://gitlab.gnome.org/GNOME/mutter/-/issues/2384Failed to post KMS update: CRTC property (GAMMA_LUT) not found ; Page flip di...2023-01-10T02:02:41ZDaniel van Vugtdaniel.van.vugt@canonical.comFailed to post KMS update: CRTC property (GAMMA_LUT) not found ; Page flip discarded: CRTC property (GAMMA_LUT) not foundIt appears `meta_kms_crtc_has_gamma` is returning a false positive on `mgag200` in mutter 42.2:
```
[ 7123.822417] ubuntu1 gnome-shell[2773]: Failed to post KMS update: CRTC property (GAMMA_LUT) not found
[ 7123.823384] ubuntu1 gnome-sh...It appears `meta_kms_crtc_has_gamma` is returning a false positive on `mgag200` in mutter 42.2:
```
[ 7123.822417] ubuntu1 gnome-shell[2773]: Failed to post KMS update: CRTC property (GAMMA_LUT) not found
[ 7123.823384] ubuntu1 gnome-shell[2773]: Page flip discarded: CRTC property (GAMMA_LUT) not found
```
https://launchpad.net/bugs/1985869
https://launchpad.net/bugs/1991777https://gitlab.gnome.org/GNOME/mutter/-/issues/2185On Wayland GNOME Shell, newly opened app windows are not focused when opening...2023-12-05T19:53:58ZJeff FortinOn Wayland GNOME Shell, newly opened app windows are not focused when opening them while there is an "always on top" window shown at the same timeI've been trying out the GNOME Shell Wayland session again in GNOME 41 on Fedora 36, with Intel Sandybridge graphics (on a ThinkPad X220), and I've run into this very annoying window focus issue, when opening files from Nautilus (system-...I've been trying out the GNOME Shell Wayland session again in GNOME 41 on Fedora 36, with Intel Sandybridge graphics (on a ThinkPad X220), and I've run into this very annoying window focus issue, when opening files from Nautilus (system-installed, not Flatpak) or Evolution (system-installed too).
* When opening any image file (ex: a JPEG from my downloads folder) associated with gthumb, from Nautilus or Firefox, gthumb always gets opened in the background, and if it's already open, it does not get brought to the foreground either, it silently opens the file in the background app. My version of gthumb is the Fedora system-wide installed one, not from flathub.
* When opening a PDF file with Evince, whether from Nautilus or Evolution, it will usually/often open in the background especially if the version of Evince you have is the flathub flatpak; if it's the system-installed Fedora version, it will sometimes correctly open the file with Evince put at the foreground, instead of opening it in the background. Race condition maybe?
* When opening any .odt file from Nautilus (or Evolution), with the Fedora system-installed version of LibreOffice writer, it will open in the background.
This happens whether using the touchpad mouse button or using the Enter key (in the case of Nautilus) to open/activate the file that launches the corresponding app.
As far as I can remember, these problems do not occur under the X11 version of GNOME Shell / Mutter, or I would have lost my sanity long ago :)https://gitlab.gnome.org/GNOME/mutter/-/issues/2178[Mutter 41.4] "Mirror mode" display mode has poor performance over external H...2023-10-11T02:04:59ZMaCroX95[Mutter 41.4] "Mirror mode" display mode has poor performance over external HDMI monitor* Fedora 35
* Mutter 41.4
* Wayland, didn't try X11
* Hardware: AMD R5 3600, AMD RX 5700XT gpu, 32GB DDR4 dual-channel RAM, both monitors (DP and HDMI 60Hz)
### Bug summary
When having "mirror mode" enabled in display settings the perfo...* Fedora 35
* Mutter 41.4
* Wayland, didn't try X11
* Hardware: AMD R5 3600, AMD RX 5700XT gpu, 32GB DDR4 dual-channel RAM, both monitors (DP and HDMI 60Hz)
### Bug summary
When having "mirror mode" enabled in display settings the performance of HDMI second screen is incredibly poor. It isn't a driver issue since it works well on "extended display" or "single display" option. It has only started happening with mutter 41.4 update.
### Steps to reproduce
1. Have mutter 41.4 set up
2. Connect an external HDMI monitor
3. Set the display mode to "mirror mode" and compare the performance to other modes (it is horrible)
### What happened
The performance is poor. I'd say around 15 or 20 fps.
### What did you expect to happen
To work as it did before 41.4 update, smooth 60fps rendering.https://gitlab.gnome.org/GNOME/mutter/-/issues/2134Basic support for presenting HDR content from Wayland clients2023-05-21T00:35:22ZNaveen KumarBasic support for presenting HDR content from Wayland clients### Feature summary
## 1. Attach color space information to actors
Add a `color-space` property to `ClutterActor`. Without it being set, it should
implicitly be assigned a color space representing sRGB. This could initially be
a simple...### Feature summary
## 1. Attach color space information to actors
Add a `color-space` property to `ClutterActor`. Without it being set, it should
implicitly be assigned a color space representing sRGB. This could initially be
a simple enum, but eventually will likely need to be a `GInterface` or `GObject`
based instance containing relevant color space information.
https://gitlab.gnome.org/GNOME/mutter/-/issues/2253
## 2. Make clutter blend in a linear color space
HDR/PQ requires blending in a linear color space for correctness so Clutter must
be made to support this. Due to this type of blending currently being
incompatible with today's KMS overlay planes blending, it should be considered
whether non-linear ("traditional") blending should still be possible, and
enabled when compositing in non-HDR (normal) mode.
https://gitlab.gnome.org/GNOME/mutter/-/issues/2253
## 3. Add blending test cases
Add tests for correct blending. These should use the reference test approach,
comparing blending done by Clutter with reference images. Depending on whether
non-linear blending mode will be supported, test cases should cover both.
https://gitlab.gnome.org/GNOME/mutter/-/issues/2253
## 4. Tone and gamut mapping from PQ to sRGB
Make it possible to tone and gamut map a `ClutterActor` with PQ/Rec. 2020 encoding
into the sRGB color space, so that it can be composited in "normal" mode.
## 5. Add HDR Wayland protocol to ingest PQ encoded data
This will allow clients with HDR content to define their surfaces to contain PQ
encoded content. At this point, we'll still be tone mapping this down to sRGB.
## 6. Test PQ encoded video
At this point, we're still mapping down to sRGB, so the composited end result
should be similar to a video player doing the equivalent mapping client side.
## 7. Add sRGB to PQ encoding transformation using variable reference white
For compositing in PQ mode, sRGB content must be transformed to appear more
correct. As there is no "perfect" appearance, make the reference white
configurable.
## 8. Enable PQ mode
The existing (normal) linear blending would still output sRGB but for enabling
PQ mode (producing HDR content for handing over to KMS), we'll need extra
post-processing to convert the linear composited output to the non-linear color
space expected by KMS. This will be done by Clutter compositing
to an offscreen framebuffer with a linear color space, then painting again
transforming linear content into the expected non-linear format expected by
the PQ mode.
When launching a compositor instance, the default compositing mode should
however not be PQ mode, but normal mode. PQ mode should instead be enabled
whenever there are HDR content available to display. Whether this should
require user interaction when running from GNOME Shell to enable or not is an
open question.
## 9. Allow metadata pass-through for fullscreen surfaces
When a HDR surface is fullscreen and can be unredirected, pass the metadata
the client provided via the Wayland protocol to KMS, allowing fully correct
presented result.
## 10. Test PQ encoded video (expect HDR visuals)
Add reference image based test cases that ensures that PQ encoded video end up
as HDR visuals after compositing when in PQ mode, not loosing quality by mapped
down to sRGB then back up again.
### Follow up work
## 11. Maybe allow metadata pass-through for non-fullscreen surfaces
Always forwarding HDR metadata from surfaces on a frame by frame basis might
affect the appearance of transformed sRGB content also on a frame by frame basis.
There is a risk that this will cause sRGB content to change appearance when the
metadata changes characteristics so it might not be feasible to always do. With that
being said, it's worth experimenting with, to see if there are ways one can map sRGB
content that minimizes this effect.
<!-- Do not remove the following line. -->