0

I have this problem while running GNOME Maps

~$ gnome-maps

(org.gnome.Maps:10414): Gjs-WARNING **: 19:43:34.553: Some code called array.toString() on a Uint8Array instance. Previously this would have interpreted the bytes of the array as a string, but that is nonstandard. In the future this will return the bytes as comma-separated digits. For the time being, the old behavior has been preserved, but please fix your code anyway to explicitly call ByteArray.toString(array).
(Note that array.toString() may have been called implicitly.)
0 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmTypes.js":32]
1 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmEditDialog.js":35]
2 <TOP LEVEL> ["resource:///org/gnome/Maps/js/osmEdit.js":25]
3 <TOP LEVEL> ["resource:///org/gnome/Maps/js/contextMenu.js":33]
4 <TOP LEVEL> ["resource:///org/gnome/Maps/js/mainWindow.js":33]
5 <TOP LEVEL> ["resource:///org/gnome/Maps/js/application.js":35]
6 <TOP LEVEL> ["resource:///org/gnome/Maps/js/main.js":43]
7 start() ["resource:///org/gnome/gjs/modules/package.js":209]
8 <TOP LEVEL> ["/usr/bin/gnome-maps":2]


(org.gnome.Maps:10414): Gdk-WARNING **: 19:43:36.525: Native Windows taller than 65535 pixels are not supported
Gdk-Message: 19:43:36.574: Error 71 (Protocol error) dispatching to Wayland display.

19:43:36.574 (This message has changed many times)

What's this?

8
  • What version of GNOME Maps are you running? This appears to be this bug, which was fixed in version 3.31.91. gitlab.gnome.org/GNOME/gnome-maps/-/issues/139 Commented Sep 28, 2020 at 18:27
  • I updated it today using apt in debian stable (This problem already existed.)
    – Pelian Pur
    Commented Sep 28, 2020 at 19:02
  • My Maps are 3.30.3.1 after the update. They start just fine with almost the same warnings as yours, except for the last line, which I don't have. It appears that it is not a GNOME bug, but a Wayland compositor bug. To confirm that it is related to Wayland, you can try other options on the login screen like X11 or Xorg. To verify what the current session is you can use echo $XDG_SESSION_TYPE. Commented Sep 28, 2020 at 20:03
  • I tried it, it showed wayland
    – Pelian Pur
    Commented Sep 28, 2020 at 20:20
  • Did you try other than Wayland options? You can access them from the login screen after booting your system. Press the gear icon ⚙️ under the password field to access them. Commented Sep 28, 2020 at 20:44

1 Answer 1

2

Assuming that GNOME Maps crashes on startup with this Gdk-Message in Debian 10 under GNOME:

Error 71 (Protocol error) dispatching to Wayland display.

It means that GDK as the GTK rendering engine fails for some reason to communicate with Mutter, which is the Wayland compositor in GNOME. As a result, your application fails to explain to the system how to render it onto display and crashes. Assuming that your Debian 10 installation is quite the same as any other, the bug might be caused in combination with graphics drivers and firmware specific to your hardware.

Debian keeps a range of fallback mechanisms built-in in case Wayland does not work for you yet. While some of them are automatic, there is one apparent to the end user. You can choose a different session on the login screen, other then the default "GNOME" session, which uses Wayland. Press the gear icon ⚙️ under the password field to access them. Other options include "System X11 Default" and "GNOME on Xorg". Once you login, it may appear that nothing changed, so you can check your current session with echo $XDG_SESSION_TYPE. GNOME Classic changes much more than just the display server.

It is also possible to force an application to run on XWayland under the Wayland session. This way, you do not need to change the default session and can continue using Wayland while avoiding problems that application causes under Wayland.

GTK3

The GDK_BACKEND environment variable, when set to "wayland", will forcibly run a GTK3 application with the Wayland backend. Similarly, setting the environment variable to "x11" will force it to run with the X11 backend (useful for forcing applications to use Xwayland that have compatibility issues when operating in their native Wayland mode).

You can use env to run an application in a modified environment with X11 GDK backend. To start GNOME Maps under X11 in Wayland from terminal:

$ env GDK_BACKEND=x11 gnome-maps

If it works, you can modify the Exec key of the desktop entry of the application under /usr/share/applications. For GNOME Maps, it is in org.gnome.Maps.desktop:

Exec=gapplication launch org.gnome.Maps %U

The modified would be:

Exec=env GDK_BACKEND=x11 gapplication launch org.gnome.Maps %U

This way, Maps will start in XWayland when launched from GNOME, for example by clicking the application's icon.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .