GNOME 49 - Wayland Causes Issues

I recognize that GNOME is ditching (or has ditched) X11, I just didn’t know it was happening now and would be forced.

My question is simple: can I get X11 back until GNOME 50 is released?

Wayland broke at least two key parts of my setup:

  1. without xrandr, I can’t get my external monitor to “act right”: the system thinks its an LG 34”, but it’s an LG 29”. I needed xrandr to set the correct resolution (2560x1080), and I can’t seem to get that done under Wayland.

  2. Maybe it’s just me, but ALL Chromium based browsers have visual glitches after my “upgrade” to GNOME 49 and Wayland. Firefox: no problem. But Vivaldi, Chromium, Brave, and Edge, all borked with weird flashes at different parts of the browser window.

I know I will have to move to Wayland if I want to keep GNOME. But I would like some time to get these things fixed first. Any help is greatly appreciated. Ridicule can be withheld.

wlr-randr is the Wayland equivalent to xrandr, and it’s available from the Manjaro repositories.

1 Like

Taken from Known Issues and Solutions in the 2025-12-08 Update thread:

It is, as is said, what it is.

1. I don’t know how relevant this is now, but I found:

You might also find a pointer to something useful here:

2. I see no such issue here, and I use those browsers (with the exception of Brave). The issue is likely elsewhere, though where exactly, I can’t say at this time.

Start with the usual system information and maybe someone can make a suggestion or two. Please provide the inxi output as described (below).

Regards.


System Information

While information from *-fetch type apps might be fine for someone wishing to buy your computer, for Support purposes it’s better to ask your system directly; :eyes:

Output of the inxi command (with appropriate parameters, and formatted according to forum guidelines) will generate information useful for those wishing to help:

Suggested inxi command (use either):

inxi -zv8 (short-form)
inxi --filter --verbosity=8 (long-form)
inxi man pages (manual)
If running `inxi` within a `chroot` environment
  • Add --color=0 to the long-form command, or…
  • Change the short-form command to inxi -zv8c0
Your privacy is respected

Interesting. Last I knew there was some reason that it couldn’t/shouldn’t be used on Arch-based. Good to know it’s now an option.

1 Like

Hmm - I have been using Wayland for a long time now - although I use Plasma with kwin - and I cannot recall having issues like you describe.

I have - occasionally - strange incidents where chromium based browsers may crash - as in completely - but I sign those off with a :person_shrugging: as caused by my profession - coding a Blazor WASM PWA using dotnet core.

When you have weird flashes at different parts of the browser window - I think hardware acceleration, thus related to the GPU.

I am guessing now - the browser creates various caches ~/.cache - you can safely clear that folder - content will be recreated but the change from X11 to Wayland or vice versa, may cause the cache to be invalid.

2 Likes

In which case it’s suggested to logout to SDDM, login with a TTY session, and delete the .cache directory:

rm -rf ~/.cache
  • After a reboot, the cache will begin to rebuild itself as a matter of course.

Regards.

1 Like

Thanks all!!! Really appreciate the support.

Here is inxi -Fz

System:
  Kernel: 6.12.61-1-MANJARO arch: x86_64 bits: 64
  Desktop: GNOME v: 49.2 Distro: Manjaro Linux
Machine:
  Type: Desktop System: Apple product: iMac12,2 v: 1.0
    serial: <superuser required>
  Mobo: Apple model: Mac-942B59F58194171B v: iMac12,2
    serial: <superuser required> Firmware: UEFI vendor: Apple v: 85.0.0.0.0
    date: 04/16/2019
CPU:
  Info: quad core model: Intel Core i5-2500S bits: 64 type: MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 1600 min/max: 1600/3700 cores: 1: 1600 2: 1600 3: 1600
    4: 1600
Graphics:
  Device-1: Intel 2nd Generation Core Processor Family Integrated Graphics
    driver: i915 v: kernel
  Device-2: Advanced Micro Devices [AMD/ATI] Whistler [Radeon HD
    6730M/6770M/7690M XT] driver: radeon v: kernel
  Device-3: Microdia Webcam Vitade AF driver: snd-usb-audio,uvcvideo
    type: USB
  Device-4: Apple FaceTime HD Camera (Built-in) driver: uvcvideo type: USB
  Display: wayland server: X.Org v: 24.1.9 with: Xwayland v: 24.1.9
    compositor: gnome-shell driver: X: loaded: modesetting,radeon unloaded: vesa
    dri: r600 gpu: radeon resolution: 1: 3840x2160~60Hz 2: 3072x1728~60Hz
  API: Vulkan Message: No Vulkan data available.
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
  Info: Tools: api: vulkaninfo wl: wlr-randr x11: xdriinfo, xdpyinfo,
    xprop, xrandr
Audio:
  Device-1: Intel 6 Series/C200 Series Family High Definition Audio
    driver: snd_hda_intel
  Device-2: Advanced Micro Devices [AMD/ATI] Turks HDMI Audio [Radeon HD
    6500/6600 / 6700M Series] driver: snd_hda_intel
  Device-3: GN Netcom Jabra SPEAK 510 driver: jabra,snd-usb-audio,usbhid
    type: USB
  Device-4: Microdia Webcam Vitade AF driver: snd-usb-audio,uvcvideo
    type: USB
  API: ALSA v: k6.12.61-1-MANJARO status: kernel-api
  Server-1: PulseAudio v: 17.0-93-gbe2efb status: active
Network:
  Device-1: Broadcom NetXtreme BCM57765 Gigabit Ethernet PCIe driver: tg3
  IF: enp2s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Qualcomm Atheros AR93xx Wireless Network Adapter driver: ath9k
  IF: wlp3s0 state: down mac: <filter>
  IF-ID-1: docker0 state: down mac: <filter>
  IF-ID-2: nordtun state: unknown speed: 10000 Mbps duplex: full mac: N/A
Bluetooth:
  Device-1: Apple Built-in Bluetooth 2.0+EDR HCI driver: btusb type: USB
  Report: btmgmt ID: hci0 state: up address: <filter> bt-v: 2.1
Drives:
  Local Storage: total: 3.64 TiB used: 2.64 TiB (72.6%)
  ID-1: /dev/sda vendor: Hitachi model: HUS724040ALE640 size: 3.64 TiB
Partition:
  ID-1: / size: 91.11 GiB used: 77.4 GiB (85.0%) fs: ext4 dev: /dev/dm-0
  ID-2: /boot size: 451.6 MiB used: 141.6 MiB (31.3%) fs: ext4
    dev: /dev/sda12
  ID-3: /boot/efi size: 196.9 MiB used: 53.3 MiB (27.1%) fs: vfat
    dev: /dev/sda1
Swap:
  ID-1: swap-1 type: partition size: 18.61 GiB used: 0 KiB (0.0%)
    dev: /dev/dm-1
Sensors:
  System Temperatures: cpu: 34.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 939
Info:
  Memory: total: 32 GiB available: 31.32 GiB used: 4.1 GiB (13.1%)
  Processes: 404 Uptime: 2h 25m Shell: Zsh inxi: 3.3.40

I tried rm -Rf ~/.cache and rebooted. No joy.

My totally uneducated guess is that the jittery/stuttery/screen tearing has something to do with GTK. The list of apps that have it are: Signal; Chromium; Vivaldi; and Brave. All others that I tried do not. But syncthing-gtk looks like this (it’s supposed to filled with information about your device and synced folders):

And this is what signal-desktop looks like in an extreme example of what happens when using – especially scrolling in – Chromium, Vivaldi, and Brave:

Regarding wlr-randr, I tried that once (during a lot of attempts with AI assists, mostly focused on creating modified /lib/firmware/edid entries that include the correct resolution), but I will focus on it again tomorrow and report back. If anyone has seen a guide to adding a resolution, similar to xrandr’s function, please let me know.

I will also turn off all extensions and see if that yields any change.

It’s great to see the community respond.

Earlier in Wayland adoption I recall some found that using the same Refresh Rate helped with a few multiple monitor configurations, at least with scaling and resolution issues.
That’s clearly nothing to do with the current problem, of course, but it might be a useful note to file away. :wink:

There was a similar issue on Mac hardware in one or two topics only recently (within the past month or two). I’m afraid I don’t recall the topic titles, but a careful forum search might reveal them (both were “Mac 11” from memory, so that might be a place to start).

I think ideally it should all have been lowercase, but no matter; it’s rare that the caching issue arises; but it does happen.

It’s possible Chromium is the common denominator. There have been one or two complaining of random screen artefacts since the update.

They didn’t specify exactly what was affected (Plasma was mentioned but it might be something deeper), in fact, they didn’t give a lot of information at all, but it may be a direction to follow.

These were only a few after-thoughts.

I’ll chime in again if I discover anything with any substance.

Regards.

One hint for X11 Apps in Wayland:
start with trailing:
env XDG_SESSION_TYPE=x11 GDK_BACKEND=x11
mostly functions…
(<==> use of XWayland)

These instructions will not work on Gnome 50+ (so say the Gnome devs) but this will buy you some time to make a plan.

1) Install deps: sudo pacman -S base-devel

2) Set up a path to store locally build packages: 

   mkdir ~/pkgbuild; cd ~/pkgbuild

3) Download the Arch package source:

pkgctl repo clone --protocol=https mutter
pkgctl repo clone --protocol=https gdm
pkgctl repo clone --protocol=https gnome-session
pkgctl repo clone --protocol=https gnome-shell

4) For mutter, and gnome-session: Within each directory, edit PKGBUILD, find local meson_options=(, add -D x11=true to the end of its list.

5) For gdm: edit PKGBUILD, find local meson_options=(, add -D x11-support=true to the end of its list.

6) Now rebuild all 4 with gnome-shell last - it needs to be rebuilt after the others have as it depends on them:

cd mutter; makepkg -si
cd ..
cd gdm; makepkg -si
cd ..
cd gnome-session; makepkg -si
cd ..
cd gnome-shell; makepkg -si

Now reboot (or log out / restart gdm), select “Gnome on Xorg” from the login screen. Voila!

Later, when you run pacman -Syu for system upgrades, look for these packages. If their versions are 49.x, let it install, then re-run step 6. You may need to use makepkg -sif (f means force) to help them complete, you also may need to manually clean up the src subdirectories within each of the 4 packages if there are build failures). This again replaces the non-X11 builds with the X11-friendly versions instead. IF the pacman -Syu run shows versions 50+, don’t upgrade, or you’ll lose X11 for good.

3 Likes

@philm Thank you!

[edited] I decided instead to use a full system backup I had from a few months ago and update while excluding all gnome and related components (anything with 49 in it pretty much). Will report back if that worked.

Though this is expected, it took about 1 minute to add my external monitor’s custom resolution using xrandr into this backup version (I hadn’t used the monitor back then). Sigh.

[old] I am going to try this now.

The forum was down yesterday, so I couldn’t report back. I’m still working on parts of this, but here is the latest.

After multiple attempts, it is now clear that wayland simply does not have a reliable way to add custom resolutions for Ultrawide monitors that report the wrong resolution, the way xrandr did on X11. Note: in my case, the monitor doesn’t seem to “report” the right resolution, but it does “support” the right resolution, as evidence by digging into its details and my use of `X11’. But for future readers, here are the methods that seem to be “out there,” but that did not work:

Also, here are the instructions for adding the same monitor on `X11` (Note: The below covers multiple monitor ports because it seems to change sometimes on reboot):

# 1. create the mode (pixel‑clock ≤ 165 MHz, e.g. 160 MHz)
xrandr --newmode "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync

# 2. add the mode to the *X* connector DisplayPort‑0
xrandr --addmode DisplayPort-0 "2560x1080_60"

# 3. enable the mode
xrandr --output DisplayPort-0 --mode "2560x1080_60"

# 4. Make permanent across reboots

sudo nano /etc/X11/xorg.conf.d/10-monitor-2560x1080.conf
[Paste 1 - iMac 2012]
Section "Monitor"
    Identifier "DP-any"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Monitor"
    Identifier "DisplayPort-0"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Monitor"
    Identifier "DisplayPort-1"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Monitor"
    Identifier "DisplayPort-2"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Monitor"
    Identifier "DisplayPort-3"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Monitor"
    Identifier "DisplayPort-4"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Device"
    Identifier "Radeon0"
    Driver "radeon"
    Option "Monitor-DisplayPort-0" "DisplayPort-0"
    Option "Monitor-DisplayPort-1" "DisplayPort-1"
    Option "Monitor-DisplayPort-2" "DisplayPort-2"
    Option "Monitor-DisplayPort-3" "DisplayPort-3"
    Option "Monitor-DisplayPort-4" "DisplayPort-4"
    Option "Monitor-DP-0" "DisplayPort-0"
    Option "Monitor-DP-1" "DisplayPort-1"
    Option "Monitor-DP-2" "DisplayPort-2"
    Option "Monitor-DP-3" "DisplayPort-3"
    Option "Monitor-DP-4" "DisplayPort-4"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Radeon0"
EndSection


[Paste 2 - Other non-Radeon]
Section "Monitor"
    Identifier "DP-any"
    Modeline "2560x1080_60" 160.00 2560 2720 2992 3424 1080 1083 1088 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080_60"
EndSection

Section "Device"
    Identifier "GPU0"
    Option "Monitor-DP-0" "DP-any"
    Option "Monitor-DP-1" "DP-any"
    Option "Monitor-DP-2" "DP-any"
    Option "Monitor-DP-3" "DP-any"
    Option "Monitor-DP-4" "DP-any"
EndSection


This is self-admittedly pathetic, but I am having something of an existential crisis regarding losing GNOME after using it for about 15 years. I don’t expect the wayland devs to fix this, as it has been a known issue for years. I guess I will have to try KDE Plasma.

This may be a non-starter, but it is even possible to update my applications – while excluding some associated with gnome 49 – using either pacman or pamac without breaking the system? I tried with the below, and failed:

IgnorePkg   = libgdm libsysprof-capture libnautilus-extension yelp-xsl gnome-desktop-4 gnome-desktop-common gnome-shell gnome-firmware gnome-shell-extensions gnome-session gnome-control-center gnome-tweaks gnome-desktop gnome-settings-daemon gnome-menus gnome-terminal gnome-backgrounds gnome-themes-standard gnome-icon-theme gnome-screenshot gnome-software gnome-initial-setup gnome-user-docs gnome-weather gnome-calculator gnome-characters gnome-logs gnome-system-monitor gnome-clocks gnome-calendar gnome-maps gnome-photos gnome-music gnome-videos gnome-documents gnome-contacts gnome-boxes gnome-remote-desktop gnome-software-plugin-flatpak gnome-software-plugin-snap gnome-software-plugin-packagekit gnome-software-plugin-os-release-monitor gnome-software-plugin-firmware
IgnorePkg   = mutter wayland wayland-protocols wayland-utils wayland-egl
IgnorePkg   = gsettings-desktop-schemas gsettings-system-schemas adwaita-cursors adwaita-fonts adwaita-icon-theme
IgnoreGroup = gnome

Did you have any success with the suggested;

I have a single 1920x1080 screen, and have had no need to use it.

It (wlr-randr) didn’t help. I couldn’t get past this error: “compositor doesn’t support wlr-output-management-unstable-v1”.

I tried to research it. The best I got was “This error indicates that your Wayland compositor does not support the required output management protocol for wlr-randr.”

1 Like

FWIW, I have an almost identical Manjaro-GNOME setup on a different machine – one that I don’t use an external monitor. I did the full upgrade to gnome-shell 49, and I encountered none of the non-custom-resolution-related artifacts. That is, Vivaldi and other Chromium-based apps did not flicker, nor did Signal.

Earlier I expressed some doubt regarding wlr-randr – I rediscovered the post mentioned that I referred to, and it seems my doubt was justified – wlr-randr will not work with Wayland (on KDE) because it isn’t built against wlroots:

The article from Nate Graham (linked in that post) will be of related interest.


I presume you might have done this already, if not, can you revert to a single monitor for a time, and verify whether these artefacts persist?

Interesting. I’m on GNOME, and I got the same error referenced in that post w/r/t Plasma: compositor doesn’t support wlr-output-management-unstable-v1. I wonder what DE has a compositor that works with wlr-randr?

I actually didn’t try that; I guess I wasn’t thinking that the extra monitor was a cause of the problem, instead of the result of the problem. I will do that now.

1 Like

If the problem seems to magically disappear with the monitor disconnected, this might at least infer a path to investigate further.

Let’s hope someone finds it revealing.

Regards.

GNOME’s Mutter isn’t built with wlroots either:

Compositors

  • Cagebreak - A Wayland tiling compositor inspired by Ratpoison
  • Cardboard - A scrollable tiling Wayland compositor
  • dwl - dwm for Wayland
  • epd-wm - Wayland window manager that outputs to IT8951 E-Paper displays.
  • hikari - A hybrid stacking/tiling Wayland compositor
  • Hopalong - Simple Wayland compositor with a featureset comparable to XFWM
  • Hyprland - A dynamic tiling Wayland compositor that doesn’t sacrifice on its looks
  • kiwmi - A fully programmable Wayland Compositor
  • labwc - A stacking Wayland compositor with look and feel of openbox
  • laikawm - A stacking Wayland compositor with look and feel of openbox
  • phoc - Wayland compositor for mobile phones like the Librem 5 (designed to work with phosh)
  • river - A dynamic tiling Wayland compositor
  • Sway - i3-compatible Wayland compositor
  • tinybox - tries to emulate the blackbox, fluxbox, openbox family of wm
  • Waybox - An openbox clone on Wayland
  • Wayfire - 3D Wayland compositor
  • wio - Wayland compositor similar to plan9’s rio

Note that the above list was last updated 3 years ago, so it may not contain all the current wlroots compositors.

But KDE does have a tool called kscreen-doctor

[tracy@daphne ~]$ kscreen-doctor --help
Usage: kscreen-doctor [options] [output.<name>.<setting> output.<name>.setting [...]]
kscreen-doctor allows to change the screen setup from the command-line.

Setting the output configuration is done in an atomic fashion, all settings
are applied in a single command.
kscreen-doctor can be used to enable and disable outputs, to position screens,
change resolution (mode setting), etc.. You should put all your options into 
a single invocation of kscreen-doctor, so they can all be applied at once.

Usage examples:

   Show output information:
   $ kscreen-doctor -o
   Output: 1 eDP-1 enabled connected Panel Modes: Modes: 1:800x600@60 [...] Geometry: 0,0 1280x800
   Output: 70 HDMI-2 enabled connected  HDMI Modes: 1:800x600@60 [...] Geometry: 1280,0 1920x1080

   Disable the hdmi output, enable the laptop panel and set it to a specific mode
   $ kscreen-doctor output.HDMI-2.disable output.eDP-1.mode.1 output.eDP-1.enable

   Position the hdmi monitor on the right of the laptop panel
   $ kscreen-doctor output.HDMI-2.position.1280,0 output.eDP-1.position.0,0

   Set resolution mode
   $ kscreen-doctor output.HDMI-2.mode.1920x1080@60 

   Set scale (note: fractional scaling is only supported on wayland)
   $ kscreen-doctor output.HDMI-2.scale.2 

   Set rotation (possible values: none, left, right, inverted)
   $ kscreen-doctor output.HDMI-2.rotation.left 

   Set HDR mode (possible values: enable, disable)
   $ kscreen-doctor output.HDMI-2.hdr.enable

   Set SDR brightness (possible values: 100-1000)
   $ kscreen-doctor output.HDMI-2.sdr-brightness.300

   Set wide color gamut mode (possible values: enable, disable)
   $ kscreen-doctor output.HDMI-2.wcg.enable

   Set ICC profile path
   $ kscreen-doctor output.HDMI-2.iccprofile."/path/to/profile.icc"

   Show dpms information:
   $ kscreen-doctor --dpms show

   Set dpms mode: (possible values: on, off)
   $ kscreen-doctor --dpms on

Options:
  -h, --help                   Displays help on commandline options.
  --help-all                   Displays help, including generic Qt options.
  -i, --info                   Show runtime information: backends, logging,
                               etc.
  -j, --json                   Show configuration in JSON format
  -o, --outputs                Show outputs
  -d, --dpms <off>             Display power management (wayland only)
  -l, --log <comment>          Write a comment to the log file
  --dpms-excluded <connector>  Do not apply the dpms change to the output with
                               said model names

Arguments:
  config                       Specific output settings are separated by
                               spaces, each setting is in the form of
                               output.<name>.<setting>[.<value>]
                               For example:
                               $ kscreen-doctor output.HDMI-2.enable \ 
                                              output.eDP-1.mode.4 \ 
                                              output.eDP-1.position.1280,0
                               Multiple settings are passed in order to have
                               kscreen-doctor apply these settings in one go.

which does look like itr could be a wayland (on KDE) replacement for xrandr.

I still can’t find anything for GNOME, and could not test it anyway.