This repository has been archived and no longer maintained.
Due to the upcoming Vanguard kernel-level anti-cheat [1] [2], it will not be possible to play LoL on Linux through wine or its variant. Please see [3] [4] for more details about Vanguard, and [5] [6] [7] for the privacy and security implications of kernel-level anti-cheat systems.
It is encouraged to remove LoL from your Linux machines once Vanguard is rolled
out some time early 2024 (currently expected to be released with patch 14.5). To
do so, please run leagueoflegends uninstall
before removing the helper script
(i.e., the AUR package).
[1]: Season 2024 Look Ahead - YouTube
[2]: Vanguard Updates - Riot Games
[3]: Riot Vanguard - League of Legends Wiki
[4]: Riot Vanguard FAQ
[5]: Security Concerns About Kernel-Level Anti-Cheat in Video Games
[6]: Redefining the Risks of Kernel-Level Anti-Cheat in Online Gaming
[7]: /dev/null: Anti-Cheat Kernel Driver
League of Legends helper script for installing and running on Linux.
Warning
Playing LoL on Linux is not officially supported by Riot, so please proceed at your own risk! From Riot: "We also can't guarantee that more restrictive anti-cheat tools won't be introduced in the future, which could potentially conflict with such environments." (#109)
Warning
People have reported being banned for cheating since 13.14 (#109) or when usingwine-lol-staging
from the AUR (#123). At the moment, it is recommended to use thewine-lol
package (which uses GloriousEggroll's version). However, if getting banned is unaffordable, it may be worth considering playing it on Windows or Mac.
Please choose an installation method suitable for your distribution. Remember to check all dependencies are installed properly if it's installed manually.
Distribution | Installation method |
---|---|
Arch Linux | AUR: leagueoflegends-git |
Debian/Ubuntu | ./package.sh debian sudo dpkg -i <deb_file> |
Others | Manual installation: sudo make install |
Note
With package installation methods, packages specific to individual GPUs are not included in the dependencies, even though we do include the virtual packagesvulkan-driver
andlib32-vulkan-driver
in the AUR package. So please be sure to install the packages required by your specific GPUs. For example, Debian testing requires libnvidia-glvkspirv and libglx-nvidia0 for Nvidia GPUs (see #41).
The following dependencies are included in the AUR package and the generated
.deb
package. If there's anything incorrect or missing, pull requests are
appreciated.
Note
For non-Arch distributions, wine-lol is not included in the package dependencies because they don't have those packages for now. So please be sure to manually install wine-lol by either downloading from a release of wine-ge-custom (which is the same as wine-lol-bin), or from a release of lol-for-linux-installer. After downloading the binary release, extract the content to/opt/wine-lol
or/opt/wine-lol-staging
.
- wine-lol (please refer to the associated links for their differences)
- Provider: wine-lol (AUR)
- Provider: wine-lol-bin (AUR)
- Provider: wine-lol-staging (AUR)
- Provider: wine-lol-staging (pre-built)
- winetricks
- bash
- curl
- openssl
- samba
- mesa-utils
- gnutls, lib32-gnutls
- libldap, lib32-libldap
- openal, lib32-openal
- libpulse, lib32-libpulse
- alsa-lib, lib32-alsa-lib
- mpg123, lib32-mpg123
- unixodbc, lib32-unixodbc
- vkd3d, lib32-vkd3d
- vulkan-icd-loader, lib32-vulkan-icd-loader
- Vulkan drivers for your graphic
cards, both 64-bit and 32-bit packages are required at the moment until Riot
ships only the 64-bit binaries. For example:
- vulkan-intel, lib32-vulkan-intel
- nvidia-utils, lib32-nvidia-utils
- vulkan-radeon, lib32-vulkan-radeon
- amdvlk, lib32-amdvlk
Note
The above package names are based on Arch Linux. For other distributions, the package names will be different. Please refer to the documentation of the distribution for installing the correct Vulkan drivers and other dependencies.
Note
"Starting April 4, 2023, League will no longer be supported by 32-bit operating systems." (dev news) However, currently Riot still ships 32-bit binaries, so both 32-bit and 64-bit dependencies will be needed until all 32-bit binaries are safely rolled out and no longer shipped.
There is no need for configuration. You may feel free to skip this part, unless you want to change the install path of the game or where the cache is placed.
The helper script looks for configuration files located at
$XDG_CONFIG_HOME/league.sh
or ~/.config/league.sh
, in that order. The
configuration file is a shell script and will be sourced before starting the
game. You may define any environment variables or run any commands you want,
which might be helpful in special situations.
These are the variables that will be explicitly referenced and used:
DATA_HOME
: The path where the game is, or will be, installed. (Default:$XDG_DATA_HOME
or~/.local/share
)CACHE_HOME
: The path for the cache files. (Default:$XDG_CACHE_HOME
or~/.cache
)
For example, if the configuration file doesn't exist or if the DATA_HOME
variable is not defined, the game would then be installed at
~/.local/share/leagueoflegends/
by default.
- Please make sure you have installed the correct Vulkan driver for your
graphics card that you will be using. You can check what is installed with
ls /usr/share/vulkan/icd.d/
- First install the game:
leagueoflegends install
.- Please do not log in or launch the game during installation.
- If the installation progress stucks at 100%, close the window, and run
leagueoflegends install
again.- For more detail, check out this thread.
- You may want to prevent the Riot client from minimizing upon exit by modifying the riot client settings. See here for more details.
- Exit the window when the game installation is finished. (The progress circle disappears.)
- Start the game:
leagueoflegends start
. - Log in with your Riot credentials and start LoL as usual.
- Once the League client shows up, please try a practice match to make sure everything works.
- To remove the game:
leagueoflegends uninstall
.
Warning
If you've run wine-lol-staging or other flavors of wine 8.0+ before and now have issues with launching the client (especially if you're coming from version 8 to 7), and it says something aboutunimplemented function winegstreamer.dll.winegstreamer_create_video_decoder
. It's because of the difference in wine versions. You need to recreate the wine prefix for it to work, by runningleagueoflegends reset-wineprefix
.
Note
If you use Nvidia graphics card and have trouble launching the League client or start the game (after champion selection), please check out the troubleshooting section.
leagueoflegends -h
can be used to view the full list of options and commands.
[!] Usage: leagueoflegends [options] <command>
League of Legends - helper program
Options:
-h, --help Show help message
-v, --verbose Enable verbose output
-f, --config Specify the configuration file
--pbe Launch the PBE patchline
--region <region> Set region
--locale <locale> Set locale (if different from the region)
Commands:
start Start LoL
stop Same as kill
install Install LoL
uninstall Uninstall LoL
reinstall Reinstall LoL
reset-wineprefix Reset wine prefix
replay <path> Replay match (.rofl file)
add-dxvk Install DXVK to the LoL wineprefix
del-dxvk Remove DXVK from the LoL wineprefix
rm-dxvk-cache Remove DXVK cache
cleanup-logs Remove log files
kill Kill the wine processes of the wineprefix
run <cmd> Run shell command with environment variables
leagueoflegends kill
would use wineserver --kill
to try to kill all the wine
processes of the current wine prefix, which can be helpful if some error
happens and the script hangs.
leagueoflegends run <...>
can be use to run any command with the wine-related
environment variables, such as WINEARCH
, WINEDLLOVERRIDES
, and WINEPREFIX
.
This way, you could easily run wine utilities like leagueoflegends run winecfg
, or leagueoflegends run winetricks
, etc.
Currently the Riot client will by default keep running in the background with the system tray icon after the league client exits. You may change the behavior by going to the Riot client settings and selecting the "Exit application" option upon closing the window.
Related issue: #99
If you use Nvidia graphics card and have trouble launching the League client or
start the game (after champion selection), please exit the game (with
leagueoflegends kill
) and then try leagueoflegends rm-dxvk-cache
before
restarting it. This should only need to be done once to clean up the old cache,
since DXVK caching is currently disabled.
(Reference)
If the issue still remains, you may want to purge and reinstall the Nvidia related packages as described here.
Alternatively, as a quick (and dirty) workaround, remove the nvidia
package
and install nvidia-dkms
instead. Remember to also install the kernel headers
packages according to your kernel (e.g., linux-headers
). Then reboot and
reinstall LoL.