celluloid icon indicating copy to clipboard operation
celluloid copied to clipboard

CSD bar becomes corrupted when switching betwen maximized and regular windowed modes

Open hazelnot opened this issue 2 years ago • 10 comments

Overview Description: CSD bar becomes corrupted when switching betwen maximized and regular windowed modes. Tends to at least partially disappear or fail to refresh, creating a hall of mirrors effect in the blank spaces.

Steps to Reproduce:

  1. Launch Celluloid
  2. Maximize the window 3 (optional). Restore the window

Actual Results: image image image

Expected Results: The CSD bar to resize normally

Version: 0.22

Additional Information: Running on Arch Linux, Gnome DE, installed from the Community repo

hazelnot avatar Feb 01 '22 10:02 hazelnot

I can't reproduce this, but it looks like this could be a driver bug. I have seen something similar with other applications though (e.g. qemu).

gnome-mpv avatar Feb 07 '22 12:02 gnome-mpv

Interesting. I also wanted to add that this doesn't happen when not currently displaying a video. Doesn't matter if it's actively playing or paused though.

I also tested with a music file, and it doesn't happen with the album art displayed either.

hazelnot avatar Feb 09 '22 18:02 hazelnot

I have the same issue, but in my case even the menu popup becomes corrupted when navigating sub menus. Arch Linux, Celluloid 0.22. This could be related to GTK 4 GPU rendering since this doesn't happen on Linux Mint Celluloid 0.21

axel358 avatar Feb 28 '22 20:02 axel358

Same happens here. Arch, GNOME 42, GTK4 running on AMD RX 550 with AMDGPU driver. Video acceleration in mpv config set to auto-safe. VA-API mesa driver installed and configured.

Update: setting the GSK_RENDERER environment variable to cairo resolves CSD corruption, there's however still some corruption intact when toggling between window snapped and/or fullscreen states. Further, using cairo as renderer completely destroys CPU usage with a heavy framedrop penalty, it is no viable fix.

Update 2: Running both mpv and celluloid build from latest git main branch.

Update 3: ~~For the time being I changed my default video player to Clapper which utilizes GStreamer for video decoding and rendering instead of libmpv and doesn't experience these rendering glitches/faults.~~

Update 4: I spoke too soon. Clapper seems to have the same rendering woes that Celluloid experiences (screenshot below), while using a different stack entirely. Circling back to the mutter/GTK GPU rendering bug hypothesis @axel358 mentions.

Screenshot from 2022-03-21 17-35-11

Update 5: Running on X11.

emansom avatar Mar 21 '22 15:03 emansom

Ah yeah, I want to also add that this only happens on X11, on Wayland it works fine

hazelnot avatar Mar 22 '22 09:03 hazelnot

Ah yeah, I want to also add that this only happens on X11, on Wayland it works fine

AMDGPU as well?

emansom avatar Mar 22 '22 13:03 emansom

Yes

hazelnot avatar Mar 23 '22 20:03 hazelnot

It seems that Clapper 0.5.1 no longer has this issue.

My system:

  • Arch Linux
  • gnome-shell 42.2
  • gtk4 4.6.4
  • mesa 22.1.0
  • AMD Radeon RX 6600
  • Xorg

KSXGitHub avatar May 30 '22 15:05 KSXGitHub

I believe we should close this issue and bring it to gtk4 instead. This, in my case affects a lot of gtk4 applications not just Celluloid, mostly popup menus like Nautilus context menu etc

axel358 avatar Sep 08 '22 14:09 axel358

I am getting this bug on two computers.
https://youtu.be/cMPjXm4Trk0

  1. OC: Manjaro Gnome (Wayland), GPU: Intel HD Graphics 520
  2. OC: Manjaro Gnome (Wayland), GPU: NVIDIA GeForce MX150

Disabling client-side decorations solves this problem, but it's not a particularly pleasant solution.

boris-gu avatar Oct 17 '22 06:10 boris-gu