https://wiki.archlinux.org/api.php?action=feedcontributions&user=Varshit&feedformat=atomArchWiki - User contributions [en]2024-03-28T19:41:53ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=User:Varshit&diff=653016User:Varshit2021-02-21T10:09:35Z<p>Varshit: removed unnecessary things</p>
<hr />
<div>^_^</div>Varshithttps://wiki.archlinux.org/index.php?title=Wayland&diff=578239Wayland2019-07-28T13:57:46Z<p>Varshit: /* Screen recording */ Added wlrobs</p>
<hr />
<div>[[Category:Graphical user interfaces]]<br />
[[es:Wayland]]<br />
[[fr:Wayland]]<br />
[[ja:Wayland]]<br />
[[ru:Wayland]]<br />
[[zh-hans:Wayland]]<br />
{{Related articles start}}<br />
{{Related|KMS}}<br />
{{Related|Xorg}}<br />
{{Related articles end}}<br />
<br />
[http://wayland.freedesktop.org/ Wayland] is a protocol for a [[wikipedia:Compositing window manager|compositing window manager]] to talk to its clients, as well as a library implementing the protocol. It is supported on some desktop environments like [[GNOME]] and [[KDE]]. There is also a compositor reference implementation called Weston. XWayland provides a compatibility layer to seamlessly run legacy [[X11]] applications in Wayland.<br />
<br />
== Requirements ==<br />
<br />
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 such as [[#Weston]] or [[Sway]], or a desktop environment that includes a compositor like [[GNOME]] or [[KDE]].<br />
<br />
For the GPU driver and Wayland compositor to be compatible they must support the same buffer API. There are two main APIs: [[Wikipedia:Generic Buffer Management|GBM]] and [http://www.phoronix.com/scan.php?page=news_item&px=XDC2016-Device-Memory-API EGLStreams].<br />
<br />
{| class="wikitable"<br />
|-<br />
! Buffer API !! GPU driver support !! Wayland compositor support<br />
|-<br />
| GBM || All except [[NVIDIA]] || All<br />
|-<br />
| EGLStreams || [[NVIDIA]] || [[GNOME]], [[KDE]] ([https://www.phoronix.com/scan.php?page=news_item&px=EGLStreams-Merged-KWin-5.16 Plasma 5.16+])<br />
|-<br />
|}<br />
<br />
== Weston ==<br />
<br />
Weston is the reference implementation of a Wayland compositor. <br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{Pkg|weston}} package.<br />
<br />
=== Usage ===<br />
<br />
{{tip|Super (windows key) can be changed, see [[#Configuration|weston.ini]]}}<br />
<br />
{| class="wikitable"<br />
|+ '''Keyboard Shortcuts'''<br />
!Cmd<br />
!Action<br />
|-<br />
|{{ic|Ctrl+Alt+Backspace}}<br />
|Quit Weston<br />
|-<br />
|{{ic|Super+Scroll}} (or {{ic|PageUp}}/{{ic|PageDown}})<br />
|Zoom in/out of desktop<br />
|-<br />
|{{ic|Super+Tab}}<br />
|Switch windows<br />
|-<br />
|{{ic|Super+LMB}}<br />
|Move Window<br />
|-<br />
|{{ic|Super+MMB}}<br />
|Rotate Window<br />
|-<br />
|{{ic|Super+RMB}}<br />
|Resize Window <br />
|-<br />
|{{ic|Super+Alt+Scroll}}<br />
|Change window opacity<br />
|-<br />
|{{ic|Super+k}}<br />
|Force Kill Active Window<br />
|-<br />
|{{ic|Super+Up/Down}}<br />
|Switch Prev/Next Workspace<br />
|-<br />
|{{ic|Super+Shift+Up/Down}}<br />
|Grab Current Window and Switch Workspace<br />
|-<br />
|{{ic|Super+F''n''}}<br />
|Switch to Workspace ''n'' (e.g. F2)<br />
|-<br />
|{{ic|Super+s}}<br />
|Take a screenshot<br />
|-<br />
|{{ic|Super+r}}<br />
|Record a screencast<br />
|}<br />
<br />
To launch Weston natively (from a TTY) or to run Weston inside a running X session:<br />
<br />
$ weston<br />
<br />
Then within Weston, you can run the demos. To launch a terminal emulator:<br />
<br />
$ weston-terminal<br />
<br />
To move flowers around the screen:<br />
<br />
$ weston-flower <br />
<br />
To display images:<br />
<br />
$ weston-image image1.jpg image2.jpg...<br />
<br />
=== Configuration ===<br />
<br />
Weston's outputs differ slightly from those of {{ic|xorg.conf}} Monitors:<br />
<br />
$ ls /sys/class/drm<br />
card0<br />
card0-VGA-1<br />
card1<br />
card1-DVI-I-1<br />
card1-HDMI-A-1<br />
card1-VGA-2<br />
<br />
{{ic|card0}} is the unused built-in video adapter. The add-on adapter {{ic|card1}} is cabled to one HDMI and one DVI monitor, so the output names are {{ic|HDMI-A-1}} and {{ic|DVI-I-1}}.<br />
<br />
Following is an example configuration file. See {{man|5|weston.ini}} for more.<br />
<br />
{{hc|~/.config/weston.ini|<nowiki><br />
[core]<br />
# xwayland support<br />
xwayland=true<br />
<br />
[libinput]<br />
enable-tap=true<br />
<br />
[shell]<br />
#background-image=/usr/share/backgrounds/gnome/Aqua.jpg<br />
background-type=scale-crop<br />
background-color=0xff000000<br />
#background-color=0xff002244<br />
#panel-color=0x90ff0000<br />
panel-color=0x00ffffff<br />
panel-position=bottom<br />
#clock-format=none<br />
#animation=zoom<br />
#startup-animation=none<br />
close-animation=none<br />
focus-animation=dim-layer<br />
#binding-modifier=ctrl<br />
num-workspaces=6<br />
locking=false<br />
cursor-theme=Adwaita<br />
cursor-size=24<br />
<br />
# tablet options<br />
#lockscreen-icon=/usr/share/icons/gnome/256x256/actions/lock.png<br />
#lockscreen=/usr/share/backgrounds/gnome/Garden.jpg<br />
#homescreen=/usr/share/backgrounds/gnome/Blinds.jpg<br />
#animation=fade<br />
<br />
# for Laptop displays<br />
[output]<br />
name=LVDS1<br />
mode=preferred<br />
#mode=1680x1050<br />
#transform=90<br />
<br />
#[output]<br />
#name=VGA1<br />
# The following sets the mode with a modeline, you can get modelines for your preffered resolutions using the cvt utility<br />
#mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync<br />
#transform=flipped<br />
<br />
#[output]<br />
#name=X1<br />
#mode=1024x768<br />
#transform=flipped-270<br />
<br />
# on screen keyboard input method<br />
#[input-method]<br />
#path=/usr/lib/weston/weston-keyboard<br />
<br />
[keyboard]<br />
keymap_rules=evdev<br />
#keymap_layout=us,de<br />
#keymap_variant=colemak,<br />
#keymap_options=grp:shifts_toggle<br />
#keymap_options=caps:ctrl_modifier,shift:both_capslock_cancel<br />
repeat-rate=30<br />
repeat-delay=300<br />
<br />
# keymap_options from /usr/share/X11/xkb/rules/base.lst<br />
#numlock-on=true<br />
<br />
[terminal]<br />
font=monospace<br />
font-size=18<br />
<br />
[launcher]<br />
icon=/usr/share/weston/icon_flower.png<br />
path=/usr/bin/weston-flower<br />
<br />
[launcher]<br />
icon=/usr/share/icons/gnome/32x32/apps/utilities-terminal.png<br />
path=/usr/bin/weston-terminal --shell=/usr/bin/bash<br />
<br />
#[launcher]<br />
#icon=/usr/share/icons/gnome/32x32/apps/utilities-terminal.png<br />
#path=/usr/bin/gnome-terminal<br />
<br />
[launcher]<br />
icon=/usr/share/icons/hicolor/32x32/apps/firefox.png<br />
path=MOZ_GTK_TITLEBAR_DECORATION=client /usr/bin/firefox<br />
<br />
#[launcher]<br />
#icon=/usr/share/icons/Adwaita/32x32/apps/multimedia-volume-control.png<br />
#path=/usr/bin/st alsamixer -c0<br />
</nowiki><br />
}}<br />
<br />
Minimal {{ic|weston.ini}}:<br />
<br />
{{hc|~/.config/weston.ini|<nowiki><br />
[core]<br />
xwayland=true<br />
<br />
[keyboard]<br />
keymap_layout=gb<br />
<br />
[output]<br />
name=LVDS1<br />
mode=1680x1050<br />
transform=90<br />
<br />
[launcher]<br />
icon=/usr/share/icons/gnome/24x24/apps/utilities-terminal.png<br />
path=/usr/bin/weston-terminal<br />
<br />
[launcher]<br />
icon=/usr/share/icons/hicolor/24x24/apps/firefox.png<br />
path=/usr/bin/firefox<br />
<br />
</nowiki><br />
}}<br />
<br />
==== XWayland ====<br />
<br />
[[Install]] the {{Pkg|xorg-server-xwayland}} package.<br />
<br />
When you want to run an X application from within Weston, it spins up Xwayland to service the request. The following configuration is shown above:<br />
<br />
{{hc|~/.config/weston.ini|<br />
<nowiki>[core]<br />
xwayland=true</nowiki><br />
}}<br />
{{Note| if X is not already configured you may need to configure a keymap: [[Keyboard configuration in Xorg]]}}<br />
<br />
==== High DPI displays ====<br />
<br />
For [[wikipedia:Retina_Display|Retina]] or [[HiDPI]] displays, use:<br />
<br />
{{hc|~/.config/weston.ini|<br />
<nowiki>[output]<br />
name=...<br />
scale=2</nowiki><br />
}}<br />
<br />
==== Shell font ====<br />
<br />
Weston uses the default sans-serif font for window title bars, clocks, etc. See [[Font configuration#Replace or set default fonts]] for instructions on how to change this font.<br />
<br />
=== Tips and tricks ===<br />
<br />
==== Screencast recording ====<br />
<br />
Weston has built-in screencast recording which can be started and stopped by pressing the {{ic|Super}}+{{ic|r}} key combination. Screencasts are saved to the file {{ic|capture.wcap}} in the current working directory of Weston. The WCAP format is a lossless video format specific to Weston, which only records the difference in frames. To be able to play the recorded screencast, the WCAP file will need to be converted to a format which a media player can understand. First, convert the capture to the YUV pixel format:<br />
<br />
$ wcap-decode --yuv4mpeg2 capture.wcap > capture.y4m<br />
<br />
The YUV file can then be transcoded to other formats using [[FFmpeg]] or {{Pkg|x264}} (see {{ic|x264 -h}} for more).<br />
<br />
==== Window switching ====<br />
<br />
To switch windows with {{ic|Super+Space}} instead of {{ic|Super+Tab}} change {{ic|KEY_TAB}} to {{ic|KEY_SPACE}} in {{ic|desktop-shell/shell.c}} and recompile {{Pkg|weston}}.<br />
<br />
== GUI libraries ==<br />
<br />
See details on the [http://wayland.freedesktop.org/toolkits.html official website].<br />
<br />
=== GTK+ 3 ===<br />
<br />
The {{Pkg|gtk3}} package has 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: {{ic|GDK_BACKEND&#61;x11}}.<br />
<br />
=== Qt 5 ===<br />
<br />
To enable Wayland support in Qt 5, install the {{Pkg|qt5-wayland}} package.<br />
<br />
To run a Qt 5 app with the Wayland plugin [https://wiki.qt.io/QtWayland#How_do_I_use_QtWayland.3F], use {{ic|1=-platform wayland}} or {{ic|1=QT_QPA_PLATFORM=wayland-egl}} [[environment variable]]. To force the usage of [[X11]] on a Wayland session, use {{ic|1=QT_QPA_PLATFORM=xcb}}.<br />
<br />
=== Clutter ===<br />
<br />
The Clutter toolkit has a Wayland backend that allows it to run as a Wayland client. The backend is enabled in the {{Pkg|clutter}} package.<br />
<br />
To run a Clutter app on Wayland, set {{ic|CLUTTER_BACKEND&#61;wayland}}.<br />
<br />
=== SDL2 ===<br />
<br />
To run a SDL2 application on Wayland, set {{ic|SDL_VIDEODRIVER&#61;wayland}}.<br />
<br />
=== GLFW ===<br />
<br />
To use GLFW with the Wayland backend, install the {{Pkg|glfw-wayland}} package (instead of {{Pkg|glfw-x11}}).<br />
<br />
=== GLEW ===<br />
<br />
To use GLEW with the Wayland backend, install the {{Pkg|glew-wayland}} package (instead of {{Pkg|glew}}).<br />
<br />
=== EFL ===<br />
<br />
EFL has complete Wayland support. To run a EFL application on Wayland, see Wayland [http://wayland.freedesktop.org/efl.html project page].<br />
<br />
== Display managers ==<br />
<br />
Below listed display managers which supports running Wayland compositors. The Type column indicates whether the display manager supports running on Wayland or not.<br />
<br />
{| class="wikitable sortable"<br />
! Name<br />
! Type<br />
! Description<br />
|-<br />
| GDM<br />
| Runs on Wayland<br />
| [[GNOME]] display manager.<br />
|-<br />
| LightDM<br />
| Runs on X11<br />
| Cross-desktop display manager.<br />
|-<br />
| SDDM<br />
| Runs on X11<br />
| QML-based display manager.<br />
|}<br />
<br />
== Compositors ==<br />
<br />
{| class="wikitable sortable"<br />
! Name<br />
! Type<br />
! Description<br />
|-<br />
| GNOME<br />
| Stacking<br />
| See [[GNOME#Starting]].<br />
|-<br />
| sway<br />
| Tiling<br />
| [[Sway]] is an i3-compatible window manager for Wayland. [https://github.com/SirCmpwn/sway GitHub]<br />
|-<br />
| Enlightenment<br />
| Stacking and tiling<br />
| [https://www.enlightenment.org/about-wayland More Info]<br />
|-<br />
| KDE Plasma<br />
| Stacking<br />
| See [[KDE#Starting Plasma]]<br />
|-<br />
| Orbment<br />
| Tiling<br />
| [https://github.com/Cloudef/orbment orbment] (previously loliwm) is an abandonned tiling WM for Wayland.<br />
|-<br />
| Velox<br />
| Tiling<br />
| [[Velox]] is a simple window manager based on swc. It is inspired by [[dwm]] and [[xmonad]].<br />
|-<br />
| Orbital<br />
| Stacking<br />
| [https://github.com/giucam/orbital Orbital] is a Wayland compositor and shell (more akin to a WM than a DE) using Qt5 and Weston. The goal of the project is to build a simple but flexible and good looking Wayland desktop.<br />
|-<br />
| Liri Shell<br />
| Stacking<br />
| [https://github.com/lirios/shell Liri Shell] is the desktop shell for [[Liri]], built using QtQuick and QtCompositor as a compositor for Wayland.<br />
|-<br />
| Maynard<br />
| ''(Unclear)''<br />
| [https://github.com/raspberrypi/maynard Maynard] is a desktop shell client for Weston based on GTK. It was based on weston-gtk-shell, a project by Tiago Vignatti. Not under development. [https://github.com/raspberrypi/maynard/issues/54#issuecomment-303422302][https://github.com/raspberrypi/maynard/issues/55#issuecomment-373808518]<br />
|-<br />
| Motorcar<br />
| ''(Unclear)''<br />
| [https://github.com/evil0sheep/motorcar Motorcar] is a Wayland compositor to explore 3D windowing using virtual reality.<br />
|-<br />
| Way Cooler<br />
| Tiling<br />
| [https://github.com/way-cooler/way-cooler Way Cooler] is a customizable (Lua config files) Wayland compositor written in Rust. Inspired by i3 and awesome.<br />
|-<br />
| Maze Compositor<br />
| Floating 3D<br />
| [https://github.com/imbavirus/mazecompositor Maze Compositor] is a 3D Qt based Wayland compositor<br />
|-<br />
| Cage<br />
| Kiosk<br />
| [https://www.hjdskes.nl/projects/cage/ Cage] is a Wayland compositor that displays a single fullscreen application<br />
|-<br />
| Greenfield<br />
| Stacking<br />
| [https://github.com/udevbe/greenfield Greenfield] is a Wayland compositor that runs in a web browser and can display remote applications<br />
|-<br />
| Grefsen<br />
| Floating<br />
| [https://github.com/ec1oud/grefsen Grefsen] is a Qt/Wayland compositor providing a minimal desktop environment.<br />
|-<br />
| Waymonad<br />
| Tiling<br />
| [https://github.com/waymonad/waymonad Waymonad] is a Wayland compositor based on ideas from and inspired by xmonad <br />
|-<br />
| wayfire<br />
| Stacking<br />
| [https://github.com/WayfireWM/wayfire Wayfire] is a general purpose compositor.<br />
|}<br />
<br />
Some of the above may support [[display manager]]s. Check {{ic|/usr/share/wayland-sessions/''compositor''.desktop}} to see how they are started.<br />
<br />
==Troubleshooting==<br />
<br />
=== Gamma ===<br />
<br />
While [[Redshift]] doesn't support Wayland (without a patch) it is possible to apply the desired temperature in [[tty]] before starting a compositor. For example:<br />
<br />
redshift -m drm -PO 3000<br />
<br />
Otherwise some compositors feature this option during runtime:<br />
<br />
* [[GNOME]] provides features like [[Redshift]] out-of-the-box and has Wayland support. Enable [[GNOME#Night_Light|Night Light]] in Display settings.<br />
* Likewise, [[KDE Plasma]] provides ''Night Color'' which is Wayland-only.<br />
* On Sway 1.0 and other wlroots-based compositors, {{AUR|redshift-wlr-gamma-control-git}} can be used.<br />
* On Orbital, {{AUR|redshift-wayland-git}} can be used.<br />
<br />
=== LLVM assertion failure ===<br />
<br />
If you get an LLVM assertion failure, you need to rebuild {{Pkg|mesa}} without Gallium LLVM until this problem is fixed. <br />
<br />
This may imply disabling some drivers which require LLVM. You may also try exporting the following, if having problems with hardware drivers: <br />
<br />
$ export EGL_DRIVER=/usr/lib/egl/egl_gallium.so<br />
<br />
=== Slow motion, graphical glitches, and crashes ===<br />
<br />
Gnome-shell users may experience display issues when they switch to Wayland from X. One of the root cause might be the {{ic|1=CLUTTER_PAINT=disable-clipped-redraws:disable-culling}} set by yourself for Xorg-based gnome-shell. Just try to remove it from {{ic|/etc/environment}} or other rc files to see if everything goes back to normal.<br />
<br />
=== Electron based applications / VS Code ===<br />
<br />
Try running with GDK_BACKEND=x11. Example alias:<br />
<br />
$ alias code='GDK_BACKEND=x11 /usr/bin/code 2>/dev/null'<br />
<br />
=== Screen recording ===<br />
<br />
{{AUR|green-recorder}} and {{AUR|obs-gnome-screencast}} support screen recording on Wayland using GNOME screencast feature.<br />
<br />
{{AUR|wf-recorder-git}} is a video recorder for wlroots-based compositors. {{AUR|wlrobs-hg}} is obs-studio plugin that allows you to screen capture on wlroots based wayland compositors<br />
<br />
=== Remote display ===<br />
<br />
* (20190503) {{pkg|wlroots}} (used by [[sway]]) offers an RDP backend since version 0.6 [https://github.com/swaywm/wlroots/blob/master/docs/env_vars.md].<br />
* (20180401) mutter has now remote desktop enabled at compile time, see [https://wiki.gnome.org/Projects/Mutter/RemoteDesktop] and {{Pkg|gnome-remote-desktop}} for details.<br />
* There was a merge of FreeRDP into Weston in 2013, enabled via a compile flag. The {{Pkg|weston}} package has it enabled since version 6.0.0.<br />
* {{AUR|waypipe-git}} is a transparent proxy for Wayland applications, with a wrapper command to run over [[SSH]]<br />
<br />
=== Input grabbing in games, remote desktop and VM windows ===<br />
<br />
In contrast to Xorg, Wayland does not allow exclusive input device grabbing, also known as active or explicit grab (e.g. [https://tronche.com/gui/x/xlib/input/XGrabKeyboard.html keyboard], [https://tronche.com/gui/x/xlib/input/XGrabPointer.html mouse]), instead, it depends on the Wayland compositor to pass keyboard shortcuts and confine the pointer device to the application window.<br />
<br />
This change in input grabbing breaks current applications' behavior, meaning:<br />
<br />
* Hotkey combinations and modifiers will be caught by the compositor and won't be sent to remote desktop and virtual machine windows.<br />
* 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.<br />
<br />
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.<br />
<br />
These extensions are already included in {{pkg|wayland-protocols}}, and supported by {{pkg|xorg-server-xwayland}} 1.20.<br />
<br />
The related extensions are:<br />
<br />
* [https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml XWayland keyboard grabbing protocol]<br />
* [https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml Compositor shortcuts inhibit protocol]<br />
* [https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/relative-pointer/relative-pointer-unstable-v1.xml Relative pointer protocol]<br />
* [https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml Pointer constraints protocol]<br />
<br />
Supporting Wayland compositors:<br />
<br />
* Mutter, [[GNOME]]'s compositor [https://bugzilla.gnome.org/show_bug.cgi?id=783342 since release 3.28].<br />
<br />
Supporting widget toolkits:<br />
<br />
* GTK since release 3.22.18.<br />
<br />
==== wlroots input inhibitor protocol ====<br />
<br />
[https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-input-inhibitor-unstable-v1.xml Input inhibitor] is a Wayland protocol which was defined the by developers of Sway and wlroots and is overlapping Wayland's {{ic|Compositor shortcuts inhibit}} protocol.<br/><br />
Sway and wlroots do not support the {{ic|Compositor shortcuts inhibit}} and {{ic|XWayland keyboard grabbing}} protocols, and it seems they are against adding support for the latter [https://github.com/swaywm/wlroots/pull/635#issuecomment-366385856] [https://github.com/swaywm/wlroots/issues/624#issuecomment-367276476].<br/><br />
No widget toolkit or application is known to support this protocol.<br />
<br />
== See also ==<br />
<br />
* [https://fedoraproject.org/wiki/How_to_debug_Wayland_problems Article about Wayland debugging on Fedora Wiki]<br />
* [[Cursor themes]]<br />
* [https://bbs.archlinux.org/viewtopic.php?id=107499 Arch Linux forum discussion]<br />
* [http://wayland.freedesktop.org/docs/html/ Wayland documentation online]</div>Varshithttps://wiki.archlinux.org/index.php?title=Screen_capture&diff=578238Screen capture2019-07-28T13:55:16Z<p>Varshit: /* Weston */ Corrected Typo</p>
<hr />
<div>[[Category:System administration]]<br />
[[Category:Multimedia]]<br />
[[cs:Taking a screenshot]]<br />
[[es:Screen capture]]<br />
[[fr:Capture d'écran]]<br />
[[ja:スクリーンショットの取得]]<br />
[[ru:Taking a screenshot]]<br />
[[zh-hans:Taking a screenshot]]<br />
{{Related articles start}}<br />
{{Related|Key binding}}<br />
{{Related articles end}}<br />
This article lists and describes [[Wikipedia:Screenshot|screenshot]] and [[Wikipedia:Screencast|screencast]] software.<br />
<br />
== Screenshot software ==<br />
<br />
=== Dedicated software ===<br />
<br />
* {{App|Deepin Screenshot|Quite easy-to-use screenshot tool. Features: global hotkey to trigger screenshot tool, take screenshot of a selected area, easy to add text and line drawings onto the screenshot. Python/Qt5 based.|https://www.deepin.org/en/original/deepin-screenshot/|{{Pkg|deepin-screenshot}}}}<br />
* {{App|Escrotum|Screen capture using pygtk, inspired by scrot.|https://github.com/Roger/escrotum|{{AUR|escrotum-git}}}}<br />
* {{App|[[Flameshot]]|Qt5 based software for interactive screenshot taking. Select the desired area, draw with different tools and enjoy the customization capabilities.|https://github.com/lupoDharkael/flameshot|{{Pkg|flameshot}}}}<br />
* {{App|[[Wikipedia:GNOME Screenshot|GNOME Screenshot]]|Screenshot tool for the GNOME desktop.|https://gitlab.gnome.org/GNOME/gnome-screenshot/|{{Pkg|gnome-screenshot}}}}<br />
* {{App|grim|Grab images from a Wayland compositor.|https://github.com/emersion/grim|{{Pkg|grim}}}}<br />
* {{App|gscreenshot|Simple GTK+ screenshot utility with delays, selection, and copy-to-clipboard functionality.|https://github.com/thenaterhood/gscreenshot|{{AUR|gscreenshot}}}}<br />
* {{App|imgur-screenshot|Take screenshot selection, upload to [https://imgur.com imgur]. + more cool things|https://github.com/jomo/imgur-screenshot|{{AUR|imgur-screenshot-git}}}}<br />
* {{App|Lightscreen|Simple tool to automate the tedious process of saving and cataloging screenshots, it operates as a hidden background process that is invoked with one (or multiple) hotkeys and then saves a screenshot file to disk according to the user's preferences.|http://lightscreen.com.ar|{{AUR|lightscreen}}}}<br />
* {{App|LXQt Screenshot|Screenshot tool for LXQt. Run with {{ic|lximage-qt --screenshot}}.|https://github.com/lxde/lximage-qt|{{Pkg|lximage-qt}}}}<br />
* {{App|maim|Simple command line utility that takes screenshots. It is meant to replace scrot and performs better than scrot in many ways.|https://github.com/naelstrof/maim|{{Pkg|maim}}}}<br />
* {{App|MATE Screenshot|Screenshot tool for the MATE desktop.|http://mate-desktop.org|{{Pkg|mate-utils}}}}<br />
* {{App|ScreenCloud|Take a screenshot of the entire screen or to select an area and then uploading the screenshot to [https://imgur.com imgur]+auth. has plugins and system tray.|http://screencloud.net/|{{AUR|screencloud}}}}<br />
* {{App|ScreenGrab|Cross-platform application designed to quickly take screenshots (Qt).|https://github.com/DOOMer/screengrab|{{Pkg|screengrab}}}}<br />
* {{App|[[Wikipedia:Scrot|Scrot]]|Simple command-line screenshot utility for X.|http://freecode.com/projects/scrot|{{Pkg|scrot}}}}<br />
* {{App|Shutter|Rich screenshot and editing program. Supports [https://hyp.is/AVQUNTRUH9ZO4OKSlue9/askubuntu.com/questions/252281/how-do-i-take-screenshots-with-a-delay/260178 delay]. |http://shutter-project.org/|{{AUR|shutter}}}}<br />
* {{App|Spectacle|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. Part of {{Grp|kdegraphics}}.|https://github.com/KDE/spectacle/|{{Pkg|spectacle}}}}<br />
* {{App|Xfce4 Screenshooter|Application and Xfce4 panel plugin to take screenshots about the entire screen, the active window or a selected region. Part of {{Grp|xfce4-goodies}}.|http://goodies.xfce.org/projects/applications/xfce4-screenshooter|{{Pkg|xfce4-screenshooter}}}}<br />
* {{App|xwd|X Window System image dumping utility|https://www.x.org/|{{Pkg|xorg-xwd}}}}<br />
<br />
==== xwd ====<br />
<br />
{{man|1|xwd}} provided by {{Pkg|xorg-xwd}}<br />
<br />
Take a screenshot of the root window:<br />
<br />
$ xwd -root -out screenshot.xwd<br />
<br />
{{Note|The methods for taking shots of active windows with {{ic|import}} can also be used with {{ic|xwd}}.}}<br />
<br />
==== scrot ====<br />
<br />
{{Pkg|scrot}} enables taking screenshots from the CLI and offers features such as a user-definable time delay. Unless instructed otherwise, it saves the file in the current working directory.<br />
<br />
$ scrot -t 20 -d 5<br />
<br />
The above command saves a dated ''.png'' file, along with a thumbnail (20% of original), for Web posting. It provides a 5 second delay before capturing in this instance.<br />
<br />
You can also use standard date and time formatting when saving to a file. e.g.,<br />
<br />
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png<br />
<br />
saves the screenshot in a filename with the current year, month, date, hours, minutes, and seconds to a folder in your home directory called "screenshots" <br />
<br />
See {{man|1|scrot}} for more information. You can simply automate the file to uploaded like so [https://github.com/kaihendry/Kai-s--HOME/tree/master/bin].<br />
<br />
{{Note|In some window managers ({{AUR|dwm}}, {{Pkg|xmonad}} and possibly others) {{ic|scrot -s}} does not work properly when running via window manager's keyboard shortcut, this can be worked around by prepending scrot invocation with a short pause {{ic|sleep 0.2; scrot -s}}.}}<br />
<br />
==== escrotum ====<br />
<br />
{{AUR|escrotum-git}} screen capture using PyGTK, inspired by scrot<br />
<br />
Created because scrot has glitches when selection mode is used with refreshing windows.<br />
<br />
Because the command line interface its almost the same as scrot, can be used as a replacement of it.<br />
<br />
==== maim ====<br />
<br />
{{Pkg|maim}} is aimed to be an improved scrot.<br />
<br />
Takes screenshots of your desktop using [https://github.com/naelstrof/slop slop] for regions. It is meant to overcome shortcomings of scrot.<br />
<br />
=== Desktop environment specific ===<br />
<br />
==== Spectacle ====<br />
<br />
If you use [[KDE]], you might want to use {{ic|Spectacle}}.<br />
<br />
Spectacle is provided by the {{Pkg|spectacle}} package.<br />
<br />
==== Xfce Screenshooter ====<br />
<br />
If you use [[Xfce]] you can install {{Pkg|xfce4-screenshooter}} and then add a keyboard binding:<br />
<br />
''Xfce Menu > Settings > Keyboard > Application Shortcuts''<br />
<br />
If you want to skip the Screenshot prompt, type {{ic|$ xfce4-screenshooter -h}} in terminal for the options.<br />
<br />
==== GNOME ====<br />
<br />
[[GNOME]] users can press {{ic|PrintScreen}} or ''Apps > Accessories > Take Screenshot''. You may need to install {{Pkg|gnome-screenshot}}.<br />
<br />
==== Cinnamon ====<br />
<br />
The default installation of [[Cinnamon]] does not provide a screenshot utility. Installing {{Pkg|gnome-screenshot}} will enable screenshots through the ''Menu > Accessories > Screenshot'' or by pressing {{ic|PrintScreen}}.<br />
<br />
==== Other desktop environments or window managers ====<br />
<br />
For other desktop environments such as [[LXDE]] or window managers such as [[Openbox]] and [[Compiz]], one can add the above commands to the hotkey to take the screenshot. For example,<br />
<br />
$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png<br />
<br />
Note that {{ic|import}} is part of the {{Pkg|imagemagick}} package. Adding the above command to the {{ic|PrintScreen}} key to Compiz allows to take the screenshot to the Pictures folder according to date and time.<br />
Notice that the {{ic|rc.xml}} file in Openbox does not understand commas; so, in order to bind that command to the {{ic|PrintScreen}} key in Openbox, you need to add the following to the keyboard section of your {{ic|rc.xml}} file:<br />
<br />
{{hc|rc.xml|<nowiki><br />
<!-- Screenshot --><br />
<keybind key="Print"><br />
<action name="Execute"><br />
<command>sh -c "import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png"</command><br />
</action><br />
</keybind><br />
</nowiki>}}<br />
<br />
If the {{ic|Print}} above does not work, see [[Extra keyboard keys]] and use different ''keysym'' or ''keycode''.<br />
<br />
=== Packages including a screenshot utility ===<br />
<br />
==== ImageMagick/GraphicsMagick ====<br />
<br />
See [[ImageMagick#Screenshot taking]].<br />
<br />
==== GIMP ====<br />
<br />
You also can take screenshots with [[GIMP]] (''File > Create > Screenshot''...).<br />
<br />
==== imlib2 ====<br />
<br />
{{Pkg|imlib2}} provides a binary {{ic|imlib2_grab}} to take screenshots. To take a screenshot of the full screen, type:<br />
<br />
$ imlib2_grab screenshot.png<br />
<br />
Note that {{Pkg|scrot}} actually uses {{ic|imlib2}}.<br />
<br />
==== FFmpeg ====<br />
<br />
See [[FFmpeg#Screen capture]].<br />
<br />
== Screencast software ==<br />
<br />
See also [[FFmpeg#Screen capture]] and [[Wikipedia:Comparison of screencasting software]].<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|Byzanz|Simple screencast tool that produces GIF animations.|https://blogs.gnome.org/otte/2009/08/30/byzanz-0-2-0/|{{Pkg|byzanz}}}}<br />
* {{App|Deepin Screen Recorder|Screen recorder application for Deepin desktop.|https://www.deepin.org/en/original/deepin-screen-recorder/|{{Pkg|deepin-screen-recorder}}}}<br />
* {{App|FFcast|FFmpeg-based screencast tool written in Bash.|https://github.com/lolilolicon/FFcast|{{AUR|ffcast}}}}<br />
* {{App|Green Recorder|Simple yet functional desktop recorder for Linux systems.|https://github.com/green-project/green-recorder|{{AUR|green-recorder}}}}<br />
* {{App|Kazam|Screencasting program with design in mind. Handles multiscreen setups.|https://launchpad.net/kazam|{{AUR|kazam}}}}<br />
* {{App|[[Wikipedia:Open Broadcaster Software|OBS]]|Video recording and live streaming application.|https://obsproject.com/|{{Pkg|obs-studio}}}}<br />
:* {{AUR|obs-gnome-screencast}} – plugin for GNOME screencast feature, supports Wayland.<br />
* {{App|[[Wikipedia:Peek_(software)|Peek]]|Simple screencast tool that produces GIF, APNG, WebM or MP4 animations.|https://github.com/phw/peek|{{Pkg|peek}}}}<br />
* {{App|RecordItNow|Plugin based desktop recorder for KDE.|http://recorditnow.sourceforge.net/|{{AUR|recorditnow}}}}<br />
* {{App|[[RecordMyDesktop]]|Easy to use utility that records your desktop into the ogg format with a CLI, GTK+ or Qt interface. (inactive development)|http://recordmydesktop.sourceforge.net/|CLI: {{Pkg|recordmydesktop}}, GTK+: {{Pkg|gtk-recordmydesktop}}, Qt: {{AUR|qt-recordmydesktop}}}}<br />
* {{App|[[Wikipedia:SimpleScreenRecorder|SimpleScreenRecorder]]|Feature-rich screen recorder written in C++/Qt5 that supports X11 and OpenGL.|http://www.maartenbaert.be/simplescreenrecorder/|{{Pkg|simplescreenrecorder}}}}<br />
* {{App|VokoScreen|Simple screencast GUI tool using FFmpeg.|http://www.kohaupt-online.de/hp|{{AUR|vokoscreen}}}}<br />
* {{App|[[Wikipedia:XVidCap|XVidCap]]|Application used for recording a screencast or digital recording of an X Window System screen output with an audio narration.|http://xvidcap.sourceforge.net/|{{AUR|xvidcap}}}}<br />
<br />
== Wayland ==<br />
<br />
See [[Wayland#Screencast recording]].<br />
<br />
== Terminal ==<br />
<br />
{{Expansion|Add subsection about [https://intoli.com/blog/terminal-recorders/ terminal recorders].}}<br />
<br />
=== Capture with ANSI codes ===<br />
<br />
You can use the {{man|1|script}} command, part of the {{Pkg|util-linux}} package.<br />
Just run {{ic|script}} and from that moment, all the output is going to be saved to the {{ic|typescript}} file, including the ANSI codes.<br />
<br />
Once you are done, just run {{ic|exit}} and the {{ic|typescript}} would ready. The resulting file can be converted to HTML using the {{AUR|ansi2html}} package, from the [[AUR]].<br />
<br />
To convert the {{ic|typescript}} file to {{ic|typescript.html}}, do the following:<br />
<br />
$ ansi2html --bg=dark < typescript > typescript.html<br />
<br />
Actually, '''some''' commands can be piped directly to ansi2html:<br />
<br />
$ ls --color|ansi2html --bg=dark >output.html<br />
<br />
That does not work on every single case, so in those cases, using {{ic|script}} is mandatory.<br />
<br />
=== Framebuffer ===<br />
<br />
Install a [[framebuffer]] and use {{Pkg|fbgrab}} or {{Pkg|fbdump}} to take a screenshot.<br />
<br />
=== Virtual console ===<br />
<br />
If you merely want to capture the text in the console and not an actual image, you can use {{ic|setterm}}, which is part of the {{Pkg|util-linux}} package. The following command will dump the textual contents of virtual console 1 to a file {{ic|screen.dump}} in the current directory:<br />
<br />
# setterm -dump 1 -file screen.dump<br />
<br />
Root permission is needed because the contents of {{ic|/dev/vcs1}} need to be read.</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575274User:Varshit/vector.css2019-06-12T15:09:47Z<p>Varshit: minoredit</p>
<hr />
<div></div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575273User:Varshit/vector.css2019-06-12T15:09:00Z<p>Varshit: minoredit</p>
<hr />
<div>#content,body,div,li,.selected,h1,h2,h3,h4,h5,h6{background:#000000;color:#c2c2c2}a:link{color:#8fd9f7}a:visited{color:#bea4fa}a:active{color:#f7ef51}</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575272User:Varshit/vector.css2019-06-12T15:06:36Z<p>Varshit: minoredit</p>
<hr />
<div>#content,body,div,li{background:#000000;color:#c2c2c2}a:link{color:#8fd9f7}a:visited{color:#bea4fa}a:active{color:#f7ef51}</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575271User:Varshit/vector.css2019-06-12T15:02:39Z<p>Varshit: minoredit</p>
<hr />
<div>#content,body{background:#000000;color:#dddddd}</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575270User:Varshit/vector.css2019-06-12T15:02:12Z<p>Varshit: minoredit</p>
<hr />
<div>#content{background:#000000;color:#dddddd}</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=575269User:Varshit/vector.css2019-06-12T15:01:02Z<p>Varshit: background</p>
<hr />
<div>background:black</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=573698Anbox2019-05-22T18:06:09Z<p>Varshit: Fixed typo</p>
<hr />
<div>[[Category:Virtualization]]<br />
Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
<br />
== Installation ==<br />
<br />
[[Install]] {{AUR|anbox-git}}, {{AUR|anbox-image}} (or {{AUR|anbox-image-gapps}} if you want to include Google's Apps and houdini), {{AUR|anbox-modules-dkms-git}} and {{AUR|anbox-bridge}})<br />
<br />
[[Start/enable]] the following services:<br />
<br />
* {{ic|anbox-container-manager.service}}<br />
<br />
<br />
You must execute {{ic|anbox-bridge}} every time before starting {{ic|anbox}} in order to get network working in anbox.<br />
<br />
Now, you can run the android applications on your desktop's launcher on '''Other''' category.<br />
<br />
If you want to use adb to debug, install {{Pkg|android-tools}}<br />
<br />
$ adb shell</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=573695Anbox2019-05-22T17:48:49Z<p>Varshit: sorry</p>
<hr />
<div>[[Category:Virtualization]]<br />
Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
<br />
== Installation ==<br />
<br />
[[Install]] {{AUR|anbox-git}}, {{AUR|anbox-image}} (or {{AUR|anbox-image-gapps}} if you want to include Google's Apps and houdini), {{AUR|anbox-modules-dkms-git}} and {{AUR|anbox-bridge}}.<br />
<br />
[[Start/enable]] the following services:<br />
<br />
* {{ic|anbox-container-manager.service}}<br />
<br />
<br />
You must execute {{ic|anbox-bridge}} every time before starting {{ic|anbox}} in order to get network working in anbox.<br />
<br />
Now, you can run the android applications on your desktop's launcher on '''Other''' category.<br />
<br />
If you want to use adb to debug, install {{Pkg|android-tools}}<br />
<br />
$ adb shell</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=573694Anbox2019-05-22T17:48:00Z<p>Varshit: /* Installation */ Fixed and removed unnecessities</p>
<hr />
<div>[[Category:Virtualization]]<br />
Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
<br />
== Installation ==<br />
<br />
[[Install]] {{AUR|anbox-git}}, {{AUR|anbox-image}} (or {{AUR|anbox-image-gapps}} if you want to include Google's Apps and houdini), {{AUR|anbox-modules-dkms-git}} and {{AUR|anbox-bridge}}.<br />
<br />
[[Start/enable]] the following services:<br />
<br />
* {{ic|anbox-container-manager.service}}<br />
<br />
<br />
You must execute `anbox-bridge` every time before starting `anbox` in order to get network working in anbox.<br />
<br />
Now, you can run the android applications on your desktop's launcher on '''Other''' category.<br />
<br />
If you want to use adb to debug, install {{Pkg|android-tools}}<br />
<br />
$ adb shell</div>Varshithttps://wiki.archlinux.org/index.php?title=Talk:Dracut&diff=573601Talk:Dracut2019-05-21T06:40:38Z<p>Varshit: added discussion page</p>
<hr />
<div>Discussion page for Dracut</div>Varshithttps://wiki.archlinux.org/index.php?title=Dracut&diff=573600Dracut2019-05-21T06:39:27Z<p>Varshit: added .</p>
<hr />
<div>See this : [https://lists.archlinux.org/pipermail/arch-dev-public/2019-May/029570.html Mkinitcpio replacement with Dracut] .<br />
<br />
Dracut creates an initial image used by the kernel for preloading the block device modules (such as IDE, SCSI or RAID) which are needed to access the root filesystem. This replaces mkinitcpio in ArchLinux in the near future.</div>Varshithttps://wiki.archlinux.org/index.php?title=Dracut&diff=573599Dracut2019-05-21T06:39:02Z<p>Varshit: edited archwiki to add page for drakut</p>
<hr />
<div>See this : [https://lists.archlinux.org/pipermail/arch-dev-public/2019-May/029570.html Mkinitcpio replacement with Dracut] .<br />
<br />
Dracut creates an initial image used by the kernel for preloading the block device modules (such as IDE, SCSI or RAID) which are needed to access the root filesystem. This replaces mkinitcpio in ArchLinux in the near future</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=573566User:Varshit/vector.css2019-05-20T14:40:30Z<p>Varshit: css</p>
<hr />
<div></div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=573501User:Varshit/vector.css2019-05-19T13:59:50Z<p>Varshit: css</p>
<hr />
<div>body { background-color: black; }</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=573500User:Varshit/vector.css2019-05-19T13:59:24Z<p>Varshit: css</p>
<hr />
<div>body { background-color: lightblue; }</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit/vector.css&diff=573499User:Varshit/vector.css2019-05-19T13:58:08Z<p>Varshit: Created page with "body { font-size: larger; }"</p>
<hr />
<div>body { font-size: larger; }</div>Varshithttps://wiki.archlinux.org/index.php?title=Sway&diff=571808Sway2019-04-21T11:12:09Z<p>Varshit: /* Custom keybindings */ Sorry.It was light-git.</p>
<hr />
<div>[[Category:Tiling WMs]]<br />
[[Category:Dynamic WMs]]<br />
[[ja:Sway]]<br />
''sway'' is a compositor for [[Wayland]] designed to be fully compatible with [[i3]]. According to [https://swaywm.org the official website]:<br />
:Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration and supports most of i3's features, plus a few extras.<br />
<br />
== Status ==<br />
<br />
Sway is 100% compatible with i3, aside from several features that only make sense with X11. A detailed accounting of completed features can be found at the following links:<br />
*[https://github.com/SirCmpwn/sway/issues/2#issue-99897933 i3 feature support]<br />
*[https://github.com/SirCmpwn/sway/issues/98 IPC feature support]<br />
*[https://github.com/SirCmpwn/sway/issues/343 i3bar compatibility]<br />
*[https://github.com/SirCmpwn/sway/issues/307 Airblader fork features]<br />
<br />
== Installation ==<br />
<br />
''sway'' can be [[install]]ed with the {{Pkg|sway}} package. The development version can be installed using {{AUR|wlroots-git}} and {{AUR|sway-git}}. It's advisable to always update ''wlroots'' when you update ''sway'', due to tight dependencies.<br />
<br />
You may also install {{Pkg|swaylock}} and {{Pkg|swayidle}} to lock your screen and set up an idle manager.<br />
<br />
== Starting ==<br />
<br />
{{Tip|See [[Wayland#GUI libraries]] for appropriate environment variables to set for window decoration libraries.}}<br />
<br />
=== From a TTY ===<br />
<br />
To start Sway, simply type ''sway'' from a TTY.<br />
<br />
=== From a display manager ===<br />
<br />
{{Note|Sway does not support display managers officially.}}<br />
<br />
The sway session is located at {{ic|/usr/share/wayland-sessions/sway.desktop}}. It is automatically recognized by modern display managers like [[GDM]] and [[SDDM]].<br />
<br />
== Configuration ==<br />
<br />
If you already use i3, then copy your i3 configuration to {{ic|~/.config/sway/config}} and it should work out of the box. Otherwise, copy the sample configuration file to {{ic|~/.config/sway/config}}. It is located at {{ic|/etc/sway/config}}, unless the {{ic|DFALLBACK_CONFIG_DIR}} flag has been set. See {{man|5|sway}} for information on the configuration.<br />
<br />
=== Keymap ===<br />
<br />
By default, sway starts with the US QWERTY keymap. To configure per-input:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
input * xkb_layout us,de,ru"<br />
input * xkb_variant "colemak,,typewriter"<br />
input * xkb_options "grp:win_space_toggle"<br />
input "MANUFACTURER1 Keyboard" xkb_model "pc101"<br />
input "MANUFACTURER2 Keyboard" xkb_model "jp106"<br />
</nowiki>}}<br />
<br />
More details are available in {{man|7|xkeyboard-config}} and {{man|5|sway-input}}.<br />
<br />
The keymap can also be configured using environment variables ({{ic|XKB_DEFAULT_LAYOUT}}, {{ic|XKB_DEFAULT_VARIANT}}, etc.) when starting sway.<br />
<br />
=== Statusbar ===<br />
<br />
Installing the program {{Pkg|i3status}} is an easy way to get a practical, default statusbar. All one has to do is add following snippet at the end of your sway config:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
bar {<br />
status_command i3status<br />
}<br />
</nowiki>}}<br />
<br />
If you want to achieve colored output of i3status, you can adjust following part in the i3status configuration:<br />
<br />
{{hc|~/.config/i3status/config|<nowiki><br />
general {<br />
colors = true<br />
interval = 5<br />
}<br />
</nowiki>}}<br />
<br />
In both examples, the system-wide installed configuration files has been copied over to the user directory and then modified.<br />
<br />
=== Wallpaper ===<br />
<br />
This line, which can be appended at the end of your sway configuration, sets a background image on all displays (output matches all with name {{ic|"*"}}):<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
output "*" background /home/onny/pictures/fredwang_norway.jpg fill<br />
</nowiki>}}<br />
<br />
Of course you have to replace the file name and path according to your wallpaper.<br />
<br />
=== Input devices ===<br />
<br />
Its possible to tweak specific input device configurations. For example to enable tap-to-click and natural scolling for a touchpad, add an input block:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
input "2:14:ETPS/2_Elantech_Touchpad" {<br />
tap enabled<br />
natural_scroll enabled<br />
}<br />
</nowiki>}}<br />
<br />
Where as the device identifier can be queried with:<br />
<br />
swaymsg -t get_inputs<br />
<br />
The output from the command, sometimes has a "\" to escape symbols like "/" (ie {{ic|"2:14:ETPS\/2_Elantech_Touchpad"}}) and it needs to be removed.<br />
<br />
More documentation and options like acceleration profiles can be found in {{man|5|sway-input}}.<br />
<br />
=== HiDPI ===<br />
<br />
Set your displays scale factor with the {{ic|output}} command in your config file. The scale factor can be fractional, but it is usually 2 for HiDPI screens.<br />
<br />
output <name> scale <factor><br />
<br />
You can find your display name with the following command:<br />
<br />
swaymsg -t get_outputs<br />
<br />
=== Custom keybindings ===<br />
<br />
[[Extra keyboard keys|Special keys]] on your keyboard can be used to execute commands, for example to control your volume or your monitor brightness:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%<br />
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%<br />
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle<br />
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle<br />
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-<br />
bindsym XF86MonBrightnessUp exec brightnessctl set +5%<br />
</nowiki>}}<br />
<br />
To control brightness you can use {{AUR|brightnessctl}} or {{AUR|light-git}}. For a list of utilities to control brightness and color correction see [[Backlight]].<br />
<br />
=== Xresources ===<br />
<br />
Copy {{ic|~/.Xresources}} to {{ic|~/.Xdefaults}} to use them in Sway.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Autostart on login ===<br />
<br />
To start sway from tty1 on login with default US keyboard, edit:<br />
<br />
{{hc|~/.bash_profile|<br />
<nowiki>if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then<br />
XKB_DEFAULT_LAYOUT=us exec sway<br />
fi</nowiki><br />
}}<br />
<br />
=== Backlight toggle ===<br />
<br />
To turn off (and on) your displays with a key (e.g. {{ic|Pause}}) bind the following in your Sway {{ic|config}}:<br />
<br />
#!/usr/bin/dash<br />
read lcd < /tmp/lcd<br />
if [ "$lcd" -eq "0" ]; then<br />
swaymsg "output * dpms on"<br />
echo 1 > /tmp/lcd<br />
else<br />
swaymsg "output * dpms off"<br />
echo 0 > /tmp/lcd<br />
fi<br />
<br />
=== Screen capture ===<br />
<br />
Capturing the screen can be done using {{Pkg|grim}} or {{AUR|swayshot}} for screenshots and {{AUR|wf-recorder-git}} for video. Optionally, {{Pkg|slurp}} can be used to select the part of the screen to capture.<br />
<br />
Take a screenshot of the whole screen:<br />
<br />
grim screenshot.png<br />
<br />
Take a screenshot of a part of the screen:<br />
<br />
grim -g "$(slurp)" screenshot.png<br />
<br />
Capture a video of the whole screen:<br />
<br />
wf-recorder -o recording.mp4<br />
<br />
Capture a video of a part of the screen:<br />
<br />
wf-recorder -g "$(slurp)"<br />
<br />
Example of usage with {{Pkg|grim}}, {{Pkg|slurp}} and {{Pkg|wl-clipboard}}, screenshot directly with Print button to clipboard. <br />
<br />
bindsym --release Print exec grim -g \"$(slurp)" - | wl-copy<br />
<br />
== Troubleshooting ==<br />
<br />
=== Application launchers ===<br />
<br />
i3-dmenu-desktop, {{Pkg|dmenu}}, and {{Pkg|rofi}} all function relatively well in Sway, but all run under XWayland and suffer from the same issue where they can become unresponsive if the cursor is moved to a native Wayland window. The reason for this issue is that Wayland clients/windows do not have access to input devices unless they have focus of the screen. The XWayland server is itself a client to the Wayland compositor, so one of its XWayland clients must have focus for it to access user input. However, once one of its clients has focus, it can gather input and make it available to all XWayland clients through the X11 protocol. Hence, moving the cursor to an XWayland window and pressing Escape should fix the issue, and sometimes running {{ic|pkill}} does too.<br />
<br />
{{Pkg|bemenu}} is a native Wayland dmenu replacement which can optionally be combined with {{AUR|j4-dmenu-desktop}} to provide a Wayland-native combination for launching desktop files (as i3-dmenu-desktop does):<br />
<br />
j4-dmenu-desktop --dmenu='bemenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite'<br />
<br />
You may need to set {{ic|BEMENU_BACKEND}} environment variable to "wayland" if you choose not to disable XWayland.<br />
<br />
You can also build your own with a floating terminal and fzf as discussed in a [https://github.com/swaywm/sway/issues/1367 GitHub issue].<br />
<br />
=== VirtualBox ===<br />
<br />
Sway doesn't work well (or at all) under [[VirtualBox]].<br />
<br />
=== Sway socket not detected ===<br />
<br />
Using a {{ic|swaymsg}} argument, such as {{ic|swaymsg -t get_outputs}}, will sometimes return the message:<br />
<br />
sway socket not detected.<br />
ERROR: Unable to connect to<br />
<br />
when run inside a terminal multiplexer (such as gnu screen or tmux). This means {{ic|swaymsg}} could not connect to the socket provided in your {{ic|SWAYSOCK}}.<br />
<br />
To view what the current value of {{ic|SWAYSOCK}} is, type:<br />
<br />
$ env | fgrep SWAYSOCK<br />
SWAYSOCK=/run/user/1000/sway-ipc.1000.4981.sock<br />
<br />
To work around this problem, you may try attaching to a socket based on the running sway process:<br />
<br />
$ export SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock<br />
<br />
To avoid this error, run the command outside of a multiplexer.<br />
<br />
=== Incorrect monitor resolution ===<br />
<br />
Config options such as {{ic|output "HDMI-A-1" res 1280x1024}} may not successfully change the resolution. The compositor {{Pkg|wlc}} is responsible for setting the resolution, and attempts to figure out monitor resolution from the TTY.<br />
<br />
You may be able to alter your TTY resolution (thus also altering the WLC and Sway resolution) by passing a kernel parameter such as {{ic|1=video=HDMI-A-1:1280x1024:e}} or with with custom edid binaries (see [[Kernel mode setting]]).<br />
<br />
== See also ==<br />
<br />
* [https://github.com/SirCmpwn/sway GitHub project]<br />
* [https://git.sr.ht/~sircmpwn/sway sr.ht git page]<br />
* [https://swaywm.org Website]<br />
* [https://drewdevault.com/2019/03/11/Sway-1.0-released.html Announcing the release of sway 1.0]</div>Varshithttps://wiki.archlinux.org/index.php?title=Sway&diff=571807Sway2019-04-21T11:11:05Z<p>Varshit: /* Custom keybindings */ brightnessctl didn't work for me but light worked. :0</p>
<hr />
<div>[[Category:Tiling WMs]]<br />
[[Category:Dynamic WMs]]<br />
[[ja:Sway]]<br />
''sway'' is a compositor for [[Wayland]] designed to be fully compatible with [[i3]]. According to [https://swaywm.org the official website]:<br />
:Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11. It works with your existing i3 configuration and supports most of i3's features, plus a few extras.<br />
<br />
== Status ==<br />
<br />
Sway is 100% compatible with i3, aside from several features that only make sense with X11. A detailed accounting of completed features can be found at the following links:<br />
*[https://github.com/SirCmpwn/sway/issues/2#issue-99897933 i3 feature support]<br />
*[https://github.com/SirCmpwn/sway/issues/98 IPC feature support]<br />
*[https://github.com/SirCmpwn/sway/issues/343 i3bar compatibility]<br />
*[https://github.com/SirCmpwn/sway/issues/307 Airblader fork features]<br />
<br />
== Installation ==<br />
<br />
''sway'' can be [[install]]ed with the {{Pkg|sway}} package. The development version can be installed using {{AUR|wlroots-git}} and {{AUR|sway-git}}. It's advisable to always update ''wlroots'' when you update ''sway'', due to tight dependencies.<br />
<br />
You may also install {{Pkg|swaylock}} and {{Pkg|swayidle}} to lock your screen and set up an idle manager.<br />
<br />
== Starting ==<br />
<br />
{{Tip|See [[Wayland#GUI libraries]] for appropriate environment variables to set for window decoration libraries.}}<br />
<br />
=== From a TTY ===<br />
<br />
To start Sway, simply type ''sway'' from a TTY.<br />
<br />
=== From a display manager ===<br />
<br />
{{Note|Sway does not support display managers officially.}}<br />
<br />
The sway session is located at {{ic|/usr/share/wayland-sessions/sway.desktop}}. It is automatically recognized by modern display managers like [[GDM]] and [[SDDM]].<br />
<br />
== Configuration ==<br />
<br />
If you already use i3, then copy your i3 configuration to {{ic|~/.config/sway/config}} and it should work out of the box. Otherwise, copy the sample configuration file to {{ic|~/.config/sway/config}}. It is located at {{ic|/etc/sway/config}}, unless the {{ic|DFALLBACK_CONFIG_DIR}} flag has been set. See {{man|5|sway}} for information on the configuration.<br />
<br />
=== Keymap ===<br />
<br />
By default, sway starts with the US QWERTY keymap. To configure per-input:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
input * xkb_layout us,de,ru"<br />
input * xkb_variant "colemak,,typewriter"<br />
input * xkb_options "grp:win_space_toggle"<br />
input "MANUFACTURER1 Keyboard" xkb_model "pc101"<br />
input "MANUFACTURER2 Keyboard" xkb_model "jp106"<br />
</nowiki>}}<br />
<br />
More details are available in {{man|7|xkeyboard-config}} and {{man|5|sway-input}}.<br />
<br />
The keymap can also be configured using environment variables ({{ic|XKB_DEFAULT_LAYOUT}}, {{ic|XKB_DEFAULT_VARIANT}}, etc.) when starting sway.<br />
<br />
=== Statusbar ===<br />
<br />
Installing the program {{Pkg|i3status}} is an easy way to get a practical, default statusbar. All one has to do is add following snippet at the end of your sway config:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
bar {<br />
status_command i3status<br />
}<br />
</nowiki>}}<br />
<br />
If you want to achieve colored output of i3status, you can adjust following part in the i3status configuration:<br />
<br />
{{hc|~/.config/i3status/config|<nowiki><br />
general {<br />
colors = true<br />
interval = 5<br />
}<br />
</nowiki>}}<br />
<br />
In both examples, the system-wide installed configuration files has been copied over to the user directory and then modified.<br />
<br />
=== Wallpaper ===<br />
<br />
This line, which can be appended at the end of your sway configuration, sets a background image on all displays (output matches all with name {{ic|"*"}}):<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
output "*" background /home/onny/pictures/fredwang_norway.jpg fill<br />
</nowiki>}}<br />
<br />
Of course you have to replace the file name and path according to your wallpaper.<br />
<br />
=== Input devices ===<br />
<br />
Its possible to tweak specific input device configurations. For example to enable tap-to-click and natural scolling for a touchpad, add an input block:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
input "2:14:ETPS/2_Elantech_Touchpad" {<br />
tap enabled<br />
natural_scroll enabled<br />
}<br />
</nowiki>}}<br />
<br />
Where as the device identifier can be queried with:<br />
<br />
swaymsg -t get_inputs<br />
<br />
The output from the command, sometimes has a "\" to escape symbols like "/" (ie {{ic|"2:14:ETPS\/2_Elantech_Touchpad"}}) and it needs to be removed.<br />
<br />
More documentation and options like acceleration profiles can be found in {{man|5|sway-input}}.<br />
<br />
=== HiDPI ===<br />
<br />
Set your displays scale factor with the {{ic|output}} command in your config file. The scale factor can be fractional, but it is usually 2 for HiDPI screens.<br />
<br />
output <name> scale <factor><br />
<br />
You can find your display name with the following command:<br />
<br />
swaymsg -t get_outputs<br />
<br />
=== Custom keybindings ===<br />
<br />
[[Extra keyboard keys|Special keys]] on your keyboard can be used to execute commands, for example to control your volume or your monitor brightness:<br />
<br />
{{hc|~/.config/sway/config|<nowiki><br />
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%<br />
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%<br />
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle<br />
bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle<br />
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-<br />
bindsym XF86MonBrightnessUp exec brightnessctl set +5%<br />
</nowiki>}}<br />
<br />
To control brightness you can use {{AUR|brightnessctl}} or {{AUR|light}}. For a list of utilities to control brightness and color correction see [[Backlight]].<br />
<br />
=== Xresources ===<br />
<br />
Copy {{ic|~/.Xresources}} to {{ic|~/.Xdefaults}} to use them in Sway.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Autostart on login ===<br />
<br />
To start sway from tty1 on login with default US keyboard, edit:<br />
<br />
{{hc|~/.bash_profile|<br />
<nowiki>if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then<br />
XKB_DEFAULT_LAYOUT=us exec sway<br />
fi</nowiki><br />
}}<br />
<br />
=== Backlight toggle ===<br />
<br />
To turn off (and on) your displays with a key (e.g. {{ic|Pause}}) bind the following in your Sway {{ic|config}}:<br />
<br />
#!/usr/bin/dash<br />
read lcd < /tmp/lcd<br />
if [ "$lcd" -eq "0" ]; then<br />
swaymsg "output * dpms on"<br />
echo 1 > /tmp/lcd<br />
else<br />
swaymsg "output * dpms off"<br />
echo 0 > /tmp/lcd<br />
fi<br />
<br />
=== Screen capture ===<br />
<br />
Capturing the screen can be done using {{Pkg|grim}} or {{AUR|swayshot}} for screenshots and {{AUR|wf-recorder-git}} for video. Optionally, {{Pkg|slurp}} can be used to select the part of the screen to capture.<br />
<br />
Take a screenshot of the whole screen:<br />
<br />
grim screenshot.png<br />
<br />
Take a screenshot of a part of the screen:<br />
<br />
grim -g "$(slurp)" screenshot.png<br />
<br />
Capture a video of the whole screen:<br />
<br />
wf-recorder -o recording.mp4<br />
<br />
Capture a video of a part of the screen:<br />
<br />
wf-recorder -g "$(slurp)"<br />
<br />
Example of usage with {{Pkg|grim}}, {{Pkg|slurp}} and {{Pkg|wl-clipboard}}, screenshot directly with Print button to clipboard. <br />
<br />
bindsym --release Print exec grim -g \"$(slurp)" - | wl-copy<br />
<br />
== Troubleshooting ==<br />
<br />
=== Application launchers ===<br />
<br />
i3-dmenu-desktop, {{Pkg|dmenu}}, and {{Pkg|rofi}} all function relatively well in Sway, but all run under XWayland and suffer from the same issue where they can become unresponsive if the cursor is moved to a native Wayland window. The reason for this issue is that Wayland clients/windows do not have access to input devices unless they have focus of the screen. The XWayland server is itself a client to the Wayland compositor, so one of its XWayland clients must have focus for it to access user input. However, once one of its clients has focus, it can gather input and make it available to all XWayland clients through the X11 protocol. Hence, moving the cursor to an XWayland window and pressing Escape should fix the issue, and sometimes running {{ic|pkill}} does too.<br />
<br />
{{Pkg|bemenu}} is a native Wayland dmenu replacement which can optionally be combined with {{AUR|j4-dmenu-desktop}} to provide a Wayland-native combination for launching desktop files (as i3-dmenu-desktop does):<br />
<br />
j4-dmenu-desktop --dmenu='bemenu -i --nb "#3f3f3f" --nf "#dcdccc" --fn "pango:DejaVu Sans Mono 12"' --term='termite'<br />
<br />
You may need to set {{ic|BEMENU_BACKEND}} environment variable to "wayland" if you choose not to disable XWayland.<br />
<br />
You can also build your own with a floating terminal and fzf as discussed in a [https://github.com/swaywm/sway/issues/1367 GitHub issue].<br />
<br />
=== VirtualBox ===<br />
<br />
Sway doesn't work well (or at all) under [[VirtualBox]].<br />
<br />
=== Sway socket not detected ===<br />
<br />
Using a {{ic|swaymsg}} argument, such as {{ic|swaymsg -t get_outputs}}, will sometimes return the message:<br />
<br />
sway socket not detected.<br />
ERROR: Unable to connect to<br />
<br />
when run inside a terminal multiplexer (such as gnu screen or tmux). This means {{ic|swaymsg}} could not connect to the socket provided in your {{ic|SWAYSOCK}}.<br />
<br />
To view what the current value of {{ic|SWAYSOCK}} is, type:<br />
<br />
$ env | fgrep SWAYSOCK<br />
SWAYSOCK=/run/user/1000/sway-ipc.1000.4981.sock<br />
<br />
To work around this problem, you may try attaching to a socket based on the running sway process:<br />
<br />
$ export SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock<br />
<br />
To avoid this error, run the command outside of a multiplexer.<br />
<br />
=== Incorrect monitor resolution ===<br />
<br />
Config options such as {{ic|output "HDMI-A-1" res 1280x1024}} may not successfully change the resolution. The compositor {{Pkg|wlc}} is responsible for setting the resolution, and attempts to figure out monitor resolution from the TTY.<br />
<br />
You may be able to alter your TTY resolution (thus also altering the WLC and Sway resolution) by passing a kernel parameter such as {{ic|1=video=HDMI-A-1:1280x1024:e}} or with with custom edid binaries (see [[Kernel mode setting]]).<br />
<br />
== See also ==<br />
<br />
* [https://github.com/SirCmpwn/sway GitHub project]<br />
* [https://git.sr.ht/~sircmpwn/sway sr.ht git page]<br />
* [https://swaywm.org Website]<br />
* [https://drewdevault.com/2019/03/11/Sway-1.0-released.html Announcing the release of sway 1.0]</div>Varshithttps://wiki.archlinux.org/index.php?title=User:Varshit&diff=569828User:Varshit2019-03-26T13:03:51Z<p>Varshit: created my page :0</p>
<hr />
<div>User named Varshit Bhat</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569346Anbox2019-03-21T11:55:28Z<p>Varshit: /* Installation */ replaced to use sed</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Install these Packages from AUR:<br />
{{AUR|anbox-git}}<br />
{{AUR|anbox-image}}<br />
{{AUR|anbox-modules-dkms-git}}<br />
{{AUR|anbox-bridge}}<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And start the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service:<br />
<br />
sudo sed -i 's/"ExecStart=/usr/bin/anbox session-manager"/"ExecStart=/usr/bin/anbox session-manager --gles-driver=host"/g' /usr/lib/systemd/user/anbox-session-manager.service <br />
<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569345Anbox2019-03-21T11:42:09Z<p>Varshit: I am learning,please sorry.Edited a bunch</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Install these Packages from AUR:<br />
{{AUR|anbox-git}}<br />
{{AUR|anbox-image}}<br />
{{AUR|anbox-modules-dkms-git}}<br />
{{AUR|anbox-bridge}}<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And start the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service by changing the line:<br />
<br />
From "ExecStart=/usr/bin/anbox session-manager"<br />
To "ExecStart=/usr/bin/anbox session-manager --gles-driver=host"<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569344Anbox2019-03-21T11:41:27Z<p>Varshit: /* Installation */ minor edit</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Install these Packages from AUR:<br />
{{AUR|anbox-git}}<br />
{{AUR|anbox-image}}<br />
{{AUR|anbox-modules-dkms-git}}<br />
{{AUR|anbox-bridge}}<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And start the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service by changing the line:<br />
<br />
From "ExecStart=/usr/bin/anbox session-manager"<br />
To "ExecStart=/usr/bin/anbox session-manager --gles-driver=host"<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569343Anbox2019-03-21T11:40:11Z<p>Varshit: /* Installation */ Sorry</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Install these Packages from AUR:<br />
<br />
{{AUR|anbox-git}}<br />
{{AUR|anbox-image}}<br />
{{AUR|anbox-modules-dkms-git}}<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And start the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service by changing the line:<br />
<br />
From "ExecStart=/usr/bin/anbox session-manager"<br />
To "ExecStart=/usr/bin/anbox session-manager --gles-driver=host"<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569342Anbox2019-03-21T11:39:29Z<p>Varshit: /* Installation */ Minor change</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Install these Packages from AUR:<br />
<br />
{{AUR|anbox-git}}<br />
{{aur/anbox-image}}<br />
{{aur/anbox-modules-dkms-git}}<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And start the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service by changing the line:<br />
<br />
From "ExecStart=/usr/bin/anbox session-manager"<br />
To "ExecStart=/usr/bin/anbox session-manager --gles-driver=host"<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569341Anbox2019-03-21T11:36:44Z<p>Varshit: Please help me in editing!!!!!</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.<br />
==Installation==<br />
Compile the anbox with the following packages:<br />
<br />
"aur/anbox-git"<br />
"aur/anbox-image"<br />
"aur/anbox-modules-dkms-git"<br />
<br />
Start/Enable systemd networks services (for internet to work in apps)<br />
<br />
"sudo systemctl start systemd-resolved.service"<br />
"sudo systemctl start systemd-networkd.service"<br />
<br />
And started the container-manager service<br />
<br />
"sudo systemctl start anbox-container-manager.service"<br />
<br />
Add the host driver in /usr/lib/systemd/user/anbox-session-manager.service by changing the line:<br />
<br />
From "ExecStart=/usr/bin/anbox session-manager"<br />
To "ExecStart=/usr/bin/anbox session-manager --gles-driver=host"<br />
<br />
start the user service:<br />
<br />
"systemctl --user start anbox-session-manager.service"</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569269Anbox2019-03-20T18:05:33Z<p>Varshit: Anbox currently do not run out of box.Somebody refer this and complete: https://github.com/anbox/anbox/issues/305</p>
<hr />
<div>Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569268Anbox2019-03-20T18:01:27Z<p>Varshit: I don't know mediawiki markdown correctly,but i am learning it. :(</p>
<hr />
<div>{{Quote|From Wikipedia}}<br />
[[wikipedia:Anbox(software)|Anbox]] is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.</div>Varshithttps://wiki.archlinux.org/index.php?title=Anbox&diff=569267Anbox2019-03-20T18:00:17Z<p>Varshit: There was no page for Anbox.</p>
<hr />
<div>{{Quote|From Wikipedia}}<br />
<br />
[[wikipedia:Anbox(software)|Anbox]] is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions.<br />
<br />
It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.</div>Varshit