wiki/linux.wayland.html

28 lines
12 KiB
HTML
Raw Permalink Normal View History

2022-07-29 15:41:17 +00:00
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width"/><meta charSet="utf-8"/><title>Wayland</title><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script><script type="text/x-mathjax-config">
MathJax = {
tex: {
inlineMath: [ [&#x27;$&#x27;,&#x27;$&#x27;], [&#x27;\(&#x27;,&#x27;\)&#x27;] ],
displayMath: [ [&#x27;$$&#x27;,&#x27;$$&#x27;], [&#x27;[&#x27;,&#x27;]&#x27;] ]
},
options = {
processHtmlClass = &quot;math&quot;
}
}
</script><meta name="next-head-count" content="6"/><link rel="preload" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" as="style"/><link rel="stylesheet" href="/wiki/_next/static/css/52fc2ba29703df73922c.css" data-n-g=""/><noscript data-n-css=""></noscript><link rel="preload" href="/wiki/_next/static/chunks/main-ae4733327bd95c4ac325.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/webpack-50bee04d1dc61f8adf5b.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/framework.9d524150d48315f49e80.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/commons.0e1c3f9aa780c2dfe9f0.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/_app-8e3d0c58a60ec788aa69.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/940643274e605e7596ecea1f2ff8d83317a3fb76.4841a16762f602a59f00.js" as="script"/><link rel="preload" href="/wiki/_next/static/chunks/pages/%5B%5B...slug%5D%5D-1aa198f87ede1cd0e1dc.js" as="script"/></head><body><div id="__next"><main><h1>Wayland</h1><section class="post-metadata"><span>Date: <!-- -->2021-07-20 16:42:09 +08:00</span><span>Date modified: <!-- -->2021-07-20 20:31:56 +08:00</span></section><nav class="toc"><ol class="toc-level toc-level-1"><li class="toc-item toc-item-h1"><a href="/wiki/linux.wayland#ecosystem" class="toc-link toc-link-h1">Ecosystem</a></li><li class="toc-item toc-item-h1"><a href="/wiki/linux.wayland#application-support" class="toc-link toc-link-h1">Application support</a></li></ol></nav><p><a href="https://wayland.freedesktop.org/">The next iteration to X</a>, the traditional Unix display server.
Wayland, similar to X, is an entirely new protocol leaving to other tools to implement desktop systems.
Thus, it needs a new ecosystem of programs to run inside of a Wayland-based desktop sessions.
</p><h1 id="ecosystem">Ecosystem</h1><ul><li><p><a href="https://gitlab.freedesktop.org/wayland/wayland">A Wayland core library</a>.
</p></li><li><p><a href="https://github.com/swaywm/sway/">Sway</a> is a compositor and a window manager serving as a drop-in replacement for i3.
</p></li><li><p><a href="https://github.com/swaywm/wlroots">wlroots</a> is an unopinionated modular compositor library.
</p></li><li><p><a href="https://wayland-book.com/">Wayland book</a> is a free book showing the basic ropes of working with Wayland-based systems.
</p></li><li><p><a href="https://wayland.freedesktop.org/xserver.html">XWayland</a> is an implementation of X display server to accept Wayland input.
</p></li><li><p><a href="https://github.com/emersion/xdg-desktop-portal-wlr">xdg-desktop-portal-wlr</a> is a portal backend for wlroots.
</p></li><li><p>GNOME Shell and KDE Plasma is slowly supporting Wayland.
</p></li></ul><h1 id="application-support">Application support</h1><p>While Wayland support for various legacy systems are increasing recently, one still have to be cautious with support.
</p><ul><li><p>Several <a href="https://wayland.freedesktop.org/toolkits.html">graphical toolkits</a> support Wayland.
</p></li><li><p>Starting at version 27, <a href="https://obsproject.com/">OBS Studio</a> supports Wayland-based systems.
</p></li><li><p><a href="https://hg.sr.ht/~scoopta/wlrobs">wlrobs</a> is a OBS Studio plugin supporting wlroots-based compositors.
</p></li><li><p><a href="https://github.com/emersion/grim">Grim</a> is a command-line tool for getting screenshots.
</p></li><li><p><a href="https://github.com/ammen99/wf-recorder">wf-recorder</a> for recording with wlroots-based compositors.
</p></li><li><p><a href="https://github.com/emersion/xdg-desktop-portal-wlr/wiki/Screencast-Compatibility">WebRTC is supported for most browsers</a>.
</p></li></ul></main></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"metadata":{"date":"2021-07-20 16:42:09 +08:00","date_modified":"2021-07-20 20:31:56 +08:00","language":"en","source":""},"title":"Wayland","hast":{"type":"root","children":[{"type":"element","tagName":"nav","properties":{"className":"toc"},"children":[{"type":"element","tagName":"ol","properties":{"className":"toc-level toc-level-1"},"children":[{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"ecosystem"},"children":[{"type":"text","value":"Ecosystem"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/linux.wayland#ecosystem"},"children":[{"type":"text","value":"Ecosystem"}]}]},{"type":"element","tagName":"li","data":{"hookArgs":[{"type":"element","tagName":"h1","properties":{"id":"application-support"},"children":[{"type":"text","value":"Application support"}]}]},"properties":{"className":"toc-item toc-item-h1"},"children":[{"type":"element","tagName":"a","properties":{"className":"toc-link toc-link-h1","href":"/linux.wayland#application-support"},"children":[{"type":"text","value":"Application support"}]}]}]}]},{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://wayland.freedesktop.org/"},"children":[{"type":"text","value":"The next iteration to X"}]},{"type":"text","value":", the traditional Unix display server.\nWayland, similar to X, is an entirely new protocol leaving to other tools to implement desktop systems.\nThus, it needs a new ecosystem of programs to run inside of a Wayland-based desktop sessions.\n"}]},{"type":"element","tagName":"h1","properties":{"id":"ecosystem"},"children":[{"type":"text","value":"Ecosystem"}]},{"type":"element","tagName":"ul","properties":{},"children":[{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://gitlab.freedesktop.org/wayland/wayland"},"children":[{"type":"text","value":"A Wayland core library"}]},{"type":"text","value":".\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/swaywm/sway/"},"children":[{"type":"text","value":"Sway"}]},{"type":"text","value":" is a compositor and a window manager serving as a drop-in replacement for i3.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/swaywm/wlroots"},"children":[{"type":"text","value":"wlroots"}]},{"type":"text","value":" is an unopinionated modular compositor library.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://wayland-book.com/"},"children":[{"type":"text","value":"Wayland book"}]},{"type":"text","value":" is a free book showing the basic ropes of working with Wayland-based systems.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://wayland.freedesktop.org/xserver.html"},"children":[{"type":"text","value":"XWayland"}]},{"type":"text","value":" is an implementation of X display server to accept Wayland input.\n"}]}]},{"type":"element","tagName":"li","properties":{},"children":[{"type":"element","tagName":"p","properties":{},"children":[{"type":"element","tagName":"a","properties":{"href":"https://github.com/emersion/xdg-desktop-portal-wlr"},"children":[{"type":"text","value":"xdg-desktop-portal-wlr"}]},{"type":"text","value":" is a portal backend for wlroots.\n"}]}]},{"type":"element","tagN