Eine Variante des Tools Lossless Scalings Frame Generation für Linux wurde erstellt.

Das Projekt lsfg-vk hat einen inoffiziellen Port des Tools Lossless Scalings Frame Generation (LSFG) für die Linux-Plattform erstellt, der DXVK und die Grafik-API Vulkan nutzt. Der Code des Projekts ist in C++ geschrieben und unter der MIT-Lizenz veröffentlicht. Die Entwicklung wurde von einem unabhängigen Enthusiasten durchgeführt, der die Funktionalität des proprietären LSFG durch Reverse Engineering von Windows-Bibliotheken nachgebildet hat.

Die Anwendung ermöglicht es, die Ausgabe von Spielen, die für den Betrieb in einem separaten Fenster ausgelegt sind, für die Darstellung im Vollbildmodus zu skalieren. Das Tool kann auch erforderlich sein, um unscharfe Ausgaben bei der Skalierung mit der Standard-Grafikunterstützung zu vermeiden oder um Einschränkungen in Spielen zu umgehen, die auf feste Bildschirmauflösungen festgelegt sind. Darüber hinaus besteht die Möglichkeit, die Flüssigkeit der Ausgabe zu verbessern und die Bildrate in Spielen, die nicht für hohe FPS ausgelegt sind, zu erhöhen, indem zusätzliche Zwischenbilder eingefügt werden, die auf der Interpolation benachbarter Bilder basieren.

Zur Rekonstruktion fehlender Details und zur Skalierung in LSFG können sowohl eigene originale Algorithmen als auch bestehende Technologien auf Basis von Maschinenlernen, wie AMD FidelityFX Super Resolution und NVIDIA Image Scaling, verwendet werden. Die Auswahl des Algorithmus hängt von der Art der Spiele ab. Für moderne Spiele wird empfohlen, den eigenen Algorithmus LS1 oder die supersampling-Technologie AMD FSR zu verwenden. Für ältere Spiele mit Pixelgrafik werden die Algorithmen Integer Scaling und xBR angeboten, während für Spiele im Cartoon- und Anime-Stil der Algorithmus Anime4K verfügbar ist. Neben den Spielen kann die Ausgabe-Modifikation auch für Emulatoren zur Ausführung von Retro-Spielen und Konsolenspielen angewendet werden.

Die Skalierung und das Einfügen von Bildern erfolgt in Echtzeit und erfordert keine Änderungen an den Spielen. In der Linux-Version erfolgt das Einfügen von Bildern und die Eingliederung in die Spieleausgabe durch das Hinzufügen eines Prozessors in Form einer zusätzlichen Vulkan-Schicht, mit Hilfe derer bestehende Vulkan-Funktionen abgefangen, ausgeführt und modifiziert werden. Um lsfg-vk zu verwenden, muss die Bibliothek liblsfg-vk.so installiert und ihre Parameter über Umgebungsvariablen konfiguriert werden.

Die originale LSFG ist eine kompillierte Anwendung für Windows, die auf der D3D11-API basiert. Für die Umsetzung der Funktionalität von LSFG auf Linux wurde die Implementierung in eine Darstellung übertragen, die die Vulkan-API nutzt. Um Shader zu übertragen, wurde ein Handler hinzugefügt, der die D3D11-Aufrufe abfängt und die Shader auf die Festplatte speichert, sowie ein Parser zum dynamischen Extrahieren der Shader aus ausführbaren Dateien im PE-Format (Portable Executable). Für den Transfer des Grafik-Pipelines, der die Ausführung der Shader steuert, wurden Komponenten auf Basis der D3D11-API aus der Anwendung extrahiert und deren Funktionalität unter Linux durch DXVK sichergestellt. Nachdem eine funktionsfähige Version auf Basis von D3D11 und DXVK erstellt wurde, wurden mit Hilfe des Debuggers RenderDoc präzise Vulkan-Aufruf-Layouts erhalten, auf deren Grundlage die endgültige Version erstellt wurde, die direkt die Vulkan-API verwendet.

Quelle: opennet.ru

60GB SSD 8Gb DDR4