{"id":138937,"date":"2025-07-14T11:11:54","date_gmt":"2025-07-14T09:11:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux"},"modified":"2025-07-14T11:11:54","modified_gmt":"2025-07-14T09:11:54","slug":"sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux","title":{"rendered":"Stworzono wersj\u0119 narz\u0119dzia Lossless Scalings Frame Generation dla Linuxa","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Projekt lsfg-vk przygotowa\u0142 nieoficjalny port narz\u0119dzia Lossless Scalings Frame Generation (LSFG) dla platformy Linux, wykorzystuj\u0105cy DXVK oraz graficzny interfejs API Vulkan. Kod projektu napisany jest w j\u0119zyku C++ i udost\u0119pniony na licencji MIT. Rozw\u00f3j zosta\u0142 zrealizowany przez niezale\u017cnego entuzjast\u0119, kt\u00f3ry odtworzy\u0142 funkcjonalno\u015b\u0107 proprietary LSFG poprzez in\u017cynieri\u0119 odwrotn\u0105 bibliotek Windows.    <\/p>\n<p>Aplikacja umo\u017cliwia skalowanie wyj\u015bcia aplikacji gier, zaprojektowanych do uruchamiania w osobnym oknie, aby mog\u0142y by\u0107 wy\u015bwietlane w trybie pe\u0142noekranowym. Narz\u0119dzie mo\u017ce by\u0107 r\u00f3wnie\u017c potrzebne do eliminacji rozmytego obrazowania podczas skalowania za pomoc\u0105 standardowego subsystemu graficznego lub aby obej\u015b\u0107 ograniczenia w grach uzale\u017cnionych od sta\u0142ych rozdzielczo\u015bci ekranu. Dodatkowo, istnieje mo\u017cliwo\u015b\u0107 poprawy p\u0142ynno\u015bci wyj\u015bcia i zwi\u0119kszenia liczby klatek na sekund\u0119 w grach, kt\u00f3re nie s\u0105 zaprojektowane do wysokiego FPS, poprzez wstawianie dodatkowych klatek po\u015brednich, stworzonych na podstawie interpolacji s\u0105siednich klatek.     <\/p>\n<p>Do rekonstrukcji brakuj\u0105cych detali i skalowania w LSFG mog\u0105 by\u0107 stosowane zar\u00f3wno autorskie oryginalne algorytmy, jak i istniej\u0105ce technologie oparte na uczeniu maszynowym, takie jak AMD FidelityFX Super Resolution oraz NVIDIA Image Scaling. Wyb\u00f3r algorytmu zale\u017cy od typu aplikacji gier. Na przyk\u0142ad, dla nowoczesnych gier zaleca si\u0119 u\u017cycie autorskiego algorytmu LS1 lub technologii supersamplingowej AMD FSR. Dla starszych gier z grafik\u0105 rastrow\u0105 proponowane s\u0105 algorytmy Integer Scaling i xBR, a dla gier w stylu kresk\u00f3wek oraz anime dost\u0119pny jest algorytm Anime4K. Opr\u00f3cz gier, modyfikacja wyj\u015bcia mo\u017ce by\u0107 stosowana r\u00f3wnie\u017c do emulator\u00f3w do uruchamiania retro gier oraz gier na konsole.          <\/p>\n<p>Skalowanie i wstawianie klatek odbywa si\u0119 w czasie rzeczywistym i nie wymaga wprowadzania zmian w grach. W wersji dla Linuxa do wstawiania klatek i wtr\u0105cania w wyj\u015bcie gry u\u017cywane jest pod\u0142\u0105czenie modu\u0142u w formie dodatkowej warstwy Vulkan, przy pomocy kt\u00f3rej wykonywane s\u0105 przechwytywanie, wykonanie oraz modyfikacja istniej\u0105cych funkcji Vulkan. Do korzystania z lsfg-vk wystarczy zainstalowa\u0107 bibliotek\u0119 liblsfg-vk.so i skonfigurowa\u0107 jej parametry za pomoc\u0105 zmiennych \u015brodowiskowych.    <\/p>\n<p>Oryginalny LSFG to skompilowana aplikacja dla Windows oparta na API D3D11. Aby odtworzy\u0107 funkcjonalno\u015b\u0107 LSFG w systemie Linux, implementacja zosta\u0142a przet\u0142umaczona na wersj\u0119 wykorzystuj\u0105c\u0105 API Vulkan. Do przeniesienia shader\u00f3w dodano interfejs, kt\u00f3ry przechwytuje wywo\u0142ania D3D11 i zapisuje shadery na dysku, a tak\u017ce parser do dynamicznego wydobywania shader\u00f3w z plik\u00f3w wykonywalnych w formacie PE (Portable Executable). Aby przenie\u015b\u0107 potok graficzny, kt\u00f3ry kontroluje wykonanie shader\u00f3w, z aplikacji wydzielono komponenty oparte na API D3D11, a dzi\u0119ki DXVK zapewniono ich dzia\u0142anie w systemie Linux. Po uzyskaniu dzia\u0142aj\u0105cej wersji opartej na D3D11 i DXVK za pomoc\u0105 debugger\u00f3w RenderDoc uzyskano dok\u0142adny uk\u0142ad wywo\u0142a\u0144 Vulkan, na podstawie kt\u00f3rego przygotowano ostateczn\u0105 wersj\u0119, wykorzystuj\u0105c\u0105 bezpo\u015brednio API Vulkan.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63545\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u0435\u043a\u0442\u043e\u043c lsfg-vk \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation (LSFG) \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Linux, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 DXVK \u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C++ \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u043e\u043c, \u0432\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u0432\u0448\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u043e\u0433\u043e LSFG \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 Windows-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043e\u043a\u043d\u0435, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-138937","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442\u043e\u043c lsfg-vk \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation (LSFG) \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Linux, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 DXVK \u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043e\u0437\u0434\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation \u0434\u043b\u044f Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u0435\u043a\u0442\u043e\u043c lsfg-vk \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation (LSFG) \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Linux, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 DXVK \u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-07-14T09:11:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-07-14T09:11:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Utworzono wersj\u0119 narz\u0119dzia Lossless Scalings Frame Generation dla Linux | ProHoster","description":"Projekt lsfg-vk przygotowa\u0142 nieoficjalny port narz\u0119dzia Lossless Scalings Frame Generation (LSFG) dla platformy Linux, wykorzystuj\u0105cy DXVK i graficzne API Vulkan.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043e\u0437\u0434\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation \u0434\u043b\u044f Linux | ProHoster","og:description":"\u041f\u0440\u043e\u0435\u043a\u0442\u043e\u043c lsfg-vk \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u044b Lossless Scalings Frame Generation (LSFG) \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Linux, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439 DXVK \u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/sozdan-variant-utility-lossless-scalings-frame-generation-dlya-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-07-14T09:11:54+00:00","article:modified_time":"2025-07-14T09:11:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"138937","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 13:49:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 13:49:19","updated":"2026-01-23 13:49:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/138937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=138937"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/138937\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=138937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=138937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=138937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}