[HO] Lossless Scaling Frame Generation para Linux/SteamOS

@PHANTASIA funciona bien pero no con todos los emuladores, ryujinx funciona igual que algunas versiones de yuzu, pero en algunas versiones de eden falla y debes tener en cuenta que debes tener sin limitar los FPS en gamescope, sino, ni parece que esté a 30 FPS.
half-turok escribió:@PHANTASIA funciona bien pero no con todos los emuladores, ryujinx funciona igual que algunas versiones de yuzu, pero en algunas versiones de eden falla y debes tener en cuenta que debes tener sin limitar los FPS en gamescope, sino, ni parece que esté a 30 FPS.


Entonces esta la Deck funcionando a pleno rendimiento? Mal entonces...
Chicos una duda, ¿por qué estáis siempre hablando sobre deslimitar los frames y poner la GPU al tope? A mí me va bien...

Para los frames, juego con la limitación del propio juego + vsync. Sí no está disponible, pruebo con DXVK_FRAME_RATE=XX para poner el limitante en el juego y que el por 2 me lo lleve a donde quiero.

También está el jugar con los los valores experimentales de vsync (Mailbox (sin desgarro) e inmediate (con desgarro))

En Discord y en su wiki hablan de no usar Mangohud mejor (ni desgarro, ...) hacerlo mejor desde parámetros o con los métodos anteriores.

Sobre la GPU, como siempre, si el juego "no se entera" de que necesita más GPU le fuerzo. Pero en la mayoría, yo no sé lo activo de forma estática.

A ver no os tiréis todos como locos a darme calvotazos XD pero es que no termino de entender porqué insistís tanto en eso. ¿Algún juego en concreto?

PD: para algunos juegos de 32 bits debéis de activar el WOW64 en una variable, por ejemplo, el Bully de Rockstar
Pregunté en el otro pero me parece raro que nadie respondiese:

Alguien ha probado Zelda TOTK? Tengo entendido que de base es bastante injugable (yo no lo he probado, lo juego via streaming desde el PC y va de coña), pero no sé qué tal responderá con Lossless.
Que tal en ETS para ciudades?
Sheri escribió:Pregunté en el otro pero me parece raro que nadie respondiese:

Alguien ha probado Zelda TOTK? Tengo entendido que de base es bastante injugable (yo no lo he probado, lo juego via streaming desde el PC y va de coña), pero no sé qué tal responderá con Lossless.


Mientras no alcance entre 25 y 30 FPS tendrás un desempeño medio, el problema de no tener una constante de FPS puede generar una latencia en las acciones.

Al menos en mi caso con 2X de generación de frames no se siente tanta latencia.

PHANTASIA escribió:
half-turok escribió:@PHANTASIA funciona bien pero no con todos los emuladores, ryujinx funciona igual que algunas versiones de yuzu, pero en algunas versiones de eden falla y debes tener en cuenta que debes tener sin limitar los FPS en gamescope, sino, ni parece que esté a 30 FPS.


Entonces esta la Deck funcionando a pleno rendimiento? Mal entonces...


Por qué va a estar funcionando a pleno rendimiento? Si vas a limitar TDP, frecuencia de GPU y mediante comando limitas los FPS.

Si deseas limitar los FPS con gamescope, lo mejor es estar a 45 FPS.
half-turok escribió:
Sheri escribió:Pregunté en el otro pero me parece raro que nadie respondiese:

Alguien ha probado Zelda TOTK? Tengo entendido que de base es bastante injugable (yo no lo he probado, lo juego via streaming desde el PC y va de coña), pero no sé qué tal responderá con Lossless.


Mientras no alcance entre 25 y 30 FPS tendrás un desempeño medio, el problema de no tener una constante de FPS puede generar una latencia en las acciones.

Al menos en mi caso con 2X de generación de frames no se siente tanta latencia.

PHANTASIA escribió:
half-turok escribió:@PHANTASIA funciona bien pero no con todos los emuladores, ryujinx funciona igual que algunas versiones de yuzu, pero en algunas versiones de eden falla y debes tener en cuenta que debes tener sin limitar los FPS en gamescope, sino, ni parece que esté a 30 FPS.


Entonces esta la Deck funcionando a pleno rendimiento? Mal entonces...


Por qué va a estar funcionando a pleno rendimiento? Si vas a limitar TDP, frecuencia de GPU y mediante comando limitas los FPS.

Si deseas limitar los FPS con gamescope, lo mejor es estar a 45 FPS.


Mi idea era dejar los fps nativos (30fps) y doblar frames con Lossless.
pakico escribió:Chicos una duda, ¿por qué estáis siempre hablando sobre deslimitar los frames y poner la GPU al tope? A mí me va bien...

Para los frames, juego con la limitación del propio juego + vsync. Sí no está disponible, pruebo con DXVK_FRAME_RATE=XX para poner el limitante en el juego y que el por 2 me lo lleve a donde quiero.

También está el jugar con los los valores experimentales de vsync (Mailbox (sin desgarro) e inmediate (con desgarro))

En Discord y en su wiki hablan de no usar Mangohud mejor (ni desgarro, ...) hacerlo mejor desde parámetros o con los métodos anteriores.

Sobre la GPU, como siempre, si el juego "no se entera" de que necesita más GPU le fuerzo. Pero en la mayoría, yo no sé lo activo de forma estática.

A ver no os tiréis todos como locos a darme calvotazos XD pero es que no termino de entender porqué insistís tanto en eso. ¿Algún juego en concreto?

PD: para algunos juegos de 32 bits debéis de activar el WOW64 en una variable, por ejemplo, el Bully de Rockstar

Compañero no tenía ni idea de que existía algo como DXVK_FRAME_RATE=XX. Me parece interesante, ¿tienes alguna guía para hacerlo andar? ¿esa variable la añades a los parámetros de lanzamiento?
A ver... Voy liadillo ahora, pero resumo.
Siempre que puedas no debes de configurar nada fuera de Steam: ni deslimitar los fps, ni desgarro,...
Cómo mucho el TDP y la frecuencia de la GPU si SD no le da suficiente potencia por ser conservadora. Piensa que LS gasta GPU (por eso la gente pone dobles GPUs en sus PCs para esto,sí...)

Siempre que el juego lo permita, ponle los limites de FPS que quieras coger como los reales. Es decir, quieres tener 60fps con un multiplicador x2 de LS, pues configura el limitador de FPS del juego a 30 y le pones un x2. Recuerda activar el Vsync del juego también.

Y ya lo tienes XD

AHORA, si el juego no tiene limitante de FPS, puedes engañarlo y decirle que la frecuencia que debe de usar es el valor de XX que le pongas a DXVK_FRAME_RATE=XX, en el ejemplo anterior, si el juego no permite limitador usa un DXVK_FRAME_RATE=30 y configura LS a un x2 para llegar a esos 60. O a 45 si tienes una OLED y llegar a un 90Hz.

Y estos los los consejos rápidos que puedo dar ahora, espero que se entiendan.

Bonus tip, usa DXVK_HUD=fps para mostrar los fps REALES y usa MANGOHUD para ver tus FPS potenciados con LSFG.

PD: SÍ esas variables de entorno se definen antes del lanzamiento del juego. Por ejemplo,
DXVK_FRAME_RATE=30 DXVK_HUD=fps ~/lsfg %command%

Saludos

PD2: Lo que estoy esperando como agua de mayo es el adaptativo o poder poner decimales al multiplicador. Yo con una LCD puedo tener 45 reales y 15 generados para llegar a 60 y con un input de 45
Yo sigo sin conseguir que los juegos nativos a 30 FPS con 60fps en los menús me vayan a 60fps siempre como en los juegos que dije antes, tampoco me va en los que son 30 FPS nativos todo el rato

Edito: funciona con lo del Wow64 pero tarda mucho en entrar en los combates después de la transición, hay que quitar el Fifo y poner Mailbox.

FF7 y FF8 original no hay manera.
Al final no estuve probando, aunque la Legión goese con Steam os, y mas o menos se puede conseguir un resultado parecido al de Windows, pero es menos plug and Play y más ambiguo, y cada juego es un mundo en configuración.

Por ejemplo:

- Fuerza de defensa terrestre 4.1, capado a 30 desde el losless y doblado x2, se ven 60, pero si tienes el fsr de deck activado NO se sienten 60, mientras que si lo desactivas si pasan a sentirse 60, aunque con algo más de artefactos que Windows, pero sin necesidad de capar la GPU ni nada, y pudiendo por tanto bajar el TDP y conseguir 60 fps (es mejor capar desde gamescope al valor) ahorrando bateria.

- Warhammer boltgun: Similar, capado a 30 en losless, doblado, sin fsr, se sienten reales, con fsr no se sienten reales, y en cualquier caso lo mismo, no es necesario capar la GPU ni nada, por lo que puedes bajar el TDP a un valor que mantenga los treinta y conseguir 60 ahorrando batería.

- Bloodborne: Aquí pasa al revés xD con fsr se sienten reales y sin fsr son 30 aunque pone 60 xD.

- Stellar blade: ,no merece la pena, porque es de los que entra en conflicto el Fsr, y por tanto tienes que jugar resolución nativa, así que lo que podrías bajar teóricamente de TDP por usar el lossless, lo está subiendo por necesitar más resolución xD, asi que al final consigues 60 como los podrías conseguir sin loaless.

Pero en general estoy viendo eso, que se puede lograr la sensación de fluidez de 60 reales, pero hay que trastear en cada caso y sobretodo eso, como hay falsos positivos, y ahora que se puede activar y desactivar ingame, lo suyo es caparlo a 30, doblarlos, y activar y desactivar y ver si realmente por mas que salga el número doblado, hay diferencia en FLUIDEZ o no, y sino la hay, probar eso: quitar o poner fsr, descapar o capar fps, probar a capar o no la gpu la maximo etc hasta que se sienta la animacion fluida respecto a 30.



Lastima que un vídeo no se aprecia tanto, pero el cambio es notorio, si pasáis de los primeros minutos del vídeo que va a 30 , a un poco más de la mitad donde cambio el losless y se ven los 60, se nota que hay un cambio de fluidez, que es lo que se tiene que conseguir más allá de ver 60 fps, y es lo que me temo que le está pasando a mucha gente, que a la que ven 60 ya creen que se están generando bien, y en mi experiencia en ninguno de los tres casos que comento, los sesenta eran reales xD, hasta que no trasteé no saqué los 60 de verdad, por lo que ahora mismo es algo que requiere bastante trasteo y un mínimo de conocimiento y sensibilidad real a la fluidez.
Buen post @Zack_VII Coincido contigo, funcionar funciona muy bien, pero requiere de conocimientos a base de saber: que tienes de hardware, donde quieres llegar, como quieres llegar y las especificaciones de qué juego corre.

Lastima que no tenga esos juegos también por echarle un ojo (como los FF de @mogurito ). Ahora parece que "el juego" de moda es acomodar LS a cada juego difícil jeje

Zack, respecto al FSR, ¿has probado a no usar el FSR de Steam y usar el de vk o vk3d o el de protón? LS no se lleva muy bien con gamescope/mangohud. Yo probaría alguna de estas opciones:
VKD3D_ENABLE_FSR=1 o PROTON_ENABLE_FSR=1 o DXVK_ENABLE_FSR=1.

Cada valor tienen otro valor para el preajuste. Aquí lo que dice chatgpt:
DIFERENCIAS ENTRE LAS TRES VARIABLES

Variable Capa utilizada API que cubre Aplica a juegos con... Función principal

VKD3D_ENABLE_FSR=1 vkd3d-proton DirectX 12 DX12 Habilita FSR en juegos DX12, si se ejecutan a menor resolución que la pantalla.
DXVK_ENABLE_FSR=1 DXVK DirectX 9/10/11 DX9, DX10, DX11 Habilita FSR en juegos DX9–11 traducidos con DXVK.
PROTON_ENABLE_FSR=1 proton (wrapper global) Todas (general) DX9, DX10, DX11, DX12 Wrapper general para activar FSR donde sea posible; depende del modo fullscreen.


Yo, para los que animen, les recomendaría pensar de la siguiente manera y en este orden (seguro que no es el mejor, pero a mí me ayuda para entenderlo):
  • Qué pantalla tengo? De cuántos Hz? este valor es MUY importante.
  • Cual es mi FPS objetivo sabiendo mi pantalla limitante anterior?
  • Intentar llegar al objetivo de abajo a arriba. Es decir, tienes que construir una base de FPS sólida y luego aplicarle un multiplicador. Nada de pasarte de FPS y poner un limitador en Steam. Piensa en tu base de FPS*multiplicador.
  • Piensa en tu valor FPS objetivo. Sí mi objetivo son 60, a día de hoy, LS en Linux no me deja un multiplicador con decimales. Por lo que si quiero llegar a 60, mi base sí o sí deben de ser 30. Sí existiesen decimales, podría coger del juego 40 FPS reales y coger un multiplicador de 1.5 para llegar a los 60. Sí tienes una OLED, puedes hacer tus cálculos para 60 y para 90!
  • Márcate un objetivo real. Piensa que con una pantalla de 60hz no tiene sentido llegar a más de 60, por lo que un multiplicador x4 tiene poco uso. No malgastes computación, es decir, llegar a 120fps o 90fps en una LCD no tiene sentido.
  • Intentar no usar los valores externos de Steam de desgarro, limitadores,... El TDP y GPU si podrían usarse. MANGOHUD tampoco le gusta... Por lo que ver los valores de CPU y GPU arriba solo para verlos y quitarlos rápidamente.
  • Ahora la parte más complicada: el juego... Intenta limitar los fps en el juego si lo tiene (y obliga el vsync) si el juego/emulador tiene limitante fijo, bien y mal, bien porque tiene esa base de FPS sí o sí, por lo que deberás de usarlo como tu base en el cálculo que explique anteriormente. Sí está limitado a 30 el juego pues podrás ponerlo a 60(x2), 90(x3), 120(x4) y recuerdo un punto anterior: tienen sentido esos valores en tu pantalla y potencia?
  • Sí el juego no tiene manera de poner un limitador que tú quieres y tiene desbloqueado los fps, puedes usar DXVK_FRAME_RATE=XX para decirle al juego que use una frecuencia distinta a la del monitor. Por ejemplo, que coja la frecuencia XXHz y luego aplicáis la lógica del multiplicador que tengo he explicado x2 x3 x4
  • Sí el juego es antiguo y no os funciona puede ser porque sea 32bits. En ese caso usa la variable PROTON_USE_WOW64=1 en los últimos protones.
  • También, si el juego no te funciona, tienes que pensar que LSFG-VK solo funciona en vulkan. Por lo que si el emulador es OpenGL no funcionará. Sí estás usando la capa de compatibilidad wine3d que traduce a OpenGL y no a vulkan no te funcionará.
  • Por último sobre el juego... Esto es ya más avanzado... Sí está en dx12 o dx11,10 o 9 usa capas distintas por lo que las variables de entorno pueden ser distintas. Por ejemplo, VKD3D_ENABLE_FSR=1 solo es para dx12 y DXVK_ENABLE_FSR=1 solo para dx9/10/11
  • Cuando estés construyendo tus configuraciones usa DXVK_HUD=fps porque te dirá los GPS reales y mangohud de tu steamdeck los finales con LS activado. Puedes usarlos a la vez.

Y siento el tocho, espero que a alguien le sirva y que tenga pocos fallos XD

Por cierto, va a salir la versión 1 casi casi ya, están preparándola incluso con una UI oficial (existe una no oficial que se ha cogido como base). La puñeta para los que tenéis una distro inmutable como SteamOS es que lsfg-vk ya no se instala en la parte de usuario si no en la del sistema operativo. Es decir, cuando se actualice SteamOS se perderá. Sí tenéis CachyOS por ejemplo, no. No os preocupéis, seguro que el autor del plugin de decky se inventa algo y lo pone en la parte del usuario. En mi caso, uso CachyOS+lsfg-vk sin decky

Un abrazo compis <3
Hice otra prueba con la última actualización de Pancake en Halo VR y Alice Madness Returns.

Pues el Alice no se siente el cambio al menos que estés jugando a un límite 40 o 50 FPS, pero no termina de convencerme.

En el caso de Halo VR se ejecuta más de 90 FPS y los movimientos de los personajes de ven entrecortados y no se si es el input lag o modificó algo de la sensibilidad del título pero hay momentos que dar un simple "giro" se vuelve en 2 o más giros; mejor les dejo en vídeo lo que me sucede.

El problema que estoy viendo aparte de lo comentado, es que genera bastantes bastantes más artifax que en Windows, vamos en Windows si tú le das un TDP suficiente como para que los treinta de base los mantenga bien, puede generar algún artifact aislado pero es raro, aquí en steam os, está exactamente igual que llegue o no bien a esos 30, que va a generar artifax sí o sí al girar la cámara, ya sea transparencia en la textura de la cabeza o cosas que lleve a la espalda el prota, o ya sea la especie de efecto ola en los laterales de la pantalla.

Y por cierto, por mis pruebas, como menos artifax hay en general, es con el flow al 100%, mucho mejor que al 80% como sugería el creador.

Por lo demas, mi configuración estandard es:

FPS A 30 EN LOSLESS

MODO FIBO (mailbox no he conseguido que haga absolutamente nada en ningún juego xD, si, sale 60, pero son 30 vaya, se ve claro activando y desactivando el losless)

MODO RENDIMIENTO ON

MULTIPLICADOR X 2.

luego gamescope:

CAPAR FPS A 60 / DESCAPAR segun vaya mejor en ese juego.

Y a partir de ahí depende, si el FSR interfiere en la fluidez pues desactivarlo o probar lo que sugiere el compañero arriba via comando, si aún así hay algo raro pues intentar lo de la GPU a 1600 (yo en Legión no he tenido que hacerlo la verdad), quitar o poner el vsync del juego etc, encontrar el combo de opciones entre el juego y gamescope para que se generen fluidos vaya, y y esto se comprueba fácil pues desactivando y activando el lossless, si no aprecias o cuesta apreciar diferencia, es que por mucho numerito que ponga no está funcionando xD, así que sigue probando combos de opciones hasta que funcione.


Acaba de salir la versión pre-lanzamiento 0.9.0
https://github.com/PancakeTAS/lsfg-vk/releases/tag/v0.9.0

Ahí tenéis bastante info...
Más tips respecto roadmap:.

Y por último, sobre usos y todas las opciones os paso un par de vídeos de Discord, los vi interesantes, por si queréis verlos:



Esa interfaz es la oficial del proyecto lsfg-vk y es la que se utiliza para la configuración de LS. Sé que la mayoría usareis decky, pero creo que es interesante que la conozcáis para quien no use el plugin.
Saludossss
pakico escribió:A ver... Voy liadillo ahora, pero resumo.
Siempre que puedas no debes de configurar nada fuera de Steam: ni deslimitar los fps, ni desgarro,...
Cómo mucho el TDP y la frecuencia de la GPU si SD no le da suficiente potencia por ser conservadora. Piensa que LS gasta GPU (por eso la gente pone dobles GPUs en sus PCs para esto,sí...)

Siempre que el juego lo permita, ponle los limites de FPS que quieras coger como los reales. Es decir, quieres tener 60fps con un multiplicador x2 de LS, pues configura el limitador de FPS del juego a 30 y le pones un x2. Recuerda activar el Vsync del juego también.

Y ya lo tienes XD

AHORA, si el juego no tiene limitante de FPS, puedes engañarlo y decirle que la frecuencia que debe de usar es el valor de XX que le pongas a DXVK_FRAME_RATE=XX, en el ejemplo anterior, si el juego no permite limitador usa un DXVK_FRAME_RATE=30 y configura LS a un x2 para llegar a esos 60. O a 45 si tienes una OLED y llegar a un 90Hz.

Y estos los los consejos rápidos que puedo dar ahora, espero que se entiendan.

Bonus tip, usa DXVK_HUD=fps para mostrar los fps REALES y usa MANGOHUD para ver tus FPS potenciados con LSFG.

PD: SÍ esas variables de entorno se definen antes del lanzamiento del juego. Por ejemplo,
DXVK_FRAME_RATE=30 DXVK_HUD=fps ~/lsfg %command%

Saludos

PD2: Lo que estoy esperando como agua de mayo es el adaptativo o poder poner decimales al multiplicador. Yo con una LCD puedo tener 45 reales y 15 generados para llegar a 60 y con un input de 45

Genial gracias compañero !! [inlove]

@Zack_VII Con el Dead Space llevo unos días y no hay manera. No se siente fluido, hay micro parones, en ciertas zonas bajan los fps a saco... Y la generación de frames sí funciona, pero como hay micro-cortes y bajadas de frames a saco pues va penoso. Una tortura y creo que es el jodido juego que los programadores hicieron un trabajo de optimización mediocre.

Hay juegos que no me funciona la generación de frames de ninguna forma, y no sé si es culpa de los juegos, configuración...:

-Mafia remaster
-Cyberpunk 2077
-The last of us 2
-Resident evil 4 remake
-Visage
-Ryse

Ni a tiros va. [facepalm]
Yo estoy dandole al Dead Space y mafia remaster y va de 10 almenos las partes que e probado,algo te falla porque por youtube el cyber y RE4 también estan chutando bien parece ser
Dead space remake en deck es jugable pero con concesiones: Sigue teniendo trasversal sttutering como en general en pc al entrar o salir de determinas zonas y luego, a nivel rendimiento, bien configurado, con fsr externo de 1024*640, el interno en balanced, perfil bajo, y tdp al maximo o casi, mantiene los 30 el 90% del juego (por tanto 60 doblados), pero hay un 10% de combates contra bichos cuando se juntan 3-4 a la vez, mas efectos de escenario y tal que va a bajar de 30 y a petardear el sonido. Yo lo pasé integró en deck y bien asumiendo esos 2 aspectos, que el primero ya digo es general de la versión pc, y el 2o es un % bajo del total.

Tema losless ciertamente es un poco random, hay juegos en los que va y otros en los que no, por ejemplo, he conseguido que funcione y bien , fluido real y tal (artifacs a parte) pues que se yo: Dead space remake, FFVII Rebirth, Evil within, boltgun, Fuerza de defensa 4.1, stellar blade, Silent hill 2 remake, RE4 remake, dark souls 3, last of us 2, wukong, FFXVI, Horizon zero....pero luego que se yo, Alice no los genera, Castlevania lords shadows capa a 30 a través del losless pero no los genera, alan wake y american nightmare tampoco....esta verde aun vaya.
Dead Space Remake ya me iba mal con una 6700XT + 7600 en sobremesa

No me quiero imaginar en Deck

Maldito traversal stuttering
68 respuestas
1, 2