Application crashes because buffer size not a multiple of 2
Maybe that's a GTK problem. Or a combination of Mutter and GTK.
Affected version
- Fedora 38
- Mutter mutter-44.1-1.fc38.x86_64
- Wayland
Bug summary
In a dual monitor setup with different resolutions, the 4k monitor set up to 125% scaling (same happens with 200% and no fractional scaling) and fractional scaling enabled. The application (various, nautilus, haruna) crash with the ""buffer size is not divisible by 2" Wayland error. I think the constraint for the buffer size (divisible by 1, 2, 3, whatever) is taken from the 1st monitor, the one with "1" displayed when the Display Configuration Dialog is opened. If the 1st monitor is the unscaled one, applications use odd buffer sizez, and Wayland raises an error, because the app may be disaplayed on the scaled monitor and buffer size must be divisible by 2.
Steps to reproduce
Setup: NVIDIA prop driver, 2 monitors, one 4k monitor as primary display, one 1920x1200 as secondary display
- Make sure the 1st monitor is the unscaled one. That means when opening the "Configure Display" setting shows the "1" on the unscaled, 1960x1200 monitor.
- Open nautilus with WAYLAND_DEBUG=1 env and move to the 4k monitor if not there.
- Open a second Nautilus window on the same monitor.
- Copy a large file and click on the progress spinner.
- Nautilus crashed
- Reverse the order of the monitors by editing ~/.config monitors.xml and /var/lib/gdm/.config/monitors.xml
- Make sure, when opening the Display settings configuration, the 4k monitor is the monitor with the "1"
- repeat steps 2-4
- No crashes. the buffer size of dividable by 2.
What happened
Application crashes.
What did you expect to happen
Application does not crash but display a popup with progress information.
Relevant logs, screenshots, screencasts etc.
N/A Unforrtunatly i didn't persist the output from WYALAND_DEBUG=1 crashes.