[UTILIDAD] Relic

Relic - Fork de Heroic que implementa novedades únicas para ocupar menos RAM y hacerlo menos dependiente de Heroic

Hola chicos, me paso por aquí después de un unos cuantos meses sin aparecer...
Os dejo aquí una nueva herramienta que he decidido compartirla públicamente. Sí, soy el creador de Relic, un fork de Heroic Games Launcher que hice porque quería dejar de usar Heroic y usar más Steam. Por otro lado, me gustaba su sistema de descarga y la unión de cuentas de varias tiendas. En vez de hacer algo desde cero, preferí coger Heroic y quitarle todo lo que no necesitaba.

El proceso

Usé vibe coding (que no se enfade la gente) para limpiar el código: quité Wine Manager, Proton Manager, MangoHud, Gamescope, el soporte para macOS y Windows, y un montón de funcionalidades que no iba a usar. También actualicé todas las vulnerabilidades y modernicé el tooling.

Además, lo uní con otro proyecto mío, umu-hero (https://github.com/FranjeGueje/umu-hero), que era una herramienta independiente para añadir juegos de Heroic a Steam con soporte UMU/Proton.

umu-hero hacía estas cosas:
- Convertir rutas de Linux a rutas Windows (windowify)
- Crear prefijos UMU con protonfixes específicos por juego
- Detectar juegos de Epic, GOG y Amazon desde Heroic
- Añadir ejecutables arbitrarios a Steam
- Descargar grids de SteamGridDB
- Integración con Protontricks

Toda esa lógica ahora está integrada directamente en Relic.

umu-hero no llegué a anunciarlo por estos foros, pero la verdad que siempre le he tenido cariño ya que lo hice desde cero y es el que siempre he usado junto a Heroic como un plugin externo.

umu-hero (proyecto original)

Antes de fusionarlo con Relic, umu-hero era una herramienta independiente con interfaz gráfica propia. Estos son algunos pantallazos de cómo era:

Imagen

Imagen

Imagen

Imagen


¿Qué hace Relic?

Relic descarga juegos de Epic Games, GOG, Amazon Games y Zoom Platform, y los mete automáticamente en Steam como si fueran juegos normales. A partir de ahí, ya debes de usar protrontricks, proton de Steam, ... porque es un juego de Steam, no de Relic (ni Heroic)

¿Cómo funciona por dentro?

Esto es lo interesante: los launchers de cada tienda (legendary para Epic,gogdl para GOG, nile para Amazon) no corren en Linux. Corren sobre Windows dentro del prefijo de Proton. Relic "windowifica" las rutas para que todo funcione como si estuvieras en Windows, y luego Steam ejecuta el launcher correspondiente a través de Proton en su versión de Windows y autenticado contra la sesión que inició Relic.

Es decir: Steam → Proton → legendary.exe/gogdl.exe/nile.exe → juego.

Relic NO está corriendo en segundo plano. No consume RAM extra de un Heroic, Epic, ... Relic solo instala y se va.

Tiendas soportadas

- Epic Games (vía Legendary)
- GOG (vía gogdl)
- Amazon Games (vía Nile)
- Zoom Platform

Instalación

Un solo comando:

curl -sL https://raw.githubusercontent.com/FranjeGueje/Relic/master/scripts/install.sh | bash


Te descarga la AppImage, la mete en Steam como juego no-Steam, y si tienes una única carpeta de usuario en Steam, también te descarga las imágenes de grid (portada, hero, etc.).

También puedes descargar la AppImage manualmente desde la página de releases:
https://github.com/FranjeGueje/Relic/releases

Screenshots

Imagen

Imagen

Imagen

Imagen


Cómo funciona (versión corta)

1. Abres Relic
2. Inicias sesión en la tienda que quieras
3. Seleccionas un juego
4. Le das a instalar
5. Relic lo descarga, lo configura y lo mete en Steam
6. Cierras Relic
7. Abres Steam, el juego está ahí
8. Juegas desde Steam

Limitaciones

- Solo Linux (no hay versión para Windows ni macOS)
- No lanza juegos — eso lo hace Steam
- Necesitas Steam abierto para añadir juegos
- Algunas funcionalidades están en desarrollo

Links

- Repositorio: https://github.com/FranjeGueje/Relic
- umu-hero: https://github.com/FranjeGueje/umu-hero
- Issues: https://github.com/FranjeGueje/Relic/issues

Si lo pruebas, cuéntame qué tal te va. Cualquier bug o sugerencia, podéis comentar.
Espero que os sirva a alguno... Simplemente quería compartirlo con vosotros.
Saludos XD
Increíble la aplicación [tadoramo]

La verdad es que es muy buena idea eso d epoder lanzar los juegos corriendo lo mínimo posible por detras, sobre todo en cacharros como la Deck.

Solo una duda, que no se si es algo ya resuelto en Heroic. Supongo que usarás Comet para todo el tema de la comunicación de los juegos de GOG con el SDk de Galaxy para cosas como el registro de los logros y tal. Pero no se si tienen previsto el tema, no se si es algo ya a nivel de Comet, o que debería hacer Relic, de interceptar esa comunicación para, por ejemplo, mostrar la notificación del logro conseguido. Que supongo que ya es meterse un jaleo mayos, porque es meterle un overlay por encima del juego cuando se esta ejecutando y tal.

Un saludo y, de nuevo, enhorabuena por el proyecto!
@fonso86 gracias por tus comentarios!

Pues lo de la parte de comet lo tenía en el tintero... y acabo de lanzar una pequeña versión nueva (v0.5.1) que lo implementa. Pero lo del overlay tengo dudas, según su documentación parece que sí envía, pero no sé... He añadido de forma experimental el arranque de comet antes de cualquier juego de GOG. Parece ser que conecta y es correcto, pero habrá que hacer pruebas. En principio comet está pensado para Heroic, Lutrix y wyvern (no conocía este CLI de GOG).

Aprovechando que lanzo todos los launcher en Windows (nile, legendary, gogdl, ...) y no en linux, también puedo lanzar comet.exe. Parece ser que corre bien pero habrá que hacer pruebas de si al menos recolecta los logros cuando los consigues. Lo dejo en modo "experimental" a falta de ver el feedback y también cómo avanza la herramienta.

Aquí os dejo lo que muestra la salida de Relic cuando "conecta" con GOG gracias a comet (está formateado para una mejor lectura):
Relic runner version 2

[2026-07-29T21:24:35Z INFO ] comet
Preferred language: es-ES

[2026-07-29T21:24:35Z INFO ] comet
Listening on port 9977

[2026-07-29T21:24:35Z INFO ] comet::api::notification_pusher
Connected to notifications-pusher

[2026-07-29T21:24:35Z INFO ] comet::api::notification_pusher
Sent authorization data

[2026-07-29T21:24:35Z INFO ] comet::api::notification_pusher
Subscribing to chat, friends, presence

[2026-07-29T21:24:35Z INFO ] comet::api::notification_pusher
Completed subscribe requests

[2026-07-29T21:24:36Z INFO ] comet::api::notification_pusher
Successfully subscribed to topic chat

[2026-07-29T21:24:36Z INFO ] comet::api::notification_pusher
Successfully subscribed to topic friends

[2026-07-29T21:24:36Z INFO ] comet::api::notification_pusher
Successfully subscribed to topic presence

Launch command:
c:\games\Worms Revolution\WormsRevolution.exe

[2026-07-29T21:24:40Z INFO ] comet::api::handlers::communication_service
Client identified as:
XXXXXXX
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

[2026-07-29T21:24:40Z INFO ] comet::api::handlers::communication_service
Game PID: 520

[2026-07-29T21:24:41Z INFO ] comet::db::gameplay
Setting up database at:
C:\users\steamuser\AppData\Local\comet\gameplay\55197597265515702\46988925412590216\gameplay.db

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Uploading new achievements

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Uploaded achievements

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Uploading new stats

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Uploaded stats

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Syncing leaderboards

[2026-07-29T21:24:51Z INFO ] comet::api::handlers
Leaderboards synced


Saludos!
Te pongo estrellita en Github por que este tipo de apps requiere conocimientos en magias oscuras que muy poca gente se atreve siquiera a intentarlo.

¿Has intentado anunciarte en reddit steam deck?
@pakico joder, que rapidez!

La verdad es que lo de Comet es un tema, porque parece que tampoco es fiable al 100%. Creo que en su propio repo comentan que no funciona en todos los juegos, como por ejemplo Cuphead. Pero vamos, ya el hecho que desde Relic sea capaz de ir registrandote los logros conseguidos me parece una maravilla.

Sobre el tema de las notificaciones de los logros de GOG, al final creo que los unicos caminos son, o "integrarte" dentro de decky loader, lo cual es un poco rollo, porque es forzar a la gente a instalar decky loader, y el plugin que crees para estas notificaciones (y mantener dos cosas diferentes). O tirar del layer-shell de wayland, para pintar todo por ahi.

Pero claro, esto tambien depende de la propia gente de Comet, y proponerle que en el NotifyAchievementUnlocked se escriba un evento a un canal simple pensado para consumidores externos. Los de Heroic también creo que tenian en su roadmap hacer algo similar, pero a saber si estan esperando que la gente de Comet haga esta parte, o si estan creando una solucion por su cuenta.
@pepeizq3 gracias por tus comentarios! (Y la estrellita jeje) Al final son desarrollos que uno hace con cariño y sin otro ánimo nada más que por compartirlo. Sí, lo subiré a Reddit en estos días.

@fonso86 estoy empapándome de la documentación de Comet. Y dice tal cual lo que indicas. Todavía puedo mejorarlo más añadiendo el servicio dummy que indica y que mejoraría algunos juegos. Lo añadiré para la próxima versión. Para bien y para mal, uso Windows para arrancar estos procesos y launchers y es posible que hasta nos venga bien. Ahora mismo, en este estado lo tengo en pruebas. Quiero ver si registra los trofeos, si suben bien la info, ... Si alguien detecta algo sobre esto que me actualice, please.
Sobre el plugin de decky, podría ser una solución y encima podría ser genérico para mandar mensajes al overlay (no solo para comet). Sería otro frente y otro melón para abrir. Además, coincido 100% contigo. Yo soy de los que no me gusta usar decky jeje.
En resumen, veré cómo evolucionan las pruebas y evolucionamos está rama de Comet.

Edito: Os actualizo... He arrancado por ejemplo Blade of Darkness en GOG con Comet activado y me lanza errores a la hora de subir el trofeo (con solo ver la intro ya de ta un trofeo o por matar a un solo enemigo también). El warning aparece en el momento en que debe de aparecer el trofeo, es decir, que detectar que ha habido un trofeo lo detecta, pero peta... Se muestra un error de que no tiene implementado aún el tipo de request:
[2026-07-31T01:29:40Z INFO comet] Prefered language: es-ES
[2026-07-31T01:29:40Z INFO comet] Listening on port 9977

[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Connected to notifications-pusher
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Sent authorization data
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Subscribing to chat, friends, presence
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Completed subscribe requests
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Successfully subscribed to topic chat
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Successfully subscribed to topic friends
[2026-07-31T01:29:40Z INFO comet::api::notification_pusher] Successfully subscribed to topic presence

[2026-07-31T01:29:44Z INFO comet::api::handlers::communication_service] Client identified as XXXXXX
[2026-07-31T01:29:44Z INFO comet::api::handlers::communication_service] Game PID: 544

[2026-07-31T01:29:45Z INFO comet::db::gameplay] Setting up database at "C:\users\steamuser\AppData\Local\comet\gameplay\54686568067061971\46988925412590216\gameplay.db"

[2026-07-31T01:29:55Z INFO comet::api::handlers] Syncing leaderboards
[2026-07-31T01:29:55Z INFO comet::api::handlers] Leaderboards synced

[2026-07-31T01:30:58Z WARN comet::api::handlers::communication_service] Unhandled communication service message type 43
[2026-07-31T01:30:58Z WARN comet::api::handlers] Request type not implemented

[2026-07-31T01:31:01Z WARN comet::api::handlers::communication_service] Unhandled communication service message type 43
[2026-07-31T01:31:01Z WARN comet::api::handlers] Request type not implemented

[2026-07-31T01:31:01Z WARN comet::api::handlers::communication_service] Unhandled communication service message type 43
[2026-07-31T01:31:01Z WARN comet::api::handlers] Request type not implemented

[2026-07-31T01:31:07Z WARN comet::api::handlers::communication_service] Unhandled communication service message type 43
[2026-07-31T01:31:07Z WARN comet::api::handlers] Request type not implemented


Pero por otro lado, para el juego TOEM, sí detecta el trofeo y lo sube a GOG:
[2026-07-31T01:04:45Z INFO comet] Prefered language: es-ES
[2026-07-31T01:04:45Z INFO comet] Listening on port 9977

[2026-07-31T01:04:46Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 1 of 8
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Connected to notifications-pusher
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Sent authorization data
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Subscribing to chat, friends, presence
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Completed subscribe requests
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Successfully subscribed to topic chat
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Successfully subscribed to topic friends
[2026-07-31T01:04:46Z INFO comet::api::notification_pusher] Successfully subscribed to topic presence

[2026-07-31T01:04:46Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 2 of 8
[2026-07-31T01:04:46Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 3 of 8
[2026-07-31T01:04:47Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 4 of 8
[2026-07-31T01:04:47Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 5 of 8
[2026-07-31T01:04:47Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 6 of 8
[2026-07-31T01:04:47Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 7 of 8
[2026-07-31T01:04:47Z INFO comet::api::gog::components] Downloading desktop-galaxy-peer file 8 of 8

[2026-07-31T01:05:15Z INFO comet::api::handlers::communication_service] Client identified as XXXXXXXXXXXX
[2026-07-31T01:05:15Z INFO comet::api::handlers::communication_service] Game PID: 976

[2026-07-31T01:05:15Z INFO comet::db::gameplay] Setting up database at "C:\users\steamuser\AppData\Local\comet\gameplay\54788803972017483\46988925412590216\gameplay.db"

[2026-07-31T01:05:27Z INFO comet::api::handlers] Uploading new achievements
[2026-07-31T01:05:27Z INFO comet::api::handlers] Uploaded achievements
[2026-07-31T01:05:27Z INFO comet::api::handlers] Uploading new stats
[2026-07-31T01:05:27Z INFO comet::api::handlers] Uploaded stats
[2026-07-31T01:05:27Z INFO comet::api::handlers] Syncing leaderboards
[2026-07-31T01:05:27Z INFO comet::api::handlers] Leaderboards synced

[2026-07-31T01:07:48Z INFO comet::api::handlers::communication_service] Unlocking achievement LEAVE_HOME_WITH_BUS, El comienzo
[2026-07-31T01:07:58Z INFO comet::api::handlers] Uploading new achievements
[2026-07-31T01:07:58Z INFO comet::api::handlers] Uploaded achievements

[2026-07-31T01:15:07Z INFO comet::api::handlers::communication_service] Unlocking achievement SIGHT_PHOTO_HOME_HOUSE, Hogar, dulce hogar
[2026-07-31T01:15:17Z INFO comet::api::handlers] Uploading new achievements
[2026-07-31T01:15:17Z INFO comet::api::handlers] Uploaded achievements

[2026-07-31T01:17:43Z INFO comet::api::handlers::communication_service] Unlocking achievement VISIT_REGION_FOREST, El bosque pacífico.
[2026-07-31T01:17:57Z INFO comet::api::handlers] Uploading new achievements
[2026-07-31T01:17:57Z INFO comet::api::handlers] Uploaded achievements

[2026-07-31T01:18:20Z INFO comet::api::handlers] Socket connection closed with Some("XXX")


Incluso se ven los trofeos en pantalla dentro del juego. Se ven en blanco y negro con el mismo tono que el juego.
En la página de usuario de GOG Galaxy me aparecen los logros desbloqueados.

En resumen, me parece que funcionan algunos sí y otros no y que la compatibilidad es limita tal y como indican en su página. Entiendo que tiene que mejorar un poquito más Comet para tener más compatibilidad, pero promete... y parece que se integra bien en Windows con Proton. Además, sigo en mis trece de que está en modo experimental y habría que hacer más pruebas para ver si se muestran o no...
pakico escribió:Incluso se ven los trofeos en pantalla dentro del juego. Se ven en blanco y negro con el mismo tono que el juego.
En la página de usuario de GOG Galaxy me aparecen los logros desbloqueados.


Si no recuerdo mal, lo que se ve en pantalla son los tipicos "logros internos" que tienen muchos juegos, y que en realidad no estan conectados con los de la plataforma en la que juegas. De hecho, te salta una doble notificacion: la del logro de la plataforma, y la del logro del juego. Si pones la versión del Toem sin Galaxy de por medio (tirando directamente del .exe), seguirán saltandote estas notificaciones, pero no se van a registrar en Galaxy.

Sobre los errores, si no recuerdo mal, poco despues de lanzar el sistema de logros de Galaxy, sacaron una actualizacion donde los devs ya no tenían la obligatoriedad de usar el SDK de Galaxy para registrar los logros, sino que habian creado una especie de workaround para que, si el juego ya tenia el sdk de Steam integrado, el sdk de Galaxy "atrapaba" las llamadas que generaba el sdk de Steam al conseguirse un logro, y las registraba como logro de Galaxy.

No se si esto seguirá siendo así, pero no te extrañe que los problemas con algunos juegos que tiene Comet vengan por ahi, que registre bien los logros registrados de forma interna por Galaxy, pero no los que tiene que convertir desde el sdk de Steam.
@fonso86 tiene sentido lo que indicas. Los pop-ups que saltan son los del propio juego y dentro de él (y renderizado por él). Tiene todo el sentido. Así que para las notificaciones tendremos que esperar o desarrollar algo en decky o en el renderizado como bien dijiste.

Sobre la captura de los logros y subida a Galaxy tiene toda la pinta que sí funciona para algunos. Estuve con la ventana abierta de Comet capturando la salida y con la web abierta del juego en Galaxy y vi como aparecía en los logs de Comet y poco después en la web.

De momento dejaré este tema como está implementado ahora. Pero lo seguiré de cerca. Gracias @fonso86 por tus comentarios XD
7 respuestas