Linux check x11 or wayland

How can I tell if I am running Wayland?

Wayland is the default display server for Ubuntu 17.10 «on supported systems». But how can I tell if my platform is supported and I’m actually using Wayland?

6 Answers 6

Open the terminal and type in:

You could install mesa-utils-extra and run es2gears_wayland If the app runs, you are running Wayland.

For a fun way to check whether a specific app is using Wayland or XWayland, run xeyes . The eyes will move if the cursor is over an X or XWayland window.

Or run this in a terminal:

If there is no output, you are not running Wayland.

Use that command in the Ubuntu terminal:

Look at the value returned. If on wayland it will return

Settings > About > Windowing System

On Ubuntu 21.04, you can also see it from the Settings GUI (Win key, type Settings, select. Executable name: gnome-control-center ), which is nice.

The default is Wayland on that system, 21.04 appears to be the first release where it was the default: https://www.omgubuntu.co.uk/2021/01/ubuntu-21-04-will-use-wayland-by-default

As mentioned at: Ubuntu 21.04: how to enable Wayland? however, if Ubuntu detects that you don’t have the hardware support, it fallbacks to X11 by default.

Also, the NVIDIA 460 driver doesn’t support Wayland, and X11 becomes your only choice once you install it.

BTW, the 21.04 minimal ISO install (which has Wayland and no NVIDIA driver, which is proprietary and needs to be installed manually later) has a known bug that crashed my UI every other day: Ubuntu UI screen image freezes randomly during usage after fresh 21.04 install, suspecting Wayland or Nouveau making it unusable. The problem stopped when I installed the nvidia driver and used X11.

Источник

Wayland

Wayland is a display server protocol. It is aimed to become the successor of the X Window System. You can find a comparison between Wayland and Xorg on Wikipedia.

Display servers using the Wayland protocol are called compositors because they also act as compositing window managers. Below you can find a list of Wayland compositors.

For backwards compatibility to seamlessly run legacy X11 applications, XWayland can be used, which provides an X Server in Wayland.

Contents

Requirements

Most Wayland compositors only work on systems using Kernel mode setting. Wayland by itself does not provide a graphical environment; for this you also need a compositor (see the following section), or a desktop environment that includes a compositor (e.g. GNOME or KDE).

For the GPU driver and Wayland compositor to be compatible they must support the same buffer API. There are two main APIs: GBM and EGLStreams.

Buffer API GPU driver support Wayland compositor support
GBM All except NVIDIA All
EGLStreams NVIDIA GNOME, KDE, Weston (with a third-party patch)

Compositors

See Window manager#Types for the difference between Tiling and Stacking.

Tiling

  • Cagebreak — Based on cage, inspired by ratpoison.

https://github.com/project-repo/cagebreak || cagebreakAURcagebreak-binAUR

  • Cardboard — Scrolling compositor, inspired by PaperWM, based on wlroots.

https://gitlab.com/cardboardwm/cardboard || cardboard-gitAUR

  • dwl — dwm-like Wayland compositor based on wlroots.

https://github.com/djpohly/dwl || dwlAUR

  • japokwm — Dynamic Wayland tiling compositor based around creating layouts, based on wlroots.
Читайте также:  Rdp brute kali linux

https://github.com/werererer/japokwm || japokwm-gitAUR

  • Qtile — A full-featured, hackable tiling window manager and Wayland compositor written and configured in Python.

https://github.com/qtile/qtile || qtile

  • river — Dynamic tiling Wayland compositor inspired by dwm and bspwm.

https://github.com/ifreund/river || river-gitAUR

  • Sway — i3-compatible Wayland compositor based on wlroots.

https://github.com/swaywm/sway || sway

  • Velox — Simple window manager based on swc, inspired by dwm and xmonad.

https://github.com/michaelforney/velox || velox-gitAUR

  • waymonad — Wayland compositor inspired by xmonad written in Haskell.

https://github.com/waymonad/waymonad || not packaged? search in AUR

  • newm — Wayland compositor written with laptops and touchpads in mind.

https://github.com/jbuchermn/newm/ || newm-gitAUR

Stacking

  • Enlightenment — See Enlightenment#Manually. More Info: [1][2]

https://www.enlightenment.org/ || enlightenment

  • Greenfield — Runs in a web browser and can display remote applications.

https://greenfield.app/ || not packaged? search in AUR

  • Grefsen — Qt/Wayland compositor providing a minimal desktop environment.

https://github.com/ec1oud/grefsen || not packaged? search in AUR

  • hikari — wlroots-based compositor inspired by cwm which is actively developed on FreeBSD but also supports Linux.

https://hikari.acmelabs.space/ || hikariAUR

  • KDE KWin — See KDE#Starting Plasma.

https://userbase.kde.org/KWin || kwin

  • Liri Shell — Part of Liri, built using QtQuick and QtCompositor as a compositor for Wayland.

https://github.com/lirios/shell || liri-shell-gitAUR

  • labwc — wlroots-based compositor inspired by Openbox.

https://github.com/johanmalm/labwc || labwc-gitAUR

  • Mutter — See GNOME#Starting.

https://gitlab.gnome.org/GNOME/mutter || mutter

  • wayfire — 3D compositor inspired by Compiz and based on wlroots.

https://wayfire.org/ || wayfireAUR

  • Weston — reference implementation of a Wayland compositor.

https://gitlab.freedesktop.org/wayland/weston || weston

  • wio — wlroots-based compositor that aims to replicate the look and feel of Plan 9’s Rio desktop.

https://wio-project.org/ || not packaged? search in AUR

Other

  • Cage — Displays a single fullscreen application like a kiosk.

https://www.hjdskes.nl/projects/cage/ || cage

  • Maze Compositor — Renders windows in a 3D maze using Qt.

https://github.com/imbavirus/mazecompositor || not packaged? search in AUR

  • Motorcar — Wayland compositor to explore 3D windowing using virtual reality.

https://github.com/evil0sheep/motorcar || not packaged? search in AUR

Some of the above may support display managers. Check /usr/share/wayland-sessions/compositor.desktop to see how they are started.

Display managers

Display managers listed below support launching Wayland compositors. The «Type» column indicates whether the display manager supports running itself on Wayland or not.

Name Type Description
GDM Runs on Wayland GNOME display manager.
greetd Login daemon Minimal and flexible login daemon.
LightDM Runs on X11 Cross-desktop display manager.
Ly Runs in console TUI display manager written in C
SDDM Runs on X11 QML-based display manager.
tbsm Runs in console Simple CLI session launcher written in pure bash.

GUI libraries

The gtk3 and gtk4 packages have the Wayland backend enabled. GTK will default to the Wayland backend, but it is possible to override it to Xwayland by modifying an environment variable: GDK_BACKEND=x11 .

To enable Wayland support in Qt 5 or 6, install the qt5-wayland or qt6-wayland package, respectively.

To run a Qt application with the Wayland plugin [3], use -platform wayland or QT_QPA_PLATFORM=wayland environment variable. To force the usage of X11 on a Wayland session, use QT_QPA_PLATFORM=xcb . This might be necessary for some proprietary applications that do not use the system’s implementation of Qt, such as zoom AUR .

On some compositors, for example sway, Qt applications running natively might have missing functionality. For example, KeepassXC will be unable to minimize to tray. This can be solved by installing qt5ct and setting QT_QPA_PLATFORMTHEME=qt5ct before running the application.

Clutter

The Clutter toolkit has a Wayland backend that allows it to run as a Wayland client. The backend is enabled in the clutter package.

Читайте также:  Удаленная перезагрузка windows server 2012

To run a Clutter application on Wayland, set CLUTTER_BACKEND=wayland .

To run a SDL2 application on Wayland, set SDL_VIDEODRIVER=wayland .

To use GLFW with the Wayland backend, install the glfw-wayland package (instead of glfw-x11 ).

The glew-wayland AUR package currently still does not work with a lot of GLEW-based applications, so the only option is to use glew with Xwayland. See FS#62713.

EFL has complete Wayland support. To run a EFL application on Wayland, see Wayland project page.

winit

Winit is a window handling library in Rust. It will default to the Wayland backend, but it is possible to override it to Xwayland by modifying an environment variable: WINIT_UNIX_BACKEND=x11 .

Electron

To use electron -based applications natively under Wayland, create or edit the file $/electron-flags.conf to add the following options.

Note that older versions of electron require their own electron-flags.conf file. For example, if you have the electron12 package installed, you may wish to do

from within your $ directory (or maintain a separate $/electron12-flags.conf file if you want different electron versions to use different runtime options).

XWayland

XWayland is an X Server that runs under Wayland. It provides backwards compatibility for legacy X11 applications.

In order to use it, install the xorg-xwayland package.

XWayland is started via a compositor, so you should check for XWayland compatibility and instructions on how to start XWayland, with the compositor of your choice.

Nvidia driver

Note that enabling DRM KMS is required. Also note additional information in the official documentation regarding your display manager (e.g. GDM).

Troubleshooting

Color correction

Slow motion, graphical glitches, and crashes

Gnome-shell users may experience display issues when they switch to Wayland from X. One of the root cause might be the CLUTTER_PAINT=disable-clipped-redraws:disable-culling set by yourself for Xorg-based gnome-shell. Just try to remove it from /etc/environment or other rc files to see if everything goes back to normal.

Cannot open display: :0 with Electron-based applications

The factual accuracy of this article or section is disputed.

Make sure you have not set GDK_BACKEND=wayland . Setting it globally will break Electron applications.

Remote display

  • (20200206) wlroots (used by sway) offers a VNC backend via wayvnc since version 0.10. RDP backend has been removed [4].
  • (20180401) mutter has now remote desktop enabled at compile time, see [5] and gnome-remote-desktop for details.
  • There was a merge of FreeRDP into Weston in 2013, enabled via a compile flag. The weston package has it enabled since version 6.0.0.
  • waypipe-gitAUR is a transparent proxy for Wayland applications, with a wrapper command to run over SSH

Input grabbing in games, remote desktop and VM windows

In contrast to Xorg, Wayland does not allow exclusive input device grabbing, also known as active or explicit grab (e.g. keyboard, mouse), instead, it depends on the Wayland compositor to pass keyboard shortcuts and confine the pointer device to the application window.

This change in input grabbing breaks current applications’ behavior, meaning:

  • Hotkey combinations and modifiers will be caught by the compositor and will not be sent to remote desktop and virtual machine windows.
  • The mouse pointer will not be restricted to the application’s window which might cause a parallax effect where the location of the mouse pointer inside the window of the virtual machine or remote desktop is displaced from the host’s mouse pointer.

Wayland solves this by adding protocol extensions for Wayland and XWayland. Support for these extensions is needed to be added to the Wayland compositors. In the case of native Wayland clients, the used widget toolkits (e.g GTK, Qt) needs to support these extensions or the applications themselves if no widget toolkit is being used. In the case of Xorg applications, no changes in the applications or widget toolkits are needed as the XWayland support is enough.

Читайте также:  Как внешний жесткий диск сделать внутренним mac os

These extensions are already included in wayland-protocols , and supported by xorg-xwayland .

The related extensions are:

Supporting Wayland compositors:

  • Mutter, GNOME’s compositor since release 3.28
  • wlroots supports relative-pointer and pointer-constraints

Источник

Wayland vs. X11

Хочу сравнить Wayland и X11. Напишите, о чем вы думаете об этом.

GNOME с Wayland у меня работает нормально, но вот с Plasma есть некоторые баги:

  • Подменю Menubar’ов GTK+ приложений имеют отступы от Menubar’а
  • Global Menu не работает

Сижу на Малинке, использую Sway с Waybar. Работает просто прекрасно.

Подменю Menubar’ов GTK+ приложений имеют отступы от Menubar’а

Дай скрин, а то не очень понятно, что ты имеешь в виду, у меня на большом ПК с гномом всё нормально с ними.

А про глобальное меню в плазме не скажу, кедами давно не пользовался.

Хочу сравнить Wayland и X11. Напишите, о чем вы думаете об этом.

Тратишь время на фигню.

А что же мне использовать?

Какой-то неуместный холивар.

За вяленым будущее, но линуксовый графон в целом – говно. Как-то так.

А что лучше работает с Вейленд, ГНОМ или Плазма?

Да, только лет сто нужно подождать пока его реализации допилят. Я не слишком преувеличиваю учитывая что от старта проекта до первой альфы прошло лет 10. Сейчас в гноме ранняя бета, все еще чудовищно сырое.

Такая неспешность какбе намекает, что протокол непродуманное говно. Ну и еще похоже в мире осталось полтора программиста, которые могут написать оконную систему с нуля.

Похоже, что десктопный линукс никому не всрался, кмк.

Из того, с чем столкнулся лично я.

  • Лучше реализована работа тачпада. К сожалению, это на сегодня самое приближенное, что мы можем получить, к полноценному экспириенсу тачпадов «как на Маке»: есть поддержка мульти-жестов и continuos pinch zoom (на X11 это нельзя реализовать из-за ограничений самого дизайна). Кроме того, тачпад работает намного плавнее, есть kinetic scroll.
  • Нет скрин-тиринга как такового.
  • В целом анимации намного плавнее, нигде не проскакивают дропнутые фреймы, стабильно 60 FPS в интерфейсе.
  • Безопасность благодаря изоляции процессов — одно окно не может иметь доступ к другим окнам, или управлять ими.
  • За ним будущее — Debian, Fedora, RHEL уже используют его по дефолту. Ubuntu тоже использовали его по умолчанию в 17.10, но в 18.04 откатились обратно на X11, потому что Wayland еще недоработан во многих аспектах.
  • Несмотря на более чем 10 лет разработки, проект еще сырой для массового пользователя.
  • Не все программы с ним (пока еще?) работают. Не реализован удаленный доступ (TeamViewer, Chrome Remote Desktop), screen sharing (Skype), нет возможности записи экрана.
  • Некоторые программы работают криво. Например, в Spotify меню не реагирует на мышку, можно выбирать только с клавиатуры.
  • Менее стабилен чем X11, иногда случаются вылеты сессии.
  • Нет возможности перезапустить сессию, не разлогиниваясь.
  • Ниже FPS в играх.
  • Нет аналога xdotool.
  • Некоторые GNOME экстеншены не работают.
  • Меньше информации в интернете, сложнее найти решения проблем.
  • На данный момент более или менее нормально с ним работают только GNOME и Sway.

А что лучше работает с Вейленд, ГНОМ или Плазма?

Определенно GNOME. KDE слишком нестабилен на Wayland.

Источник

Оцените статью