Gaming a Linux: Steam Proton, Heroic Launcher (Epic/GOG)
L’estat actual del gaming a Linux ja no s’assembla al de fa una dècada, quan instal·lar un joc implicava lidiar amb Wine a mà, configuracions fosques i una llista interminable de dependències. Avui, amb Steam Proton i projectes com Heroic Launcher, el salt és possible sense haver de ser un expert en Wine.
Això no significa que tot sigui “clic i ja està”. L’experiència depèn de versions de Proton, drivers gràfics, anticheats, configuracions de kernel i ajustos que no sempre estan documentats.
1. Steam Proton en detall: instal·lació, configuració avançada i gestió pràctica
1.1. Proton: què hi ha realment darrere
Proton no és un programa únic, sinó un conjunt de peces integrades i mantingudes per Valve i CodeWeavers perquè Steam pugui executar binaris de Windows a Linux. Convé entendre què inclou, perquè les fallades solen venir d’una d’aquestes capes:
- Wine: la base. Tradueix crides de Windows (Win32, Win64) a Linux. Cada joc s’executa en un prefix (entorn aïllat amb el seu propi C: virtual).
- DXVK: converteix DirectX 9/10/11 a Vulkan. Si un joc antic basat en DX11 va malament, probablement la fallada és aquí.
- vkd3d-proton: converteix DirectX 12 a Vulkan. Cyberpunk 2077, RDR2 o Elden Ring depenen d’aquest mòdul.
- Llibreries addicionals: FAudio (so XAudio2), suport de comandaments (SDL2 + Steam Input), integració amb VR, parxís per a EAC/BattleEye.
- Scripts i pegats propis de Proton: solucionen incompatibilitats conegudes (exemple: jocs que requereixen certes DLLs de Windows).
1.2. Instal·lació i ubicació de Proton a Steam
En distribucions modernes, n’hi ha prou d’instal·lar Steam des de repositori oficial o Flatpak. Proton ve inclòs. Per defecte, Steam guarda les seves versions en:
~/.steam/steam/steamapps/common/Proton <versió>
Per saber què tens disponible:
- Steam → Paràmetres → Steam Play → “Activar Steam Play per a tots els títols”.
- Aquí apareixeran les versions de Proton instal·lades.
1.3. Quina versió triar i per què
Steam té 3 branques:
- Proton estable: provada, sense sorpreses.
- Proton Experimental: integra pegats en proves. Útil per a jocs nou llançats o amb fallades recents.
- Proton-GE (GloriousEggroll): compilació comunitària amb pegats que Valve no ha integrat encara. És molt popular perquè corregeix fallades concretes (reproducció de cinemàtiques en alguns títols, suport de codecs, fixes per a anticheat, etc.).
Exemple real
- Elden Ring → necessita Proton Experimental o GE per evitar stuttering amb EAC.
- Cyberpunk 2077 → funciona millor amb Proton-GE perquè inclou pegats de vkd3d més recents.
- DOOM Eternal → n’hi ha prou amb Proton estable.
1.4. Instal·lar Proton-GE fàcilment amb ProtonUp-Qt
En lloc de compilar Proton-GE manualment, el més ràpid és fer servir ProtonUp-Qt:
A Arch:
sudo pacman -S protonup-qt
A Ubuntu/Debian via Flatpak:
flatpak install flathub net.davidotek.pupgui2
Després:
- Obre ProtonUp-Qt.
- Selecciona instal·lació a Steam.
- Descarrega l’ última Proton-GE.
- Reinicia Steam: apareixerà a la llista de versions.
Així pots triar Proton-GE per joc sense tocar Wine manualment.
1.5. Activació de Proton per joc
No tots els jocs necessiten Proton. Alguns (ex. Dota 2, CS:GO, Celeste, Hollow Knight) tenen versió nativa per a Linux. Fer servir Proton aquí pot reduir el rendiment.
Per això convé activar Proton per joc:
- Clic dret en el joc → Propietats.
- Compatibilitat → “Forçar l’ús de Proton X.Y”.
D’aquesta manera evites aplicar Proton globalment i espatllar el rendiment de títols que ja tenen versió Linux.
1.6. Prefixos: què són i com gestionar-los
Cada joc té el seu propi “entorn Windows” dins de Proton. Ruta:
~/.steam/steam/steamapps/compatdata/<appid>/
A dins trobaràs:
- pfx/ → el prefix Wine (amb el seu “C:” virtual).
- drive_c/ → simula la carpeta de Windows.
Accions útils:
- Esborrar prefix si un joc falla després d’actualitzacions:
rm -rf ~/.steam/steam/steamapps/compatdata/<appid>/
Steam el recrea net en rellançar el joc.
- Editar prefix amb winetricks si un joc necessita llibreries extra:
WINEPREFIX=~/.steam/steam/steamapps/compatdata/<appid>/pfx winetricks corefonts vcrun2019
- Migrar prefix entre PCs copiant la carpeta <appid>. Útil si vols mantenir instal·lacions o saves manuals.
1.7. Variables d’entorn clau per a Proton
A Steam pots afegir opcions en Propietats → Opcions de llançament. Exemples:
- Forçar el backend OpenGL si DXVK defectes:
PROTON_USE_WINED3D=1 %command%
- Desactivar Esync si causa inestabilitat:
PROTON_NO_ESYNC=1 %command%
- Limitar framerate amb DXVK:
DXVK_FRAME_RATE=60 %command%
- Activar log de Proton:
PROTON_LOG=1 %command%
Genera steam-<appid>.log al teu home, útil per a depuració.
1.8. Gestió de DXVK i caché de shaders
Una de les queixes més comunes a Proton és l ‘stuttering per compilació de shaders. Què fer:
- Activa “Shader Pre-Caching” a Steam (Paràmetres → Descàrregues → Shader Pre-Caching).
- Si un joc segueix amb microtallades, esborra la caché de DXVK:
rm -rf ~/.cache/dxvk
- Amb GPUs AMD modernes, Mesa compila i guarda els shaders a /var/cache/mesa_shader_cache/. Esborrar-la de vegades ajuda després d’ actualitzacions grans.
1.9. Exemple complet: instal·lar i córrer un joc a Proton
Suposem The Witcher 3 en un equip amb AMD GPU:
- Instala drivers Mesa recientes (mesa, vulkan-radeon, lib32-vulkan-radeon).
- Instal·la Proton-GE amb ProtonUp-Qt.
- A Steam, en el joc → Propietats → Compatibilitat → Forçar Proton-GE 9.x.
- Opcions de llançament:
gamemoderun mangohud %command%
(això activa Gamemode + MangoHud per monitoritzar).
- Activa Shader Pre-Caching a Steam.
- Juga → rendiment proper a Windows, amb FPS estables.
1.10. Bones pràctiques en fer servir Proton al dia a dia
- No facis servir proton globalment: només en jocs que ho necessitin.
- Tingues diverses versions disponibles (estable, experimental, GE).
- Aprèn a netejar prefixos: és més ràpid que reinstal·lar tot.
- Fes servir ProtonDB com a referència abans d’instal·lar un joc.
- Fes backup de saves manualment: tot i que Steam Cloud funciona, de vegades un prefix trencat s’emporta saves locals.
2. Heroic Launcher: gestió d’Epic i GOG a Linux sense complicacions
2.1. Què és Heroic i per què triar-lo
Heroic Launcher és un frontend gràfic per a Legendary, una eina en CLI que permet accedir a la teva biblioteca d’Epic Games. Amb el temps, Heroic també ha integrat suport per a GOG i Amazon Prime Gaming, de manera que avui és el punt d’entrada més còmode per als qui vulguin jugar a Linux títols que no són a Steam.
El seu avantatge principal:
- Interfície clara, sense dependre de Wine per executar el client oficial d’Epic.
- Permet triar la versió de Proton/Wine a fer servir a cada joc.
- Integra configuració de variables d’entorn, DXVK, esync/fsync, Gamemode.
- Sincronitza saves amb el núvol d’Epic i GOG (quan el joc el suporta).
2.2. Instal·lació i primera arrencada
La via més senzilla és el paquet Flatpak (es manté molt actualitzat):
flatpak install flathub com.heroicgameslauncher.hgl
A Arch/Manjaro també existeix a AUR:
yay -S heroic-games-launcher-bin
En obrir-lo, el primer és iniciar sessió a Epic i/o GOG. Per a Epic, Heroic obrirà una finestra web de login. Per a GOG, n’hi ha prou amb les credencials del teu compte. Un cop fet, veuràs la teva biblioteca.
2.3. Descàrrega i gestió de jocs
Heroic no executa el client oficial d’ Epic: descarrega els binaris directament mitjançant Legendary. Això significa que:
- No hi ha botiga en temps real dins d’Heroic. Per comprar, necessites fer-ho des del navegador al web d’Epic o GOG.
- La instal·lació és lleugera, sense publicitat ni sobrecàrrega.
Els jocs es descarreguen en la ruta que defineixin en Configuració → Carpetes. Convé assignar un disc amb bon rendiment de lectura (NVMe si és possible) perquè alguns títols d’Epic, com Borderlands 3, carreguen moltes textures dinàmiques.
2.4. Wine, Proton i Vi-GE en Heroic
Heroic necessita un “runner” per executar els jocs de Windows. Aquí hi ha diverses opcions:
- Proton (Valve): es pot fer servir dins d’Heroic. Normalment ho detecta si està instal·lat a Steam.
- Wine estàndard: recomanat només si busques una cosa molt específica o per a proves.
- Wine-GE (GloriousEggroll): igual que Proton-GE, però pensat per a Heroic/Lutris. És l’opció més recomanable en la majoria de jocs d’Epic.
Instal·lació de Wine-GE a Heroic
Heroic inclou un gestor intern: Configuració → Wine Manager.Aquí pots instal·lar Wine-GE i versions específiques de Proton-GE. Apareixeran després a la llista desplegable de cada joc.
Això evita haver de compilar manualment Wine amb pegats, que és laboriós i no sempre estable.
2.5. Configuració avançada per joc
A Heroic, cada joc té una pestanya de Configuració. Les opcions més rellevants són:
- DXVK / VKD3D: activar o desactivar la traducció a Vulkan. Alguns jocs antics funcionen millor amb OpenGL forçat (PROTON_USE_WINED3D=1).
- Esync i Fsync: acceleren la gestió de fils a Wine. Convé tenir-los activats llevat que notis inestabilitat.
- Gamemode: integra gamemoderun automàticament si el tens instal·lat.
- Variables d’entorn personalitzades: pots afegir el mateix que a Steam (exemple: PROTON_LOG=1).
Exemple pràctic: Borderlands 3 (Epic)
- Instal·lar amb Wine-GE més recent.
- Activar DXVK i Fsync.
- En variables d’ entorn, afegir:
DXVK_ASYNC=1
Això redueix stuttering a GPU AMD.
- Guardar i llançar: rendiment similar a Steam amb Proton.
2.6. Gestió de prefixos a Heroic
Cada joc té el seu propi prefix, igual que a Proton. La ruta habitual és:
~/.var/app/com.heroicgameslauncher.hgl/config/heroic/Prefixes/<nombre del juego>/
Accions útils:
- Resetejar prefix: des de la interfície, Heroic permet esborrar l’entorn Wine i regenerar-lo. Molt útil si un pegat el trenca.
- Winetricks: Heroic permet executar winetricks directament sobre un prefix concret. Per exemple, instal·lar vcrun2019 si un joc ho exigeix.
2.7. Sincronització de saves
Heroic sincronitza amb el núvol d’Epic i GOG quan el joc el suporta. No obstant això, hi ha matisos:
- Alguns jocs d’Epic no exposen l’API de saves (exemple: GTA V). En aquest cas, Heroic no pot sincronitzar.
- Per fer backup manual: copiar la carpeta Saved Games dins del prefix.
Exemple: The Outer Worlds (Epic) → saves a
~/.var/app/com.heroicgameslauncher.hgl/config/heroic/Prefixes/TheOuterWorlds/pfx/drive_c/users/steamuser/Saved Games
2.8. Logs i diagnòstic
Quan un joc no arrenca a Heroic:
- Obre Configuració del joc → pestanya Logs.
- Activa WINEDEBUG=-all,+seh,+tid per obtenir un log detallat.
- Revisa si falta alguna DLL o si hi ha error de DXVK.
Moltes vegades els errors de llançament se solucionen instal·lant els Visual C++ Runtimes amb winetricks:
WINEPREFIX=~/.var/app/com.heroicgameslauncher.hgl/config/heroic/Prefixes/<juego>/pfx winetricks vcrun2019
2.9. Integració amb altres launchers
Tot i que Heroic cobreix Epic i GOG, no és exclusiu:
- Pots exportar jocs a Steam (apareixen com a accessos directes). Útil per centralitzar-ho tot i seguir fent servir Big Picture/Steam Deck UI.
- També pots barrejar Heroic amb Lutris si necessites configuracions encara més fines (exemple: instal·lar mods complexos).
2.10. Exemple complet: instal·lar i configurar un joc de GOG
Suposem que vols jugar a Disco Elysium (GOG) a Linux fent servir Heroic:
- Instal·la Heroic via Flatpak.
- Inicia sessió amb el teu compte de GOG.
- Descàrrega Disco Elysium des d’Heroic.
- En Configuració del joc:
- Runner: Wine-GE més recent.
- DXVK activat.
- Gamemode habilitat.
- Variables opcionals:
MANGOHUD=1 %command%
per monitoritzar FPS.
- Llançar → el joc corre estable, amb temps de càrrega més ràpids que a Windows.
2.11. Bones pràctiques amb Heroic
- Mantenir diversos runners instal·lats (Wine-GE 8.x, 9.x i Proton-GE) per provar quina versió va millor amb cada títol.
- No instal·lis tot al mateix prefix: deixa que Heroic en creï un per joc per evitar conflictes.
- Fes servir els logs quan alguna cosa falli: no reinstal·lis sense més, revisa primer quin DLL falta.
- Recolza saves manualment: encara que Heroic sincronitzi, mai confiïs al 100 % en Epic/GOG Cloud.
3. Optimització de rendiment a Linux per a gaming
La compatibilitat que ofereixen Proton i Heroic no serveix de gaire si el sistema no està ben preparat. En aquest bloc s’aborden ajustos que solen marcar diferències notables en jocs exigents o inestables.
3.1. Controladors gràfics
AMD
- Els drivers lliures Mesa són l’opció recomanada.
- En distribucions rolling (Arch, Manjaro, Fedora Rawhide) convé mantenir Mesa actualitzat, perquè moltes millores arriben mensualment.
- Paquet clau:
sudo pacman -S mesa vulkan-radeon lib32-vulkan-radeon
- A Ubuntu:
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade
NVIDIA
- Aquí el crític és fer servir el driver propietari.
- Exemple a Arch:
sudo pacman -S nvidia nvidia-utils lib32-nvidia-utils
- A Ubuntu, normalment n’hi ha prou amb:
sudo ubuntu-drivers autoinstall
- Per a portàtils híbrids: prime-run (Arch/Manjaro) o nvidia-prime (Ubuntu).
Diferència pràctica: en AMD rara vegada necessites scripts addicionals. A NVIDIA gairebé sempre cal llançar els jocs amb prime-run %command% si vols fer servir la GPU dedicada.
3.2. Kernel i pegats relacionats
El kernel influeix més del que sembla en jocs amb alt ús de fils.
- Esync/Fsync requereixen que el kernel tingui certes capacitats de gestió d’esdeveniments. Avui la majoria de distros modernes l’inclouen.
- Per a entorns exigents (eSports, simuladors amb molta E/S) alguns opten per kernels amb pegats Liquorix o Zen:
# Exemple en Debian/Ubuntu
sudo add-apt-repository ppa:damentz/liquorix
sudo apt update
sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
No sempre donen més FPS, però poden suavitzar stuttering.
3.3. Gamemode
Desenvolupat per Feral Interactive, gamemode ajusta paràmetres del sistema en executar un joc:
- Canvia el governador de CPU a performance.
- Desactiva estalvi d’ energia de GPU.
- Optimitza l’I/O scheduler.
Instal·lació
A Arch:
sudo pacman -S gamemode lib32-gamemode
A Ubuntu:
sudo apt install gamemode
Ús
A Steam:
gamemoderun %command%
A Heroic: activar la casella “Gamemode”.
Convé verificar que està actiu amb:
gamemoded -s
3.4. MangoHud
Overlay per monitoritzar FPS, frametimes, temperatura i consum de GPU/CPU. Molt útil per detectar colls d’ampolla reals.
Instal·lació
Arch:
sudo pacman -S mangohud lib32-mangohud
Ubuntu:
sudo apt install mangohud
Ús
A Steam:
MANGOHUD=1 %command%
A Heroic: afegir-lo com a variable d’ entorn.
Exemple de configuració personalitzada (~/.config/MangoHud/MangoHud.conf):
fps
frametime
cpu_temp
gpu_temp
gpu_core_clock
gpu_mem_clock
3.5. Shaders ocults
Els stutters en jocs DXVK solen deure’s a shaders que es compilen en temps real.
- A Steam, Valve distribueix caché precompilats. Si Proton mostra stutter inicial, és probable que encara no tinguis la caché descarregada.
- A Heroic, no hi ha distribució automàtica. La solució és jugar una estona perquè DXVK creï la caché a:
~/.cache/dxvk/
o fer servir DXVK_STATE_CACHE = 0 per desactivar-lo si dóna problemes.
Una altra variable útil:
DXVK_ASYNC=1
Permet compilar shaders en segon pla, reduint microparons.
3.6. Gestió d’energia en portàtils
El rendiment en laptops depèn de perfils d’energia i GPU híbrida.
AMD iGPU + dGPU (Radeon/Navi)
Normalment tot funciona amb DRI_PRIME=1 %command%.
Intel iGPU + NVIDIA
Recomanat fer servir prime-run %command% (Manjaro/Arch) o __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command% en altres distros.
Per a gestió de bateria: tlp o power-profiles-daemon. En jocs, convé fixar sempre el perfil de rendiment:
powerprofilesctl set performance
3.7. Àudio i latència
Alguns jocs tenen talls de so sota PipeWire/PulseAudio. Solucions:
- Forçar ALSA a Proton:
- PULSE_LATENCY_MSEC=60 %command%
- Si fas servir Proton Experimental, activar “low latency audio” en configuracions internes.
3.8. Modificacions i superposicions
Proton i Wine permeten carregar mods, però de vegades l’estructura de carpetes difereix.
- Ruta habitual:
.../steamapps/compatdata/<AppID>/pfx/drive_c/users/steamuser/My Documents/
- A Heroic: dins del prefix corresponent.
Eines com Vortex Mod Manager funcionen sota Proton/Wine, tot i que poden requerir winetricks (dotnet48).
3.9. Casos pràctics d’optimització
Cyberpunk 2077 (Steam Proton)
- Proton-GE recomanat.
- Variables:
DXVK_ASYNC=1
RADV_PERFTEST=aco
- A GPU NVIDIA: desactivar Async si apareixen glitches.
Elden Ring (Steam Proton)
- Necessita Proton-GE per evitar stuttering per Easy Anti-Cheat.
- Gamemode + MangoHud per vigilar pics.
Red Dead Redemption 2 (Heroic, Rockstar via Epic)
- Runner: Wine-GE més recent.
- Variables:
PROTON_USE_WINED3D=0
DXVK_ASYNC=1
- Llançar sempre a Vulkan, DirectX 12 sol fallar.
3.10. Check ràpid
- Drivers actualitzats (Mesa o NVIDIA propietari).
- Kernel ≥ 6.x amb suport fsync.
- gamemoderun i mangohud instal·lats.
- Prefixos nets, un per joc.
- Proton-GE i Wine-GE disponibles.
- Variables provades amb logs, no a cegues.
- Exportar saves manualment de cop.