no wayland support

Bug #1522095 reported by Daniel Stone
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
High
Unassigned

Bug Description

Inkscape does not run under Wayland at all, even with the (still-)experimental GTK+3 support. If you try, it crashes hard as it calls add_x11_tracking_for_screen on something which isn't actually an X11 Display.

Revision history for this message
jazzynico (jazzynico) wrote :

Inkscape indeed uses X11 libs in src/ege-color-prof-tracker.cpp, where the add_x11_tracking_for_screen() function is defined. The code seems to rely on the GDK X11 backend. I guess we should use the Wayland backend (https://developer.gnome.org/gdk3/stable/gdk3-Wayland-Interaction.html) instead when necessary.

Changed in inkscape:
status: New → Confirmed
tags: added: code-design
Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

This is an issue with Fedora 25 which enables Wayland by default.

The Inkscape package provided by Fedora 25 does work on Wayland (using xwayland).

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

Traceback:

#0 0x00007ffff41d395a in XInternAtom () at /lib64/libX11.so.6
#1 0x00007ffff75074a9 in add_x11_tracking_for_screen(_GdkScreen*, _ScreenTrack*) () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#2 0x00007ffff7507889 in ege_color_prof_tracker_new () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#3 0x00007ffff744abe4 in SPDesktopWidget::init(SPDesktopWidget*) () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#4 0x00007ffff5aa87fb in g_type_create_instance () at /lib64/libgobject-2.0.so.0
#5 0x00007ffff5a8a69b in g_object_new_internal () at /lib64/libgobject-2.0.so.0
#6 0x00007ffff5a8c0ad in g_object_newv () at /lib64/libgobject-2.0.so.0
#7 0x00007ffff5a8c864 in g_object_new () at /lib64/libgobject-2.0.so.0
#8 0x00007ffff7448f10 in SPDesktopWidget::createInstance(SPNamedView*) () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#9 0x00007ffff7449406 in sp_desktop_widget_new(SPNamedView*) () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#10 0x00007ffff750c3d2 in sp_file_new(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#11 0x00007ffff750c72d in sp_file_new_default() () at /home/tavmjong/Src/inkscape/dpirun/bin/../lib/inkscape/libinkscape_base.so
#12 0x00000000004096dd in sp_main_gui(int, char const**) ()
#13 0x00007fffed9f2401 in __libc_start_main () at /lib64/libc.so.6
#14 0x000000000040598a in _start ()

jazzynico (jazzynico)
Changed in inkscape:
importance: Undecided → High
status: Confirmed → Triaged
Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :

Inkscape runs fine though when started through Eclipse; I only noticed the crashes when I tried running from the command line

Revision history for this message
Gabriel Rauter (raetiacorvus) wrote :

Running with GDK_BACKEND=x11 can be used as a workaround to run inkscape trough XWayland till inkscape gets proper wayland support.

Revision history for this message
Gwyn Ciesla (limburgher) wrote :

This has been working on Wayland for awhile, and currently does with 0.92.1, but when I update to a bzr snapshot and build with cmake, it doesn't.

The following are the cmake flags I'm using:

        -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_Fortran_FLAGS_RELEASE:STRING="-DNDEBUG" \
        -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
        -DCMAKE_INSTALL_PREFIX:PATH=/usr \
        -DINCLUDE_INSTALL_DIR:PATH=/usr/include \
        -DLIB_INSTALL_DIR:PATH=/usr/lib64 \
        -DSYSCONF_INSTALL_DIR:PATH=/etc \
        -DSHARE_INSTALL_PREFIX:PATH=/usr/share \

Might it be the change in gtkmm to 30?

Revision history for this message
Gwyn Ciesla (limburgher) wrote :

Has anyone had a look at this? The build currently available for Fedora 26 doesn't launch in Wayland. I can ship a GDK_BACKEND workaround but that's far from optimal. I'd love to see this fixed before Fedora 26 GA. If there's anything I can do to assist, please let me know.

Revision history for this message
Martin Owens (doctormo) wrote :

I don't think so. Usually people would report in the mailing list or some other channel. Do you want to bring this up as an important blocker for the next release?

jazzynico (jazzynico)
tags: added: blocker
Changed in inkscape:
milestone: none → 0.93
Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

Fixed in trunk by adding run-time backend check. (GTK is built with both X11 and Wayland backends enabled on Linux.)

The X11 specific code is used to attach a color profile to a particular "screen". From GDK 3.10 there is only one screen (one needs to attach a profile to a monitor instead). This will also need to be updated for the Wayland era.

Revision history for this message
Qantas94Heavy (qantas94heavy) wrote :

Hi, this bug tracker is being decommissioned. It appears there is already an issue about Wayland below, please follow that for further updates.

Moved to: https://gitlab.com/inkscape/inkscape/issues/221
Closed by: https://gitlab.com/Qantas94Heavy

Changed in inkscape:
status: Triaged → Invalid
tags: added: bug-migration
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.