📈 How to Optimise League of Legends
As many of us already know, the League of Legends client is not known for it's stability, even on Windows... therefore you shouldn't expect a buttery smooth client experience on Linux either. The game itself however runs at near-native on most properly configured machines. There are some tweaks that can help make the experience a bit nicer both in the client and in the game.
Optimal Game and Client Settings
- ❗High impact: enabling the setting in client settings
Enable low spec mode
disables a lot of the lengthy and resource-taxing animations inside the client, particularly related to champion select - For machines with low RAM: enable the setting inside the client settings
Close client during game
. This will make post-game lobbies load slower, but will make in-game performance better. If you are not experiencing RAM limitations then it's best to not enable this option - Change in-game video settings:
Window mode
==Borderless
Graphics
== Depends on your machines specs. If you're not sure, test different settings and tweak as you play. In general the most intense settings that should be reduced first areShadow Quality
andEnvironment Quality
Character Inking
==False
Frame Rate Cap
== If you have a weaker machine set this to your monitors refresh rate, this eliminates wasted CPU cycles by not rendering frames that your monitor can't display. If you have a powerful machine set this to double your monitors refresh rate (eg. 60hz monitor ==120 FPS
cap), this is a decent middle ground between curbing wasted CPU cycles and not giving up too many input framesAnti-Aliasing
==False
Wait for Vertical Sync
==False
System and Lutris Optimizations
- Adding
D3D10
andD3D11
native.dll
overrides for the Wine prefix can increases performance and fluidity in the client. Thanks to /u/wiryfuture for discovering this. To do so in Lutris:- Select League of Legends in Lutris
- Select the 🔺triangle next to Wine symbol
- Select
Wine configuration
- In the new Wine dialogue select
Libraries
- Add a new override for the library
d3d10
and set it toNative (Windows)
using theEdit...
button - Add a new override for the library
d3d11
and set it toNative (Windows)
using theEdit...
button, thenOK
- Download and install Feral Gamemode. Gamemode is is a daemon/lib combo for Linux that allows games to request a set of optimizations be temporarily applied to the host OS and/or a game process. Make sure to the version you install includes the
i386
binaries, this is not the case with the version found in the Ubuntu repos; you must build them yourself. Once you have installed Gamemode you need to enable the option in Lutris:- Right click League of Legends
- Select
Configure
- Select
System Options
- Enable
Enable Feral Gamemode
thenSave
- Enable
Esync
in Lutris. Esync removes wineserver overhead for synchronization objects. This can increase performance for some games, especially ones that rely heavily on the CPU. For more information see the Lutris wiki:- Right Click League of Legends
- Select
Runner options
- Enable
Enable Esync
thenSave
- If your kernel support it (example) you may want to enable
Fsync
which is a better version ofEsync
. If your kernel does not supportFsync
it will fall back toEsync
:- Right Click League of Legends
- Select
Runner options
- Enable
Enable Fsync
thenSave
wine-lol PKGBUILD
Maintained by /u/m-reimer, the wine-lol (and wine-lol-bin) PKGBUILDs are a convenient way for Arch (derivative) users to build their own "LoL capable" Wine version or to keep one updated using the AUR helper of your choice. Both PKGBUILDs are based on "Lutris-GE-LoL" which is maintained by GloriousEggroll.
The resulting Wine setup can be used with whatever way of installing LoL you like best. All you need to know here is that your "wine" executable, that should be used, can be found at /opt/wine-lol/bin/wine
.
If you want to use your "self compiled" version in Lutris, then this is possible, too, as the new PKGBUILDs build with 64 bit support. To do this, click the box Show advance options
in the Lutris configure dialogue and then in the Runner options
tab chose:
Wine version
==Custom (select executable below)
Custom Wine executable
==/opt/wine-lol/bin/wine
The PKGBUILD is "just another way" to install (or manually compile) the work done by GloriousEggroll. If you are not using any Arch derivative, then you can get the binaries directly from the wine-ge-custom releases page.