WPROTON - Lanzador de juegos windows en formato WSQUASHFS

WProton — Proton + WSquashFS para tener juegos Windows comprimidos y portables

Para los que tenemos colecciones grandes de juegos de Windows en Linux, creo que este proyecto merece echarle un vistazo:

https://github.com/stshunz/WProton

WProton es un lanzador/gestor de Proton y Wine que añade algo bastante interesante: la posibilidad de empaquetar las instalaciones de los juegos en WSquashFS, utilizando SquashFS con compresión Zstandard (zstd).

La gracia está en que no necesitas descomprimir el juego para ejecutarlo. El contenido permanece comprimido y se monta para su ejecución, utilizando un overlay para las modificaciones.

Esto permite tener algo parecido a una instalación tradicional, pero almacenada como un único paquete comprimido.

¿Qué ventajas tiene?

  • Ahorro de espacio gracias a SquashFS + zstd.
  • Sin descompresión previa: el juego se ejecuta directamente desde el sistema comprimido.
  • Integridad del paquete: el contenido original permanece en solo lectura.
  • Overlay para escrituras: saves, configuraciones y modificaciones pueden mantenerse fuera del paquete.
  • Portabilidad: puedes mover el juego junto con su entorno de ejecución.
  • Menos instalaciones desperdigadas: el juego puede contener su propio prefix y configuración.

Además, WProton permite importar juegos desde ZIP, 7z, RAR, WTGZ, carpetas o ejecutables y preparar la instalación antes de generar el WSquashFS definitivo.

Proton/Wine también queda gestionado desde WProton

No se limita a ejecutar un Proton concreto. Puedes gestionar diferentes runners y descargarlos desde el propio programa.

Cada juego puede tener su propia configuración de runner, ejecutable, prefix, argumentos, DXVK, FSR, Gamescope, MangoHud, GameMode, FSync/ESync, DLL overrides, variables de entorno, etc.

También integra herramientas como winecfg, Winetricks, redistribuibles, dgVoodoo2 y OptiScaler.

Y tiene su propio frontend

Aquí hay otro detalle que me parece bastante interesante para máquinas dedicadas a juegos.

WProton tiene su propio menú gráfico, con búsqueda y navegación por la colección, y puede manejarse completamente mediante gamepad.

Además, permite utilizar carátulas descargadas desde SteamDB, por lo que los juegos aparecen organizados visualmente en el propio lanzador en lugar de tener que depender obligatoriamente de otro frontend.

También puede integrarse con ES-DE y está orientado a funcionar en sistemas como CachyOS, SteamOS/Steam Deck y Batocera.

Portabilidad

Otra de las características interesantes es que WProton intenta mantener todo el entorno dentro del mismo directorio.

Puedes tener juntos:

  • WProton
  • Proton/Wine
  • Prefixes
  • Configuraciones
  • Saves
  • Cachés
  • Juegos WSquashFS

Incluso existe la posibilidad de incluir el propio Wine dentro del WSquashFS, haciendo que el paquete sea todavía más autocontenido.

Esto abre posibilidades interesantes para tener colecciones en discos externos, SSD, handhelds o sistemas tipo Batocera sin tener que reconstruir las instalaciones cada vez que cambias de máquina.

En definitiva

Lo interesante de WProton, al menos desde el punto de vista de la scene, no es simplemente «otro lanzador para Proton».

La idea de utilizar SquashFS + zstd como formato de almacenamiento de juegos Windows, ejecutarlos directamente desde el contenido comprimido y combinarlo con prefixes, runners y configuraciones portables puede resultar bastante útil para quien tenga una colección grande.

En cierto modo, convierte una instalación de Windows + Proton/Wine en algo más parecido a una imagen de juego portable y comprimida:

Juego + datos + configuración + entorno de ejecución → un paquete que puedes mover y ejecutar.

Y todo ello sin tener que sacrificar el uso normal de Proton/Wine ni depender obligatoriamente de Steam.

🔗 Proyecto:
https://github.com/stshunz/WProton

P.D. En resumen, este lanzador es el paraíso caribeño para Linux.
No pinta nada mal, se prevé su integración en retroarch, scummvm, dosbox? digo esto sin haber ojeado el repo
Programa hecho con la ayuda de Claude, si estas en contra de usar IA como ayuda a la programación no sigas leyendo.

Qué bajona así de repente [triston]

PD: Su puta madre va a darle permisos y ejecutar un sh de 6500 líneas que ni el "autor" sabe lo que hace [qmparto]
El código esta todo metido en un único archivo, mezcla python y bash, no sé... creo que la idea es interesante, batocera utiliza algo similar por eso.
Prefiero Faugus Launcher, la verdad.

https://github.com/Faugus/faugus-launcher

Un cordial saludo.
@largeroliker

Que permisos te refieres? SI el trabajo lo hace todo en modo usuario, puedes revisar el código cuando quieras, verás que no hay nada chungo, por eso tiene un github.

@Hav4k

La gracia de este lanzador es que trabajas con juegos como si fueran roms, comprimidos en un solo archivo y generalmente ocupando la mitad de espacio., eso Faugus launcher no lo hace.

@mekkon

Claro, lo que se ha aprovechado es el formato de compresión de los juegos de Batocera (wsquashfs) y hecho un lanzador para Linux potenciado.

Sinceramente flipo como alguien puede verle pegas a esto, quizá es porque aún no han comprendido lo que realmente hace.
Notarioh escribió:@largeroliker

Que permisos te refieres? SI el trabajo lo hace todo en modo usuario, puedes revisar el código cuando quieras, verás que no hay nada chungo, por eso tiene un github.

Es que hice caso a las dos primeras líneas y no seguí leyendo, pero mirando en diagonal encontré un apartado que pedía "darle permisos", aunque eran permisos de ejecución.

Sobre que tenga cosas chungas o no, si tú te sientes capaz de fiscalizar un shell script de 6500 líneas para comprobar que no tenga ninguna cagada gorda... [+risas] porque yo personalmente paso.
Además, conceptualmente el proyecto nace muerto, porque proton es algo que está muy vivo y el proyecto necesitará estar vivo al nivel de proton, y requiriendo IA es complicado que nadie vaya a mantener esto en condiciones.

Es una pena, el concepto es bueno, pero falla la ejecución.
largeroliker escribió:
Notarioh escribió:@largeroliker

Que permisos te refieres? SI el trabajo lo hace todo en modo usuario, puedes revisar el código cuando quieras, verás que no hay nada chungo, por eso tiene un github.

Es que hice caso a las dos primeras líneas y no seguí leyendo, pero mirando en diagonal encontré un apartado que pedía "darle permisos", aunque eran permisos de ejecución.

Sobre que tenga cosas chungas o no, si tú te sientes capaz de fiscalizar un shell script de 6500 líneas para comprobar que no tenga ninguna cagada gorda... [+risas] porque yo personalmente paso.
Además, conceptualmente el proyecto nace muerto, porque proton es algo que está muy vivo y el proyecto necesitará estar vivo al nivel de proton, y requiriendo IA es complicado que nadie vaya a mantener esto en condiciones.

Es una pena, el concepto es bueno, pero falla la ejecución.


No entiendo muy bien a que te refieres con lo de comprobar las 6500 líneas de código a que no tenga ninguna cagada, no se si sabes que lo que se entrega es un programa totalmente funcional y bastante testeado, que seguramente tenga bugs en el código o se pueda optimizar más? Probablemente, pero suena más a clavo ardiente usado de excusa mental por seguir un poco la moda de echar mierda a cualquier cosa hecha con IA. EMHO.

Con lo de muerto a que te refieres? La persona que lo ha hecho es amigo mío y ya te digo yo que no se va a abandonar y bueno para eso está el github, no? Por si alguien quiere retomarlo o mejorarlo de cara al futuro. Este proyecto está menos muerto que cualquier emulador de código cerrado, eso ya te lo aseguro yo.

Este proton lo ha creado un amigo mío del que forma parte de un grupo del que somos siete personas del cual no paramos de hacer brainstorming para cosas de scene para Linux del estilo de este programa, así que te repito, lo de muerto es presuponer demasiado, tu déjate de rollos de IA, prueba el concepto y ahórrate unas cuantas gigas del disco duro y disfruta, que precisamente este programa ha sido creado para que la gente se deje de historias y disfrute,

Siempre puedes usar una IA para que te revise el código por si detecta alguna anomalía, que siempre que se usa la IA para uso personal, ahí los complejos del "slop" desaparecen.
@Notarioh Buena suerte manteniendo a mano código generado por IA [+risas]
Yo, con el dato de que el autor es amigo tuyo, lo dejo aquí. Tampoco tengo ganas de buscar bronca, pero mi opinión sigue siendo la misma.
@Notarioh a ver, que sí, que esta currado entiendo, pero a nivel de programación... seriamente, que sea bash que te haga los scripts de python es una practica bastante mala, lo ideal seria hacerlo en python y, si se quiere, un bash para llamar al script principal de python.
mekkon escribió:@Notarioh a ver, que sí, que esta currado entiendo, pero a nivel de programación... seriamente, que sea bash que te haga los scripts de python es una practica bastante mala, lo ideal seria hacerlo en python y, si se quiere, un bash para llamar al script principal de python.


Tiene una razón de ser, el Wproton nació porque el compañero está trabajando en una especie de RetroBAT para Linux, totalmente portable y para la ejecución de juegos Windows se usaba Port Proton, al final se ha optado por crear un lanzador de juegos propio y por eso nació este proyecto.

Le pasaremos tu feedback a claude. [hallow]
10 respuestas