GNOME on Wayland in Fedora 21

Fedora 21 will come with GNOME 3.14, which already runs reasonably well on Wayland. Want to find out? It’s super easy to try it out! Let’s take a look at how to run GNOME on Wayland in Fedora 21, what already works, and what is yet to be finished.

To run GNOME on Wayland, you need to install a package called gnome-session-wayland-session (this package most likely will be pre-installed in F21 Beta). Then you just need to log out and choose GNOME on Wayland as a session on the login screen. That’s it. Once you hit the “Sign In” button, you’re in GNOME that is running on Wayland.

gdm-wayland

You can choose to log in to the Wayland session on the login screen.

Before we look at how GNOME runs on Wayland I think it’s necessary to explain what Wayland is. A widespread misconception is that Wayland is a display server, a layer between clients (applications) and the kernel, like X or Mir. The truth is that Wayland is only a protocol that defines how a compositor communicates with clients. GNOME developers had to write the Wayland support into Mutter which is a compositor for this desktop environment and can now work as a Wayland compositor. Because we cannot expect that all applications will support Wayland any time soon, and some applications most likely will never be ported to Wayland, XWayland has been introduced. XWayland runs X as a client and the app that requires X runs on the top of it.

wayland-architecture

Wayland client-server architecture.

Interesting fact: Do you know where Wayland got its name? It’s a small town in Massachusetts. The father of the Wayland procotol Kristian Høgsberg was driving through the town when he was finishing the the concept of the protocol and named it after it. Weston, the reference Wayland compositor, is named after a small town which lies just 4 miles east of Wayland.

How does GNOME run on Wayland in Fedora 21? I must say that I was surprised how far the GNOME developers had gotten with the Wayland support. Almost all standard desktop functionality is already there. I’m also impressed by its stability. I ran GNOME on Wayland for several days and it never crashed.

Almost all GNOME apps already support Wayland. You can check the status page. However, all apps are set to use XWayland in Fedora 21. If you want to run an app on Wayland, you need to run this command: GDK_BACKEND=wayland gedit (replace gedit with an app of your choice). The list of apps that don’t support Wayland yet is: Terminal, Empathy, Totem, PiTiVi, Sushi. From my experience the list is in fact longer. I couldn’t, for example, run GNOME’s “Software” application on Wayland. This also applies to pretty much all other applications (Firefox, LibreOffice, etc.) and you need to run them using XWayland. Fullscreen apps don’t work at all from my experience. I tried to run several Steam games and I received an error message even before the app was launched.

What still doesn’t work very well in GNOME on Wayland:

  • Features that require resources outside the app don’t work and won’t work. That’s how Wayland is designed. Apps cannot get into someone else’s resources unlike on X where clients can access pretty much everything. Apps are isolated on the display server level which improves security. It’s easy to write a keylogger for X, it won’t be so easy for Wayland. Unfortunately, it currently has a negative impact on user experience. Apps cannot make screenshots (I tried Shutter and it indeed failed) and features such as a color picker also don’t work. In the future, there will be a D-Bus API available for an app to ask for permission to access resources outside the app. It’s not implemented yet.
  • The mouse cursor in XWayland doesn’t change to e.g. indicate a web link or an ability to resize a window when you hover it over the edge of the window.
  • Window resizing in XWayland is very snatchy. Resizing windows running on Wayland is on the other hand smoother than it has ever been on X.
  • When GNOME Shell is restarted (I did it on purpose because as I said it never crashed) windows are not restored. I’m not sure if this feature is easily achievable with Wayland because Mutter now serves as a display server and if it crashes there is nothing to save and restore the session.
  • Windows running on Wayland also claim borders around them, so when you want to snap a window to half the screen it doesn’t fill the space completely, but leaves a border around the window. The same border is also in the Activities overview between a window thumbnail and a line that highlights the window when you hover the cursor over it.
  • Some gestures in GNOME Shell are not supported yet. For example scrolling in app picker in the Activities overview. The gesture for the left upper hot corner or for the message tray is also altered. Since GNOME 3.8 you need to make an determined push against the edge of the screen to switch to the overview or pop up the message tray and you much less often trigger such an action accidentally. GNOME on Wayland currently uses the old solution where you just need to move the cursor to the edge.
  • Setups with multiple screens. I’m not sure whether GNOME on Wayland should already support this. But my external monitor was not even recognized.
maximizing

When you snap a window to half the screen, it leaves a border around the window.

And what about other desktop environments? GNOME has gotten furthest with Wayland support. The only other environment that currently supports Wayland is Enlightenment 0.19, but I don’t know how well it works and you won’t find E19 in Fedora anyway.

KDE Plasma on Wayland still has a long journey to walk to provide an experience similar to the one GNOME already provides. KDE developers are planning to use Weston as a Wayland compositor instead of implementing their own. (according to Martin Gräßlin, the lead developer of Kwin, they are working to make Kwin a Wayland compositor and won’t use Weston).

Other desktop environments are not likely to support Wayland any time soon mainly due to lack of developer resources. For example Xfce doesn’t have any short-term plans to support Wayland. According to one of their contributors, their current priority is to switch to GTK+ 3 which may take as much as two years and then they can start thinking about Wayland.

If you like trying bleeding edge stuff, switch to GNOME on Wayland and get your hands dirty! It’s surprisingly stable and it offers close-to-complete desktop experience.

Fedora Project community

25 Comments

  1. Kamil Páral

    Just an additional note: Be aware that if you have configured your user to be password-less, you’ll not be able to reach the menu to pick “Gnome on Wayland” session type.

  2. irlm

    the touchpad not scrool with two fingers.

  3. Nice to here Jiri because your team implementing all the new things to FEDORA 21. We are waiting for final release of new fedora 21 to start race.

  4. Features that require resources outside the app don’t work and won’t work.

    What about the text clipboard? Can I copy or select text in one application and paste it in another one?

    • Clipboard works AFAIK, the same applies to drag’n’drop. It’s implemented in GTK+ and it uses either X or Wayland backend. I’m not saying that apps have no way to access resources outside the app. If that particular feature is implemented (I suppose on the compositor side) it can work. The difference is that X doesn’t have any access control (more precisely the one it has is too complicated to use) and apps can access any resources through X. They can’t on Wayland.

  5. Are there video cards / chipsets that Wayland in Fedora 21 works well with? …and any that it hates? I gave it a try in KVM with QXL/Spice and it didn’t work at all. 🙁

    • It should work on all open source drivers (intel, radeon, nouveau). The nVidia driver supports the EGL functions the Wayland setup requires, but I haven’t tried to find out if it really works. Catalyst don’t even support the EGL functions, so that one doesn’t work at all. Catalyst, in fact, doesn’t work even with GNOME on X in Fedora because it’s compiled with the Wayland backend that requires it. And yes, it doesn’t work on KVM, I already tried, too.

  6. Osqui

    A really silly question

    Wayland is a protocol to comunicate apps with a compositor (Mutter), ok. But this compositor, isn’t a X client? Can Mutter be executed without a X server running below?

  7. Joel

    Thanks for the great article. Just curious, why do we need Wayland, what is Wayland fixing that is currently ‘broken’?

  8. Alex

    The window border problem also occurs with client-side decorations in X when the window manager is not mutter. If they can’t do CSD properly why are they pushing that feature?

  9. Kalev Lember

    I couldn’t, for example, run GNOME’s “Software” application on Wayland.

    Can you file a bug please? Works fine here in my testing.

    • Rahul Sundarams

      It is being as an experimental opt-in feature for people like you to test and report bugs. This is how open source software matures.

    • I’ll try to update and see if it has changed. It worked like this last time: I started Software with the Wayland backend in Terminal, the process quit and Software automatically started in XWayland instead.

      • Kalev Lember

        Ah, yes, that’s expected. gnome-software runs as a session service in the background and automatically starts up when you log in; running ‘gnome-software’ on the command line only brings up the UI in the already running instance.

        If you want to change the GDK backend, kill the existing instance first:
        killall gnome-software && GDK_BACKEND=wayland gnome-software

  10. Martin Gräßlin

    KDE developers are planning to use Weston as a Wayland compositor instead of implementing their own

    This is not true, KWin is in the process of becoming a Wayland compositor.

    • Thanks for the correction. Frankly I don’t remember now where I got that information. I think someone involved in the KDE project told me. I’m going to add a correcting note to the article.

  11. Jacques Noé

    Screenshots and color picker should be implemented through cut-and-paste.
    You should be able to put a screenshot (whole screen or a single windows) or a color in the clipboard. This way, there is no need to ask permission to access resources outside the application.

  12. Rui Matos

    The mouse cursor in XWayland doesn’t change to e.g. indicate a web link or an ability to resize a window when you hover it over the edge of the window.

    This should be fixed in 3.14.1: https://bugzilla.gnome.org/show_bug.cgi?id=738009

  13. Bill Mills

    How is the greater working with wayland and non-wayland sessions?
    Is the greater running as an X client or a wayland client?
    When the greater starts a non matching session does it always create a new VT or is it doing a hand over?

  14. Raphael Rodrigues da Costa

    My Fedora 23 doesn’t work with PRIME.
    I have a Razer Blade 14 and, when I try:
    $ DRI_PRIME=1 glxinfo

    Fedora hangs for a while and give me this:

    name of display: :0
    nvc0_screen_create:725 – Error allocating PGRAPH context for M2MF: -16
    *** Error in `glxinfo’: double free or corruption (!prev): 0x00005590d6086710 ***
    ======= Backtrace: =========
    /lib64/libc.so.6(+0x77da5)[0x7f1d2cd85da5]
    /lib64/libc.so.6(+0x804fa)[0x7f1d2cd8e4fa]
    /lib64/libc.so.6(cfree+0x4c)[0x7f1d2cd91cac]
    /lib64/libdrm_nouveau.so.2(nouveau_device_del+0x2d)[0x7f1d272075dd]
    /usr/lib64/dri/nouveau_dri.so(nouveau_drm_screen_create+0xfc)[0x7f1d27aa756c]
    /usr/lib64/dri/nouveau_dri.so(+0x98396)[0x7f1d276c6396]
    /usr/lib64/dri/nouveau_dri.so(+0x30c5f4)[0x7f1d2793a5f4]
    /usr/lib64/dri/nouveau_dri.so(+0x308bff)[0x7f1d27936bff]
    /lib64/libGL.so.1(+0x491b7)[0x7f1d2d4581b7]
    /lib64/libGL.so.1(+0x1d9b1)[0x7f1d2d42c9b1]
    /lib64/libGL.so.1(+0x19d6b)[0x7f1d2d428d6b]
    /lib64/libGL.so.1(glXChooseVisual+0x4e)[0x7f1d2d428ece]
    glxinfo(+0x2f33)[0x5590d5521f33]
    /lib64/libc.so.6(__libc_start_main+0xf0)[0x7f1d2cd2e580]
    glxinfo(+0x3699)[0x5590d5522699]
    ======= Memory map: ========
    5590d551f000-5590d5529000 r-xp 00000000 fd:00 2224709 /usr/bin/glxinfo
    5590d5728000-5590d572a000 r–p 00009000 fd:00 2224709 /usr/bin/glxinfo
    5590d572a000-5590d572b000 rw-p 0000b000 fd:00 2224709 /usr/bin/glxinfo
    5590d6014000-5590d60a7000 rw-p 00000000 00:00 0 [heap]
    7f1d1c000000-7f1d1c021000 rw-p 00000000 00:00 0
    7f1d1c021000-7f1d20000000 —p 00000000 00:00 0
    7f1d23e91000-7f1d24003000 r-xp 00000000 fd:00 2231715 /usr/lib64/libstdc++.so.6.0.21
    7f1d24003000-7f1d24203000 —p 00172000 fd:00 2231715 /usr/lib64/libstdc++.so.6.0.21
    7f1d24203000-7f1d2420d000 r–p 00172000 fd:00 2231715 /usr/lib64/libstdc++.so.6.0.21
    7f1d2420d000-7f1d2420f000 rw-p 0017c000 fd:00 2231715 /usr/lib64/libstdc++.so.6.0.21
    7f1d2420f000-7f1d24213000 rw-p 00000000 00:00 0
    7f1d24213000-7f1d24239000 r-xp 00000000 fd:00 2233006 /usr/lib64/libtinfo.so.5.9
    7f1d24239000-7f1d24438000 —p 00026000 fd:00 2233006 /usr/lib64/libtinfo.so.5.9
    7f1d24438000-7f1d2443c000 r–p 00025000 fd:00 2233006 /usr/lib64/libtinfo.so.5.9
    7f1d2443c000-7f1d2443d000 rw-p 00029000 fd:00 2233006 /usr/lib64/libtinfo.so.5.9
    7f1d2443d000-7f1d2446f000 r-xp 00000000 fd:00 2232393 /usr/lib64/libedit.so.0.0.53
    7f1d2446f000-7f1d2466e000 —p 00032000 fd:00 2232393 /usr/lib64/libedit.so.0.0.53
    7f1d2466e000-7f1d24670000 r–p 00031000 fd:00 2232393 /usr/lib64/libedit.so.0.0.53
    7f1d24670000-7f1d24671000 rw-p 00033000 fd:00 2232393 /usr/lib64/libedit.so.0.0.53
    7f1d24671000-7f1d24674000 rw-p 00000000 00:00 0
    7f1d24674000-7f1d2467b000 r-xp 00000000 fd:00 2232423 /usr/lib64/libffi.so.6.0.2
    7f1d2467b000-7f1d2487a000 —p 00007000 fd:00 2232423 /usr/lib64/libffi.so.6.0.2
    7f1d2487a000-7f1d2487b000 r–p 00006000 fd:00 2232423 /usr/lib64/libffi.so.6.0.2
    7f1d2487b000-7f1d2487c000 rw-p 00007000 fd:00 2232423 /usr/lib64/libffi.so.6.0.2
    7f1d2487c000-7f1d24885000 r-xp 00000000 fd:00 2232813 /usr/lib64/libpciaccess.so.0.11.1
    7f1d24885000-7f1d24a84000 —p 00009000 fd:00 2232813 /usr/lib64/libpciaccess.so.0.11.1
    7f1d24a84000-7f1d24a85000 r–p 00008000 fd:00 2232813 /usr/lib64/libpciaccess.so.0.11.1
    7f1d24a85000-7f1d24a86000 rw-p 00000000 00:00 0
    7f1d24a86000-7f1d269b9000 r-xp 00000000 fd:00 4002 /usr/lib64/llvm/libLLVM-3.7.so
    7f1d269b9000-7f1d26bb9000 —p 01f33000 fd:00 4002 /usr/lib64/llvm/libLLVM-3.7.so
    7f1d26bb9000-7f1d26dd0000 r–p 01f33000 fd:00 4002 /usr/lib64/llvm/libLLVM-3.7.so
    7f1d26dd0000-7f1d26dd6000 rw-p 0214a000 fd:00 4002 /usr/lib64/llvm/libLLVM-3.7.so
    7f1d26dd6000-7f1d26df1000 rw-p 00000000 00:00 0
    7f1d26df1000-7f1d26df8000 r-xp 00000000 fd:00 2231172 /usr/lib64/libdrm_amdgpu.so.1.0.0
    7f1d26df8000-7f1d26ff7000 —p 00007000 fd:00 2231172 /usr/lib64/libdrm_amdgpu.so.1.0.0
    7f1d26ff7000-7f1d26ff8000 r–p 00006000 fd:00 2231172 /usr/lib64/libdrm_amdgpu.so.1.0.0
    7f1d26ff8000-7f1d26ff9000 rw-p 00000000 00:00 0
    7f1d26ff9000-7f1d27004000 r-xp 00000000 fd:00 2231175 /usr/lib64/libdrm_radeon.so.1.0.1
    7f1d27004000-7f1d27203000 —p 0000b000 fd:00 2231175 /usr/lib64/libdrm_radeon.so.1.0.1
    7f1d27203000-7f1d27204000 r–p 0000a000 fd:00 2231175 /usr/lib64/libdrm_radeon.so.1.0.1
    7f1d27204000-7f1d27205000 rw-p 00000000 00:00 0
    7f1d27205000-7f1d2720c000 r-xp 00000000 fd:00 2231174 /usr/lib64/libdrm_nouveau.so.2.0.0
    7f1d2720c000-7f1d2740b000 —p 00007000 fd:00 2231174 /usr/lib64/libdrm_nouveau.so.2.0.0
    7f1d2740b000-7f1d2740c000 r–p 00006000 fd:00 2231174 /usr/lib64/libdrm_nouveau.so.2.0.0
    7f1d2740c000-7f1d2740d000 rw-p 00000000 00:00 0
    7f1d2740d000-7f1d2742d000 r-xp 00000000 fd:00 2231173 /usr/lib64/libdrm_intel.so.1.0.0
    7f1d2742d000-7f1d2762c000 —p 00020000 fd:00 2231173 /usr/lib64/libdrm_intel.so.1.0.0
    7f1d2762c000-7f1d2762d000 r–p 0001f000 fd:00 2231173 /usr/lib64/libdrm_intel.so.1.0.0
    7f1d2762d000-7f1d2762e000 rw-p 00020000 fd:00 2231173 /usr/lib64/libdrm_intel.so.1.0.0
    7f1d2762e000-7f1d27f05000 r-xp 00000000 fd:00 3043 /usr/lib64/dri/nouveau_dri.so
    7f1d27f05000-7f1d28104000 —p 008d7000 fd:00 3043 /usr/lib64/dri/nouveau_dri.so
    7f1d28104000-7f1d28173000 r–p 008d6000 fd:00 3043 /usr/lib64/dri/nouveau_dri.so
    7f1d28173000-7f1d2817f000 rw-p 00945000 fd:00 3043 /usr/lib64/dri/nouveau_dri.so
    7f1d2817f000-7f1d28365000 rw-p 00000000 00:00 0
    7f1d28365000-7f1d28369000 r-xp 00000000 fd:00 2232230 /usr/lib64/libattr.so.1.1.0
    7f1d28369000-7f1d28569000 —p 00004000 fd:00 2232230 /usr/lib64/libattr.so.1.1.0
    7f1d28569000-7f1d2856a000 r–p 00004000 fd:00 2232230 /usr/lib64/libattr.so.1.1.0
    7f1d2856a000-7f1d2856b000 rw-p 00000000 00:00 0
    7f1d2856b000-7f1d28580000 r-xp 00000000 fd:00 2233156 /usr/lib64/libz.so.1.2.8
    7f1d28580000-7f1d2877f000 —p 00015000 fd:00 2233156 /usr/lib64/libz.so.1.2.8
    7f1d2877f000-7f1d28780000 r–p 00014000 fd:00 2233156 /usr/lib64/libz.so.1.2.8
    7f1d28780000-7f1d28781000 rw-p 00015000 fd:00 2233156 /usr/lib64/libz.so.1.2.8
    7f1d28781000-7f1d28790000 r-xp 00000000 fd:00 2231075 /usr/lib64/libbz2.so.1.0.6
    7f1d28790000-7f1d2898f000 —p 0000f000 fd:00 2231075 /usr/lib64/libbz2.so.1.0.6
    7f1d2898f000-7f1d28990000 r–p 0000e000 fd:00 2231075 /usr/lib64/libbz2.so.1.0.6
    7f1d28990000-7f1d28991000 rw-p 0000f000 fd:00 2231075 /usr/lib64/libbz2.so.1.0.6
    7f1d28991000-7f1d289b6000 r-xp 00000000 fd:00 2232677 /usr/lib64/liblzma.so.5.2.1
    7f1d289b6000-7f1d28bb5000 —p 00025000 fd:00 2232677 /usr/lib64/liblzma.so.5.2.1
    7f1d28bb5000-7f1d28bb6000 r–p 00024000 fd:00 2232677 /usr/lib64/liblzma.so.5.2.1
    7f1d28bb6000-7f1d28bb7000 rw-p 00000000 00:00 0
    7f1d28bb7000-7f1d28bcc000 r-xp 00000000 fd:00 2232396 /usr/lib64/libelf-0.163.so
    7f1d28bcc000-7f1d28dcb000 —p 00015000 fd:00 2232396 /usr/lib64/libelf-0.163.so
    7f1d28dcb000-7f1d28dcc000 r–p 00014000 fd:00 2232396 /usr/lib64/libelf-0.163.so
    7f1d28dcc000-7f1d28dcd000 rw-p 00015000 fd:00 2232396 /usr/lib64/libelf-0.163.so
    7f1d28dcd000-7f1d28de3000 r-xp 00000000 fd:00 2240203 /usr/lib64/libgcc_s-5.3.1-20151207.so.1
    7f1d28de3000-7f1d28fe2000 —p 00016000 fd:00 2240203 /usr/lib64/libgcc_s-5.3.1-20151207.so.1
    7f1d28fe2000-7f1d28fe3000 r–p 00015000 fd:00 2240203 /usr/lib64/libgcc_s-5.3.1-20151207.so.1
    7f1d28fe3000-7f1d28fe4000 rw-p 00016000 fd:00 2240203 /usr/lib64/libgcc_s-5.3.1-20151207.so.1
    7f1d28fe4000-7f1d28fe8000 r-xp 00000000 fd:00 2232286 /usr/lib64/libcap.so.2.24
    7f1d28fe8000-7f1d291e7000 —p 00004000 fd:00 2232286 /usr/lib64/libcap.so.2.24
    7f1d291e7000-7f1d291e8000 r–p 00003000 fd:00 2232286 /usr/lib64/libcap.so.2.24
    7f1d291e8000-7f1d291e9000 rw-p 00004000 fd:00 2232286 /usr/lib64/libcap.so.2.24
    7f1d291e9000-7f1d2922f000 r-xp 00000000 fd:00 2232381 /usr/lib64/libdw-0.163.so
    7f1d2922f000-7f1d2942f000 —p 00046000 fd:00 2232381 /usr/lib64/libdw-0.163.so
    7f1d2942f000-7f1d29431000 r–p 00046000 fd:00 2232381 /usr/lib64/libdw-0.163.so
    7f1d29431000-7f1d29432000 rw-p 00048000 fd:00 2232381 /usr/lib64/libdw-0.163.so
    7f1d29432000-7f1d29449000 r-xp 00000000 fd:00 2233538 /usr/lib64/libresolv-2.22.so
    7f1d29449000-7f1d29649000 —p 00017000 fd:00 2233538 /usr/lib64/libresolv-2.22.so
    7f1d29649000-7f1d2964a000 r–p 00017000 fd:00 2233538 /usr/lib64/libresolv-2.22.so
    7f1d2964a000-7f1d2964b000 rw-p 00018000 fd:00 2233538 /usr/lib64/libresolv-2.22.so
    7f1d2964b000-7f1d2964d000 rw-p 00000000 00:00 0
    7f1d2964d000-7f1d29654000 r-xp 00000000 fd:00 2234024 /usr/lib64/librt-2.22.so
    7f1d29654000-7f1d29853000 —p 00007000 fd:00 2234024 /usr/lib64/librt-2.22.so
    7f1d29853000-7f1d29854000 r–p 00006000 fd:00 2234024 /usr/lib64/librt-2.22.so
    7f1d29854000-7f1d29855000 rw-p 00007000 fd:00 2234024 /usr/lib64/librt-2.22.so
    7f1d29855000-7f1d298c4000 r-xp 00000000 fd:00 2231511 /usr/lib64/libpcre.so.1.2.6
    7f1d298c4000-7f1d29ac3000 —p 0006f000 fd:00 2231511 /usr/lib64/libpcre.so.1.2.6
    7f1d29ac3000-7f1d29ac4000 r–p 0006e000 fd:00 2231511 /usr/lib64/libpcre.so.1.2.6
    7f1d29ac4000-7f1d29ac5000 rw-p 0006f000 fd:00 2231511 /usr/lib64/libpcre.so.1.2.6
    7f1d29ac5000-7f1d29ac7000 r-xp 00000000 fd:00 2232175 /usr/lib64/libXau.so.6.0.0
    7f1d29ac7000-7f1d29cc7000 —p 00002000 fd:00 2232175 /usr/lib64/libXau.so.6.0.0
    7f1d29cc7000-7f1d29cc8000 r–p 00002000 fd:00 2232175 /usr/lib64/libXau.so.6.0.0
    7f1d29cc8000-7f1d29cc9000 rw-p 00000000 00:00 0
    7f1d29cc9000-7f1d29ccc000 r-xp 00000000 fd:00 2231447 /usr/lib64/libdl-2.22.so
    7f1d29ccc000-7f1d29ecb000 —p 00003000 fd:00 2231447 /usr/lib64/libdl-2.22.so
    7f1d29ecb000-7f1d29ecc000 r–p 00002000 fd:00 2231447 /usr/lib64/libdl-2.22.so
    7f1d29ecc000-7f1d29ecd000 rw-p 00003000 fd:00 2231447 /usr/lib64/libdl-2.22.so
    7f1d29ecd000-7f1d29ee5000 r-xp 00000000 fd:00 2231537 /usr/lib64/libpthread-2.22.so
    7f1d29ee5000-7f1d2a0e4000 —p 00018000 fd:00 2231537 /usr/lib64/libpthread-2.22.so
    7f1d2a0e4000-7f1d2a0e5000 r–p 00017000 fd:00 2231537 /usr/lib64/libpthread-2.22.so
    7f1d2a0e5000-7f1d2a0e6000 rw-p 00018000 fd:00 2231537 /usr/lib64/libpthread-2.22.so
    7f1d2a0e6000-7f1d2a0ea000 rw-p 00000000 00:00 0
    7f1d2a0ea000-7f1d2a1eb000 r-xp 00000000 fd:00 2231558 /usr/lib64/libm-2.22.so
    7f1d2a1eb000-7f1d2a3ea000 —p 00101000 fd:00 2231558 /usr/lib64/libm-2.22.so
    7f1d2a3ea000-7f1d2a3eb000 r–p 00100000 fd:00 2231558 /usr/lib64/libm-2.22.so
    7f1d2a3eb000-7f1d2a3ec000 rw-p 00101000 fd:00 2231558 /usr/lib64/libm-2.22.so
    7f1d2a3ec000-7f1d2a3fa000 r-xp 00000000 fd:00 2231171 /usr/lib64/libdrm.so.2.4.0
    7f1d2a3fa000-7f1d2a5f9000 —p 0000e000 fd:00 2231171 /usr/lib64/libdrm.so.2.4.0
    7f1d2a5f9000-7f1d2a5fa000 r–p 0000d000 fd:00 2231171 /usr/lib64/libdrm.so.2.4.0
    7f1d2a5fa000-7f1d2a5fb000 rw-p 00000000 00:00 0
    7f1d2a5fb000-7f1d2a600000 r-xp 00000000 fd:00 2232199 /usr/lib64/libXxf86vm.so.1.0.0
    7f1d2a600000-7f1d2a7ff000 —p 00005000 fd:00 2232199 /usr/lib64/libXxf86vm.so.1.0.0
    7f1d2a7ff000-7f1d2a800000 r–p 00004000 fd:00 2232199 /usr/lib64/libXxf86vm.so.1.0.0
    7f1d2a800000-7f1d2a801000 rw-p 00005000 fd:00 2232199 /usr/lib64/libXxf86vm.so.1.0.0
    7f1d2a801000-7f1d2a822000 r-xp 00000000 fd:00 2231870 /usr/lib64/libxcb.so.1.1.0
    7f1d2a822000-7f1d2aa21000 —p 00021000 fd:00 2231870 /usr/lib64/libxcb.so.1.1.0
    7f1d2aa21000-7f1d2aa22000 r–p 00020000 fd:00 2231870 /usr/lib64/libxcb.so.1.1.0
    7f1d2aa22000-7f1d2aa23000 rw-p 00021000 fd:00 2231870 /usr/lib64/libxcb.so.1.1.0
    7f1d2aa23000-7f1d2aa27000 r-xp 00000000 fd:00 2231842 /usr/lib64/libxcb-dri2.so.0.0.0
    7f1d2aa27000-7f1d2ac26000 —p 00004000 fd:00 2231842 /usr/lib64/libxcb-dri2.so.0.0.0
    7f1d2ac26000-7f1d2ac27000 r–p 00003000 fd:00 2231842 /usr/lib64/libxcb-dri2.so.0.0.0
    7f1d2ac27000-7f1d2ac28000 rw-p 00004000 fd:00 2231842 /usr/lib64/libxcb-dri2.so.0.0.0
    7f1d2ac28000-7f1d2ac3f000 r-xp 00000000 fd:00 2231845 /usr/lib64/libxcb-glx.so.0.0.0
    7f1d2ac3f000-7f1d2ae3e000 —p 00017000 fd:00 2231845 /usr/lib64/libxcb-glx.so.0.0.0
    7f1d2ae3e000-7f1d2ae40000 r–p 00016000 fd:00 2231845 /usr/lib64/libxcb-glx.so.0.0.0
    7f1d2ae40000-7f1d2ae41000 rw-p 00018000 fd:00 2231845 /usr/lib64/libxcb-glx.so.0.0.0
    7f1d2ae41000-7f1d2ae42000 r-xp 00000000 fd:00 2232172 /usr/lib64/libX11-xcb.so.1.0.0
    7f1d2ae42000-7f1d2b041000 —p 00001000 fd:00 2232172 /usr/lib64/libX11-xcb.so.1.0.0
    7f1d2b041000-7f1d2b042000 r–p 00000000 fd:00 2232172 /usr/lib64/libX11-xcb.so.1.0.0
    7f1d2b042000-7f1d2b043000 rw-p 00000000 00:00 0
    7f1d2b043000-7f1d2b048000 r-xp 00000000 fd:00 2232182 /usr/lib64/libXfixes.so.3.1.0
    7f1d2b048000-7f1d2b247000 —p 00005000 fd:00 2232182 /usr/lib64/libXfixes.so.3.1.0
    7f1d2b247000-7f1d2b248000 r–p 00004000 fd:00 2232182 /usr/lib64/libXfixes.so.3.1.0
    7f1d2b248000-7f1d2b249000 rw-p 00005000 fd:00 2232182 /usr/lib64/libXfixes.so.3.1.0
    7f1d2b249000-7f1d2b24b000 r-xp 00000000 fd:00 2232178 /usr/lib64/libXdamage.so.1.1.0
    7f1d2b24b000-7f1d2b44a000 —p 00002000 fd:00 2232178 /usr/lib64/libXdamage.so.1.1.0
    7f1d2b44a000-7f1d2b44b000 r–p 00001000 fd:00 2232178 /usr/lib64/libXdamage.so.1.1.0
    7f1d2b44b000-7f1d2b44c000 rw-p 00000000 00:00 0
    7f1d2b44c000-7f1d2b45d000 r-xp 00000000 fd:00 2232181 /usr/lib64/libXext.so.6.4.0
    7f1d2b45d000-7f1d2b65c000 —p 00011000 fd:00 2232181 /usr/lib64/libXext.so.6.4.0
    7f1d2b65c000-7f1d2b65d000 r–p 00010000 fd:00 2232181 /usr/lib64/libXext.so.6.4.0
    7f1d2b65d000-7f1d2b65e000 rw-p 00011000 fd:00 2232181 /usr/lib64/libXext.so.6.4.0
    7f1d2b65e000-7f1d2b67d000 r-xp 00000000 fd:00 2232923 /usr/lib64/libselinux.so.1
    7f1d2b67d000-7f1d2b87d000 —p 0001f000 fd:00 2232923 /usr/lib64/libselinux.so.1
    7f1d2b87d000-7f1d2b87e000 r–p 0001f000 fd:00 2232923 /usr/lib64/libselinux.so.1
    7f1d2b87e000-7f1d2b87f000 rw-p 00020000 fd:00 2232923 /usr/lib64/libselinux.so.1
    7f1d2b87f000-7f1d2b881000 rw-p 00000000 00:00 0
    7f1d2b881000-7f1d2b8aa000 r-xp 00000000 fd:00 2234677 /usr/lib64/libglapi.so.0.0.0
    7f1d2b8aa000-7f1d2baaa000 —p 00029000 fd:00 2234677 /usr/lib64/libglapi.so.0.0.0
    7f1d2baaa000-7f1d2baae000 r–p 00029000 fd:00 2234677 /usr/lib64/libglapi.so.0.0.0
    7f1d2baae000-7f1d2baaf000 rw-p 0002d000 fd:00 2234677 /usr/lib64/libglapi.so.0.0.0
    7f1d2baaf000-7f1d2bab0000 rw-p 00000000 00:00 0
    7f1d2bab0000-7f1d2bab1000 r-xp 00000000 fd:00 2233150 /usr/lib64/libxshmfence.so.1.0.0
    7f1d2bab1000-7f1d2bcb1000 —p 00001000 fd:00 2233150 /usr/lib64/libxshmfence.so.1.0.0
    7f1d2bcb1000-7f1d2bcb2000 r–p 00001000 fd:00 2233150 /usr/lib64/libxshmfence.so.1.0.0
    7f1d2bcb2000-7f1d2bcb3000 rw-p 00000000 00:00 0
    7f1d2bcb3000-7f1d2bcb8000 r-xp 00000000 fd:00 2231858 /usr/lib64/libxcb-sync.so.1.0.0
    7f1d2bcb8000-7f1d2beb8000 —p 00005000 fd:00 2231858 /usr/lib64/libxcb-sync.so.1.0.0
    7f1d2beb8000-7f1d2beb9000 r–p 00005000 fd:00 2231858 /usr/lib64/libxcb-sync.so.1.0.0
    7f1d2beb9000-7f1d2beba000 rw-p 00006000 fd:00 2231858 /usr/lib64/libxcb-sync.so.1.0.0
    7f1d2beba000-7f1d2bebd000 r-xp 00000000 fd:00 2231856 /usr/lib64/libxcb-shape.so.0.0.0
    7f1d2bebd000-7f1d2c0bc000 —p 00003000 fd:00 2231856 /usr/lib64/libxcb-shape.so.0.0.0
    7f1d2c0bc000-7f1d2c0bd000 r–p 00002000 fd:00 2231856 /usr/lib64/libxcb-shape.so.0.0.0
    7f1d2c0bd000-7f1d2c0be000 rw-p 00003000 fd:00 2231856 /usr/lib64/libxcb-shape.so.0.0.0
    7f1d2c0be000-7f1d2c0c7000 r-xp 00000000 fd:00 2231853 /usr/lib64/libxcb-render.so.0.0.0
    7f1d2c0c7000-7f1d2c2c6000 —p 00009000 fd:00 2231853 /usr/lib64/libxcb-render.so.0.0.0
    7f1d2c2c6000-7f1d2c2c7000 r–p 00008000 fd:00 2231853 /usr/lib64/libxcb-render.so.0.0.0
    7f1d2c2c7000-7f1d2c2c8000 rw-p 00009000 fd:00 2231853 /usr/lib64/libxcb-render.so.0.0.0
    7f1d2c2c8000-7f1d2c2ce000 r-xp 00000000 fd:00 2231862 /usr/lib64/libxcb-xfixes.so.0.0.0
    7f1d2c2ce000-7f1d2c4ce000 —p 00006000 fd:00 2231862 /usr/lib64/libxcb-xfixes.so.0.0.0
    7f1d2c4ce000-7f1d2c4cf000 r–p 00006000 fd:00 2231862 /usr/lib64/libxcb-xfixes.so.0.0.0
    7f1d2c4cf000-7f1d2c4d0000 rw-p 00007000 fd:00 2231862 /usr/lib64/libxcb-xfixes.so.0.0.0
    7f1d2c4d0000-7f1d2c4dc000 r-xp 00000000 fd:00 2231850 /usr/lib64/libxcb-randr.so.0.1.0
    7f1d2c4dc000-7f1d2c6dc000 —p 0000c000 fd:00 2231850 /usr/lib64/libxcb-randr.so.0.1.0
    7f1d2c6dc000-7f1d2c6dd000 r–p 0000c000 fd:00 2231850 /usr/lib64/libxcb-randr.so.0.1.0
    7f1d2c6dd000-7f1d2c6de000 rw-p 0000d000 fd:00 2231850 /usr/lib64/libxcb-randr.so.0.1.0
    7f1d2c6de000-7f1d2c6e0000 r-xp 00000000 fd:00 2231849 /usr/lib64/libxcb-present.so.0.0.0
    7f1d2c6e0000-7f1d2c8df000 —p 00002000 fd:00 2231849 /usr/lib64/libxcb-present.so.0.0.0
    7f1d2c8df000-7f1d2c8e0000 r–p 00001000 fd:00 2231849 /usr/lib64/libxcb-present.so.0.0.0
    7f1d2c8e0000-7f1d2c8e1000 rw-p 00002000 fd:00 2231849 /usr/lib64/libxcb-present.so.0.0.0
    7f1d2c8e1000-7f1d2c8e3000 r-xp 00000000 fd:00 2231843 /usr/lib64/libxcb-dri3.so.0.0.0
    7f1d2c8e3000-7f1d2cae2000 —p 00002000 fd:00 2231843 /usr/lib64/libxcb-dri3.so.0.0.0
    7f1d2cae2000-7f1d2cae3000 r–p 00001000 fd:00 2231843 /usr/lib64/libxcb-dri3.so.0.0.0
    7f1d2cae3000-7f1d2cae4000 rw-p 00002000 fd:00 2231843 /usr/lib64/libxcb-dri3.so.0.0.0
    7f1d2cae4000-7f1d2cb0b000 r-xp 00000000 fd:00 2232414 /usr/lib64/libexpat.so.1.6.0
    7f1d2cb0b000-7f1d2cd0a000 —p 00027000 fd:00 2232414 /usr/lib64/libexpat.so.1.6.0
    7f1d2cd0a000-7f1d2cd0d000 r–p 00026000 fd:00 2232414 /usr/lib64/libexpat.so.1.6.0
    7f1d2cd0d000-7f1d2cd0e000 rw-p 00000000 00:00 0
    7f1d2cd0e000-7f1d2cec5000 r-xp 00000000 fd:00 2231189 /usr/lib64/libc-2.22.so
    7f1d2cec5000-7f1d2d0c5000 —p 001b7000 fd:00 2231189 /usr/lib64/libc-2.22.so
    7f1d2d0c5000-7f1d2d0c9000 r–p 001b7000 fd:00 2231189 /usr/lib64/libc-2.22.so
    7f1d2d0c9000-7f1d2d0cb000 rw-p 001bb000 fd:00 2231189 /usr/lib64/libc-2.22.so
    7f1d2d0cb000-7f1d2d0cf000 rw-p 00000000 00:00 0
    7f1d2d0cf000-7f1d2d209000 r-xp 00000000 fd:00 2232173 /usr/lib64/libX11.so.6.3.0
    7f1d2d209000-7f1d2d408000 —p 0013a000 fd:00 2232173 /usr/lib64/libX11.so.6.3.0
    7f1d2d408000-7f1d2d40b000 r–p 00139000 fd:00 2232173 /usr/lib64/libX11.so.6.3.0
    7f1d2d40b000-7f1d2d40f000 rw-p 0013c000 fd:00 2232173 /usr/lib64/libX11.so.6.3.0
    7f1d2d40f000-7f1d2d4a4000 r-xp 00000000 fd:00 2235466 /usr/lib64/libGL.so.1.2.0
    7f1d2d4a4000-7f1d2d6a3000 —p 00095000 fd:00 2235466 /usr/lib64/libGL.so.1.2.0
    7f1d2d6a3000-7f1d2d6a6000 r–p 00094000 fd:00 2235466 /usr/lib64/libGL.so.1.2.0
    7f1d2d6a6000-7f1d2d6a7000 rw-p 00097000 fd:00 2235466 /usr/lib64/libGL.so.1.2.0
    7f1d2d6a7000-7f1d2d6c8000 r-xp 00000000 fd:00 2226818 /usr/lib64/ld-2.22.so
    7f1d2d868000-7f1d2d886000 r-xp 00000000 fd:00 2240148 /usr/lib64/libudev.so.1.6.4
    7f1d2d886000-7f1d2d887000 —p 0001e000 fd:00 2240148 /usr/lib64/libudev.so.1.6.4
    7f1d2d887000-7f1d2d888000 r–p 0001e000 fd:00 2240148 /usr/lib64/libudev.so.1.6.4
    7f1d2d888000-7f1d2d889000 rw-p 0001f000 fd:00 2240148 /usr/lib64/libudev.so.1.6.4
    7f1d2d8a1000-7f1d2d8ae000 rw-p 00000000 00:00 0
    7f1d2d8c4000-7f1d2d8c7000 rw-p 00000000 00:00 0
    7f1d2d8c7000-7f1d2d8c8000 r–p 00020000 fd:00 2226818 /usr/lib64/ld-2.22.so
    7f1d2d8c8000-7f1d2d8c9000 rw-p 00021000 fd:00 2226818 /usr/lib64/ld-2.22.so
    7f1d2d8c9000-7f1d2d8ca000 rw-p 00000000 00:00 0
    7ffc536e8000-7ffc53709000 rw-p 00000000 00:00 0 [stack]
    7ffc53740000-7ffc53742000 r–p 00000000 00:00 0 [vvar]
    7ffc53742000-7ffc53744000 r-xp 00000000 00:00 0 [vdso]
    ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
    Aborted (core dumped)

    Any ideas?

Comments are Closed

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions