Projekts lsfg-vk ir sagatavojis neoficiālu Lossless Scalings Frame Generation (LSFG) rīka portu Linux platformai, kas izmanto DXVK un grafisko API Vulkan. Projekta kods ir rakstīts C++ valodā un ir publicēts MIT licenci. Izstrādi veicis neatkarīgs entuziasts, kurš, veicot apgrieztās inženierijas darbus ar Windows bibliotēkām, ir atjaunojis patenta LSFG funkcionalitāti.
Lietotne ļauj palielināt spēļu lietotņu izeju, kas paredzēta palaišanai atsevišķā logā, lai to attēlotu pilnekrāna režīmā. Rīks var būt noderīgs arī tad, ja nepieciešams novērst izplūdušo izeju, palielinot izmērus, izmantojot standarta grafisko sistēmu, vai apiet ierobežojumus spēlēs, kas ir saistītas ar fiksētajām ekrāna izšķirtspējām. Turklāt pastāv iespēja paaugstināt izpildes gludumu un palielināt kadru skaitu spēlēs, kas nav paredzētas augstam FPS, ievietojot papildu starpkadrus, kas izveidoti, pamatojoties uz blakus esošo kadru interpolāciju.
LSFG trūkstošo detaļu atjaunošanai un palielināšanai var tikt izmantoti gan pašu oriģinālie algoritmi, gan esošās mašīnmācību tehnoloģijas, piemēram, AMD FidelityFX Super Resolution un NVIDIA Image Scaling. Algoritma izvēle ir atkarīga no spēļu lietotnēm. Piemēram, mūsdienu spēlēm ieteicams izmantot pašu LS1 algoritmu vai AMD FSR supersampling tehnoloģiju. Vecām spēlēm ar pikselizētu grafiku tiek piedāvāti Integer Scaling un xBR algoritmi, bet multfilmu un anime spēlēm pieejams Anime4K algoritms. Turklāt izsistās izejas modificēšana var tikt pielietota arī emulatoriem, lai palaistu retro spēles un spēles konsolēm.
Palielināšana un kadru ievietošana tiek veikta reālajā laikā un neprasa izmaiņas spēlēs. Linux versijā kadru ievietošanai un iejaukšanās spēles izejā tiek izmantota apstrādātāja pieslēgšana papildu Vulkan slāņa formā, caur kuru notiek eksistējošo Vulkan funkciju uztvere, izpilde un modificēšana. Izmantošanai lsfg-vk pietiek ar liblsfg-vk.so bibliotēkas uzstādīšanu un tās parametru iestatīšanu caur vides mainīgajiem.
Oriģinālais LSFG ir apkopota lietojumprogramma Windows, kas balstīta uz D3D11 API. Funkcionalitātes atjaunošanai LSFG Linux vidē, realizācija tika pārveidota, lai izmantotu Vulkan API. Lai pārnestu šēderus, tika pievienots apstrādātājs, kas uztver D3D11 izsaukumus un saglabā šēderus diskā, kā arī parseris dinamiskiem šēderu izvilkumiem no izpildāmām PE (Portable Executable) faila formāta failiem. Grafiskā cauruļvads, kas pārvalda šēderu izpildi, tika izdalīts no lietojumprogrammas, balstoties uz D3D11 API komponentēm, un ar DXVK tika nodrošināta tā darbība Linux vidē. Pēc tam, kad tika iegūts darba variants, balstoties uz D3D11 un DXVK, ar RenderDoc debuggert tika iegūta precīza Vulkan izsaukumu sadalījums, uz kura pamata tika sagatavota gala versija, kas tieši izmanto Vulkan API.
Avots: opennet.lv
