Projekti lsfg-vk ka përgatitur një port të pazyrtar të utilitetit Lossless Scalings Frame Generation (LSFG) për platformën Linux, duke përdorur DXVK dhe API grafik Vulkan. Kodi i projektit është shkruar në gjuhën C++ dhe është i vendosur nën licencën MIT. Zhvillimi është realizuar nga një entuziast i jashtëm, që ka rikrijuar funksionalitetin e LSFG pronësor përmes inxhinierisë së kundërt të bibliotekave Windows.
Aplikacioni lejon të shkallëzojë daljen e aplikacioneve lojëra, të cilat janë të dizajnuara për të funksionuar në një dritare të veçantë, për t'i shfaqur ato në modalitetin e ekranit të plotë. Utiliteti gjithashtu mund të kërkohet për të eliminuar daljen e paqartë gjatë shkallëzimit duke përdorur sistemin grafik të zakonshëm ose për të anashkaluar kufizimet në lojërat që janë të lidhura me rezolucione fikse të ekranit. Për më tepër, ka mundësi për të rritur fluiditetin e daljes dhe për të rritur shkallën e kuadrove në lojëra që nuk janë projektuar për FPS të lartë, përmes zëvendësimit të kuadrove shtesë, të krijuara në bazë të interpolimit të kuadrove të fqinjëve.
Për rikrijimin e detajeve të humbura dhe shkallëzimin në LSFG mund të përdoren algoritme origjinale si dhe teknologji ekzistuese të bazuara në mësimin e makinerive, si AMD FidelityFX Super Resolution dhe NVIDIA Image Scaling. Zgjedhja e algoritmit varet nga lloji i aplikacioneve të lojërave. Për shembull, për lojërat moderne rekomandohet të përdoret algoritmi i LS1 ose teknologjia e super-samplingut AMD FSR. Për lojërat e vjetra me grafikë pikselesh, janë propozuar algoritmet Integer Scaling dhe xBR, ndërsa për lojërat me stilin e animacionit dhe anime është në dispozicioni algoritmi Anime4K. Përveç lojërave, modifikimi i daljes mund të aplikohet edhe në emulatorë për ekzekutimin e lojërave retro dhe lojërave për konsola.
Shkallëzimi dhe zëvendësimi i kuadrove bëhet në kohë reale dhe nuk kërkon ndryshime në lojëra. Në variantin për Linux, për zëvendësimin e kuadrove dhe ndërhyrjen në daljen e lojës përdoret një lidhje e trajtuesit në formën e një shtrese shtesë Vulkan, me anë të së cilës kryhet kapja, ekzekutimi dhe modifikimi i funksioneve ekzistuese të Vulkan. Për të përdorur lsfg-vk është e mjaftueshme të instaloni bibliotekën liblsfg-vk.so dhe të konfiguroni parametrat e saj përmes variablave të ambientit.
LSFG origjinal është një aplikacion i kompiliuar për Windows mbi API D3D11. Për të riprodhuar funksionalitetin e LSFG në Linux, zbatimi është transmetuar në një paraqitje që përdor API Vulkan. Për të transferuar shenjat, është shtuar një përpunues që kap thirrjet D3D11 dhe ruan shenjat në disk, si dhe një parser për nxjerrjen dinamike të shenjave nga skedarët ekzekutivë në formatin PE (Portable Executable). Për të transferuar kanalin grafik që menaxhon ekzekutimin e shenjave, komponentët mbi API D3D11 janë ndarë nga aplikacioni dhe me ndihmën e DXVK është siguruar funksionimi i tyre në Linux. Pas marrjes së një varianti funksional mbi D3D11 dhe DXVK, me ndihmën e debugger-it RenderDoc është marrë një layout i saktë i thirrjeve Vulkan, në bazë të të cilit është përgatitur varianti përfundimtar, që përdor drejtpërdrejt API Vulkan.
Burimi: opennet.ru
