WINE vs. Proton: qué son y cuándo merece la pena usar cada opción para ejecutar apps de Windows en Linux
En Linux hay mucho software para que no tengamos que pensar en otros sistemas operativos. Pero seamos honestos: a veces necesitamos algo de Windows y tenemos que hacer alguna cosa para ejecutar alguna de sus aplicaciones. Puede ser en un disco externo con una versión «To Go», en una máquina virtual o con herramientas como WINE. Aunque la mayoría de opciones se basan en el «no emulador», hay donde elegir, como por ejemplo Bottles o hace tiempo PlayOnLinux.
Por si las opciones disponibles no fueran suficientes, Valve, la compañía dueña de Steam, ofrece Proton. ¿Qué es? ¿Es mejor que WINE? ¿Cuándo merece la pena usar uno u otro? En este artículo vamos a explicar todo lo necesario para conocer todas las respuestas. Aunque antes un spoiler: Proton también es descendiente de WINE, por lo que al fin y al cabo estaremos usando siempre lo mismo con algunas diferencias.
Qué es WINE
WINE, cuyas siglas provienen de WINE Is Not an Emulator, es una capa de compatibilidad capaz de ejecutar aplicaciones de Windows en varios sistemas operativos POSIX, como los de base Linux. También están en esa lista macOS y BSD, entre otros. A diferencia de un emulador que trata de imitar la lógica de Windows, WINE traduce las llamadas de las API de Windows en llamadas POSIX mientras se realizan, eliminando los bajones de rendimiento y memoria de la emulación y permitiendo integrar las apliacaciones de Windows en nuestro escritorio perfectamente.
WINE empezó su desarrollo en 1993, y ha mejorado mucho en los 31 años que está disponible. Su instalación es sencilla en cualquier distribución Linux: en el terminal se debe escribir el comando de instalación de turno junto al paquete «wine», lo que en las distros con base Debian quedaría como sudo apt install wine
, en las de base Fedora sudo dnf install wine
y en las de base Arch sudo pacman -S wine
.
Opcional, pero aconsejable, tras la instalación merece la pena lanzar winecfg
para configurar algunos valores del software. Esto era más importante hace unos meses, cuando la compatibilidad por defecto usada era Windows 7; ahora ya es Windows 10
Para lanzar un programa con WINE «pelado», es decir, sin ninguna herramienta gráfica como las mencionadas Bottles o PlayOnLinux, lo único que tenemos que hacer es escribir el comando wine nombre_del_ejecutable.exe
.
Qué es Proton
Proton es básicamente un fork de WINE. Está personalizado y mantenido por Valve en colaboración con CodeWeavers, quien también desarrolla CrossOver. Proton se integra con el cliente de Steam como parte de Steam Play, y en un principio está diseñado para que podamos jugar a los títulos que sólo están disponibles para Windows en Linux. Proton es la mejor herramienta para jugar en Linux… aunque no sólo eso.
Instalar Proton no es tan intuitivo como WINE. Para instalarlo, tendremos que:
- Instalamos Steam en el sistema operativo. Se puede hacer con el gestor de paquetes o tienda de aplicaciones e incluso hay opciones flatpak y snap.
- Abrimos Steam, nos identificamos si nos lo pide y activamos Steam Play desde los ajustes de Steam/Steam Play. Esto instalará Proton y ya podremos hacer uso de él.
Para usar un programa con Proton, la cosa es un poco más complicada. Lo que hay que hacer es, en el cliente de Steam, añadir un programa que no es de Steam y activarle la compatibilidad con Proton. Luego, para lanzarlo, en teoría se puede hacer desde el acceso directo que habrá en el menú de inicio. Si no, se puede lanzar desde el cliente de Steam.
Cuándo usar WINE y cuándo usar Proton
En general, merece la pena usar WINE para aplicaciones generales y software que no es de Steam. Aunque aquí yo recomendaría usar Bottles. Es un programa con interfaz gráfica que nos permite instalar y configurar aplicaciones de Windows. Además, si nos preocupa la limpieza, en el sentido de instalar menos paquetes, Bottles está como paquete flatpak.
En caso de preferir WINE tal cual, es otra opción, y también válida. Si un programa no funciona como esperábamos desde un principio, se puede instalar y lanzar winetricks, lo que permite configurar algunos parámetros.
Por otra parte, Proton se usará para lanzar software que esté en Steam, eso sobre todo. Aunque nunca lo he necesitado, también se puede intentar abrir un programa que no consigamos hacer funcionar con WINE. Que sea un fork significa, entre otras cosas, que no es igual que la opción original, y es una alternativa que puede ser válida.
En la Steam Deck
También tiraremos siempre de Proton si estamos en la Steam Deck, o por lo menos para todas aquellas aplicaciones que queden bien en el modo juego. Si las queremos en el escritorio, podemos hacer aquello de añadirla a Steam y activarle la compatibilidad, lo que, repito, en teoría debería añadir también un acceso directo en el menú de inicio.
Si se da el caso de que nos ha añadido la aplicación en el modo juego y no la queremos ahí, una solución es entrar en la configuración de la app desde dicho modo y eliminarla. No se garantiza que funcione de esta otra manera, pero si nos ha creado un archivo .desktop en ~/.local/share/applications, éste podría ser suficiente para lanzar la aplicación. La magia suele estar en la línea que empieza con Exec=. En el caso de que no se pueda abrir, la volvemos a añadir, hacemos de tripas corazón y que se quede en el modo juego.
No está de más recordar que la Steam Deck es un PC. Por lo tanto, si no queremos tirar de Proton para todo podemos instalar el paquete flatpak de Bottles y hacerlo como lo haríamos en cualquier otro ordenador. Como alternativa, también se puede intentar con Distrobox.
Conclusión
WINE y Proton son dos herramientas que nos permiten ejecutar aplicaciones de Windows en Linux. La segunda desciende de la primera, y es la mejor opción para juegos y aplicaciones de Steam. Por otra parte, WINE es la fuente de la que bebe otro mucho software, y suele ser la mejor opción para lanzar aplicaciones generales.