Wine Packages

Robert Walker edited this page Jan 8, 2018 · 9 revisions

Overview

These packages are based heavily on NP's hard work - packaging Wine in the main Gentoo Portage tree. Thanks for his hardwork on this! Now Gentoo has the most awesome Wine support of any GNU/Linux distribution!

Note: the ::bobwya Overlay Wine packages do not support the Gallium 9 / D3D9 patchset. This is purely down to lack of a testing system, which doesn't use the Nvidia Proprietary graphics driver.


Package Listing

Full listing of all ::bobwya Overlay Wine packages:

app-eselect/eselect-wine : Manage active Wine version for multislot Wine variants.
app-emulation/wine:0 : Free implementation of Windows(tm) on Unix (single-slot version, supporting vanilla Wine & Wine Staging patchset).
app-emulation/wine-desktop-common : Core desktop menu entries and icons for Wine (shared by all app-emulation/wine[-staging|-vanilla] packages).
app-emulation/wine-gecko : A Mozilla Gecko based version of Internet Explorer for Wine (multi-slot version - shared by all app-emulation/wine[-staging|-vanilla] packages).
app-emulation/wine-mono : Wine Mono is a replacement for the .NET runtime and class libraries in Wine (multi-slot version - shared by all app-emulation/wine[-staging|-vanilla] packages).
app-emulation/wine-staging:${PV} : Free implementation of Windows(tm) on Unix (multi-slot version, only supports Wine with Wine Staging patchset automatically applied).
app-emulation/wine-vanilla:${PV} : Free implementation of Windows(tm) on Unix (multi-slot version, only supports vanilla Wine).
virtual/wine:0 : Allows for any variant of Wine, regardless of slotting to fulfill the dependencies traditionally fulfilled by the non-slotted, pre-variant, app-emulation/wine:0.

Are the ::bobwya Overlay Wine Packages compatible with the official Gentoo Portage Tree and ::wine Overlay Wine Packages?

In a word... NO!!

The Wine packages in the ::bobwya Overlay are not compatible with the main ::gentoo Wine packages. It is necessary to mask the main ::gentoo (and ::wine Overlay - if installed) Wine packages, e.g. for Multi-slot Wine support:

echo -e \
'app-emulation/wine::gentoo\n'\
'app-emulation/wine-any::gentoo\n'\
'app-emulation/wine-d3d9::gentoo\n'\
'app-emulation/wine-desktop-common::gentoo\n'\
'app-emulation/wine-gecko::gentoo\n'\
'app-emulation/wine-mono::gentoo\n'\
'app-emulation/wine-staging::gentoo\n'\
'app-emulation/wine-vanilla::gentoo\n'\
'virtual/wine::gentoo\n'\
  >> /etc/portage/package.mask/gentoo_wine

echo -e \
'app-emulation/wine::wine\n'\
'app-emulation/wine-any::wine\n'\
'app-emulation/wine-d3d9::wine\n'\
'app-emulation/wine-desktop-common::wine\n'\
'app-emulation/wine-gecko::wine\n'\
'app-emulation/wine-mono::wine\n'\
'app-emulation/wine-staging::wine\n'\
'app-emulation/wine-vanilla::wine\n'\
'virtual/wine::wine\n'\
  >> /etc/portage/package.mask/wine

when using the ::bobwya Overlay Multi-slot Wine packages.

Using a mixture of Wine packages from the ::bobwya Overlay and the main ::gentoo Gentoo Portage tree and/or the ::wine Overlay is not supported!


Using Multislot Wine

This section details a few of the quirks of managing multi-slot Wine packages.

The ::bobwya Overlay versions of the multislot app-emulation/wine-{staging,vanilla} packages supports an 'unofficial hack' to allow multiple installations of the same version, of Wine, to be installed simultaneously. The Gentoo patch _p0.._pn ebuild sub-versioning is used purely to support this feature (i.e. not a very orthodox approach!) By default all the 9999 packages for app-emulation/wine-{staging,vanilla} have 9 symbolic links to the same base ebuild:

ls -hl wine-vanilla-9999*

-rw-r--r-- 1 root root 26K Oct 18 18:41 wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p1.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p2.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p3.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p4.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p5.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p6.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p7.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p8.ebuild -> wine-vanilla-9999.ebuild
lrwxrwxrwx 1 root root  24 Oct 18 18:41 wine-vanilla-9999_p9.ebuild -> wine-vanilla-9999.ebuild

This allows a Gentoo Wine user to build 10 live versions of the app-emulation/wine-vanilla simultaneously - all compiled against different Wine Git Commits. Obviously more symbolically linked patch versions can be created - if required - in a local Overlay.

Set Wine Git Commits individually for each of the 10 live Wine versions to be installed:

# Set p0 version Wine Git Commit
echo 'EGIT_WINE_COMMIT="7b38d4f9efd899a68d754b83b1b396929549a973"' \
    >"/etc/portage/env/app-emulation/wine-vanilla:9999"
...
# Set p9 version Wine Git Commit
echo 'EGIT_WINE_COMMIT="3b2fae0161aa15155cf76631a965ad0ad136b795"' \
    >"/etc/portage/env/app-emulation/wine-vanilla:9999_p9"

Then emerge all 10 live versions of app-emulation/wine-vanilla simultaneously!

emerge -v wine-vanilla:9999 wine-vanilla:9999_p1 wine-vanilla:9999_p2 \
  wine-vanilla:9999_p3 wine-vanilla:9999_p4 wine-vanilla:9999_p5 wine-vanilla:9999_p6 \
  wine-vanilla:9999_p7 wine-vanilla:9999_p8 wine-vanilla:9999_p9

This might be useful for regression testing - where the Wine test has to be carried out manually at each bisection.

List all available installed Wine versions:

eselect wine list

Available 'wine' versions:
  [1]   wine-vanilla-1.8
  [2]   wine-staging-1.8.1
  [3]   wine-staging-1.8.2
  [4]   wine-staging-1.8.6
  [5]   wine-staging-2.0
  [6]   wine-vanilla-2.0.2
  [7]   wine-vanilla-2.0.3_rc1
  [8]   wine-vanilla-2.0.3_rc2
  [9]   wine-staging-2.5
  [10]  wine-staging-2.16
  [11]  wine-staging-2.17
  [12]  wine-vanilla-2.17
  [13]  wine-vanilla-2.18
  [14]  wine-vanilla-2.19
  [15]  wine-staging-9999 *            Wed Oct 4 22:27:00 2017 +0200       9a53298eed493080fb132d0cd57fffa95b00b1ec
  [16]  wine-vanilla-9999              Fri Oct 7 22:00:34 2016 +0200       b1387f9b18cd7e1ca1ddf54ff8ff6fe32c286f44
  [17]  wine-staging-9999_p1           Mon Dec 19 20:08:23 2016 +0100      7b38d4f9efd899a68d754b83b1b396929549a973
  [18]  wine-vanilla-9999_p1           Thu Jul 20 19:07:20 2017 +0200      3b2fae0161aa15155cf76631a965ad0ad136b795
  [19]  wine-vanilla-9999_p2           Fri Jul 8 23:59:59 2016 +0900       abb221fa81b60f53c14f6864bbfb9453455aeeeb

To switch the main system Wine over to a specific version, e.g. Wine version 2.19:

eselect wine set 18

or

eselect wine set wine-vanilla-2.19

referencing by the eselect list number or the Wine package name+version respectively.

Purge specific app-emulation/wine-{staging,vanilla} packages, e.g. purge all Wine Staging/Vanilla 9999 live versions:

eselect --brief wine list \
    | awk -vregex='\-9999' '{ if ($1 ~ regex) { gsub("\-", ":"); sub("^wine:","wine-"); print $0; } }' \
    | xargs emerge --depclean -v

This example uses slots, to reference the Wine packages, rather than versions. This avoids dealing with package revision numbering.

Say you always want Steam to start using the currently active Wine Staging version - then you can use a custom Steam.desktop file:

[Desktop Entry]
Name=Steam64
Exec=env WINEPREFIX=" ... " /usr/bin/wine-staging C:\\\\windows\\\\command\\\\start.exe C\\:\\\\Program\\ Files\\ \\(x86\\)\\\\Steam\\\\Steam.exe -no-cef-sandbox
TryExec=/usr/bin/wine-staging
Terminal=false
Type=Application
StartupNotify=true
Icon=10B4_steam.0
Categories=X-Wine;Network;FileTransfer;Game;

or use a fixed Wine Staging package version (e.g. in this case app-emulation/wine-staging:9999):

[Desktop Entry]
Name=Steam64
Exec=env WINEPREFIX=" ... " /usr/bin/wine-staging-9999 C:\\\\windows\\\\command\\\\start.exe C\\:\\\\Program\\ Files\\ \\(x86\\)\\\\Steam\\\\Steam.exe -no-cef-sandbox
TryExec=/usr/bin/wine-staging-9999
Terminal=false
Type=Application
StartupNotify=true
Icon=10B4_steam.0
Categories=X-Wine;Network;FileTransfer;Game;

Multislot Wine Implementation

The package: virtual/wine:0; is a placeholder package for Multislot Wine. Other packages can use to add a runtime dependency on a Wine package (either: app-emulation/wine-staging:${PV} or app-emulation/wine-vanilla:${PV}).

Wine is split into 3 variants:

  • wine: Active main system Wine package (run wine with /usr/bin/wine, etc.)
  • staging: Active system Wine Staging package (run wine with /usr/bin/wine-staging, etc.)
  • vanilla: Active system Wine Vanilla package (run wine with /usr/bin/wine-vanilla, etc.) Symbolic links are set for each variant - which point to an installed version of that specific package: app-emulation/wine-staging for the staging variant or app-emulation/wine-vanilla for the vanilla variant. Symbolic links can be set for any installed Wine package (app-emulation/wine-staging or app-emulation/wine-vanilla) when using the variant wine.

All app-eselect/eselect-wine data is stored in the directory: /etc/eselect/wine/ (by default).
In this directory the stored app-eselect/eselect-wine data is:

  1. /etc/eselect/wine/active: .ini file storing single active Wine package version (for each Wine variant).
  2. /etc/eselect/wine/installed: .ini file storing all installed Wine package versions (for each Wine variant).
  3. /etc/eselect/wine/${P}: .ini metadata file(s) for any installed =app-emulation/wine-{staging,vanilla}-9999 packages (P = Package name and version for example wine-staging-9999).
  4. /etc/eselect/wine/links/{wine,staging,vanilla}: .ini file for each Wine variant. Contains symbolic links within the following System directories:
    • /usr/include/: Wine include header path
    • /usr/lib{32,64}: Wine library paths
    • /usr/share/man: Wine manual paths
    • /usr/share/applications: Wine .desktop file path
    • /usr/bin: Wine binaries (technically actually wrapper shell scripts)

User patching with Multislot Wine

As with most Gentoo packages the newer Multi-slot Wine packages support User patches. But now multiple versions of the same Wine package can be installed simultaneously.

As an extreme (!!) example:

ls -hl /etc/portage/patches/app-emulation/
drwxr-xr-x 2 root root 4.0K 04.10.2017 12:04 wine-staging/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:24 wine-staging:1.8/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.1/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.2/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.3/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.4/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.5/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:28 wine-staging:1.8.6/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.0/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.1/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.10/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.11/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.12/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.13/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.14/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.15/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.16/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.17/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.18/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.19/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.2/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.20/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.21/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.22/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.23/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.3/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.4/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.5/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.6/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.7/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.8/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:30 wine-staging:1.9.9/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:31 wine-staging:2.0/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.1/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:08 wine-staging:2.10/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:10 wine-staging:2.11/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:06 wine-staging:2.12/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.2/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.3/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.4/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.5/
drwxr-xr-x 2 root root 4.0K 04.05.2017 13:40 wine-staging:2.6/
drwxr-xr-x 2 root root 4.0K 16.05.2017 14:02 wine-staging:2.7/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:07 wine-staging:2.8/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:08 wine-staging:2.9/
drwxr-xr-x 2 root root 4.0K 25.07.2017 22:46 wine-staging:9999/
drwxr-xr-x 2 root root 4.0K 25.04.2017 16:10 wine-vanilla/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:08 wine-vanilla:1.9.23/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:1.9.24/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.0/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.0.1/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.1/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:03 wine-vanilla:2.10/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:03 wine-vanilla:2.11/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:11 wine-vanilla:2.12/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.2/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.3/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.4/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.5/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.6/
drwxr-xr-x 2 root root 4.0K 06.05.2017 18:11 wine-vanilla:2.7/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:03 wine-vanilla:2.8/
drwxr-xr-x 2 root root 4.0K 11.07.2017 15:03 wine-vanilla:2.9/
drwxr-xr-x 2 root root 4.0K 22.07.2017 17:48 wine-vanilla:9999/

Global User patches

It is recommended to group globally applied Multi-slot Wine User patches into a single unversioned, common package patch directory. E.g. for the package app-emulation/wine-staging:

ls -hl /etc/portage/patches/app-emulation/wine-staging

-rw-r--r-- 1 root root 1.2K 18.09.2017 17:11 wine-2.0_d3d_swap_interval_extra_trace.patch.bak
-rw-r--r-- 1 root root  276 17.07.2017 22:00 wine-allow_dnd_with_any_object.patch
-rw-r--r-- 3 root root  710 28.01.2016 18:40 wine-block-nvidia-xrandr-error.patch
-rw-r--r-- 1 root root  535 28.08.2017 17:40 wine-fallout4_dsound_udelay.patch
-rw-r--r-- 3 root root 2.4K 05.07.2016 20:51 wine-support_systray_registry_toggle.patch
-rw-r--r-- 1 root root 1.4K 19.07.2017 14:31 wine-winegcc-verbose.patch

The directory /etc/portage/patches/app-emulation/wine-vanilla holds patches common to all versions of the package wine-vanilla. Best suited to simple patches which only reference very stable parts of the Wine code-base.

Version-specific User patches

Version-specific (single version and version range) User patches should be seperated off and stored into slot-specific package version matching directories.
To handle patches that cover version ranges or a single version it is probably best to use a combination of slotted directories and symbolic links. E.g.

ls -hl /etc/portage/patches/app-emulation/wine-staging\:2.11

lrwxrwxrwx 1 root root  63 11.07.2017 15:08 wine-2.0-msi-deferred-action-handling.patch -> ../wine-staging:2.0/wine-2.0-msi-deferred-action-handling.patch
-rwxr-xr-x 1 root root 781 11.07.2017 15:10 wine-staging-2.11-ws2_32-Set-return-size-when-calling-WSAIoctl-with-WS.patch*

Here the 2 User patches are only applied to =app-emulation/wine-staging-2.11.
The rebased patch: wine-2.0-msi-deferred-action-handling.patch is applied - using a symbolic link to the original copy of the patch. The patch: wine-staging-2.11-ws2_32-Set-return-size-when-calling-WSAIoctl-with-WS.patch is only applied to this specific Wine version.


Differentiating Factors... AKA "you've just copied the Gentoo ebuilds to your Overlay - right?!!"

Wrong!

Customisations, on top of the stock Gentoo ebuilds for: app-emulation/wine:0; include:

  • Customised winecfg utility - with clearer Wine/Wine Staging version information displayed in the about tab.
  • Supports all Wine releases back to version 1.8. Uses custom Gentoo 11-part patchset: wine-1.8-gstreamer-1.0_{01,02,03,04,05,06,07,08,09,10,11}.patch to provide: GStreamer 1.0 support; for all these older versions of Wine. Includes various additional backported patches to allow building Wine/Wine Staging against newer system libraries.
  • USE +staging supports live building against Wine Staging Git commits or branches.
  • USE +staging supports live building against Wine Git commits or branches. In the event that Wine Staging is unsupported for the specified commit - a helper utility will walk the Wine and Wine Staging Git trees. This helper utility will determine (automatically) the closest (date/time based) Wine Git commit which supports the Wine Staging patchset and display this to the user.
  • Supports Wine Release Candidate version mangling.

Customisations, on top of the stock Gentoo ebuilds for: app-emulation/wine-desktop-common:

  • BASH script which generates a full selection of Wine desktop files, with broad locale support.
  • BASH/awk script to extract scalable icons from the current Wine Git tree. The awk script (optionally) overlays Wine icon on Wine places icons
  • BASH script to regenerate Makefile.

Customisations, on top of the stock Gentoo ebuilds for: app-emulation/wine-gecko:

  • Supports Wine Gecko beta versions.

Customisations, on top of the stock Gentoo ebuilds for: app-emulation/wine-staging:${PV}; include:

  • Customised winecfg utility - with clearer Wine Staging version information displayed in the about tab.
  • Supports all Wine Staging releases back to version 1.8. Uses custom Gentoo 11-part patchset: wine-1.8-gstreamer-1.0_{01,02,03,04,05,06,07,08,09,10,11}.patch to provide: GStreamer 1.0 support; for all these older versions of Wine Staging. Includes various additional backported patches to allow building Wine Staging against newer system libraries.
  • Supports live building against Wine Staging Git commits or branches.
  • Supports live building against Wine Git commits or branches. In the event that Wine Staging is unsupported for the specified commit - a helper utility will walk the Wine and Wine Staging Git trees. This helper utility will determine (automatically) the closest (date/time based) Wine Git commit which supports the Wine Staging patchset.

Customisations, on top of the stock Gentoo ebuilds for: app-emulation/wine-vanilla:${PV}; include:

  • Customised winecfg utility - with clearer Wine version information displayed in the about tab.
  • Supports all Wine releases back to version 1.8. Uses custom Gentoo 11-part patchset: wine-1.8-gstreamer-1.0_{01,02,03,04,05,06,07,08,09,10,11}.patch to provide: GStreamer 1.0 support; for all these older versions of Wine. Includes various additional backported patches to allow building Wine against newer system libraries.
  • Supports Wine Release Candidate versions (which are typically not included in the main Gentoo Overlay).

Customisations, on top of the stock Gentoo package: app-eselect/eselect-wine; include:

  • Provides more detailed error messages.
  • Supports more verbose output about operations.
  • Handles specifying multiple Wine variants - for a larger set of eselect wine operations.
  • Handles simultaneous installation of multiple live versions, of: app-emulation/wine-staging:9999_p* / app-emulation/wine-vanilla:9999_p*; on a single system.
  • Live package versions of: app-emulation/wine-staging:9999_p* / app-emulation/wine-vanilla:9999_p*; stored eselect data includes Git metadata support. Currently this metadata consists of the Wine Git tree SHA-1 commit hash and Wine Git commit date.
  • Avoids using shell globbing for symbolic link validity tests.
  • Features an unset option to allow detection and removal of hanging / orphaned symbolic links (associated with this module / not associated with any installed packages).
  • Allows creation of /usr/lib{32,64}/wine symbolic links to allow building 3rd party applications (e.g. wineasio) against any installed version of Wine.
  • Supplies a manual page entry.
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.