GE-Proton 11-12 přiznává ve verzi DXVK a dalších vrstev vlastní záplaty
GE-Proton je upravená verze Protonu a stejně tak jsou upravené knihovny, které v něm překládají Direct3D na Vulkan. Od vydání 11-12 to je vidět na jejich verzi: za hashem přibyl řetězec -GE-Proton(dirty). Vývojáři DXVK a VKD3D-Proton tak z hlášení chyby poznají, že build není jejich.
Proton je sada knihoven, kterou Valve pouští windowsové hry na Linuxu. GE-Proton je jeho obměna od vývojáře vystupujícího jako GloriousEggroll: bere totéž, co Valve, a přidává k tomu záplaty na hry, na které oficiální vydání ještě nedošlo. Používá ho Heroic Games Launcher i náhled nového klienta Epic Games, takže se hlášení chyb z něj dostanou i k lidem, kteří o GE-Protonu nikdy neslyšeli. Vydání GE-Proton11-12 z 3. listopadu 2026 na to reaguje jedním řádkem navíc v řetězci verze.

Značka se připíše tehdy, když strom není čistý
Překlad grafických rozhraní na Vulkan v Protonu nedělá Proton sám, ale tři samostatné projekty: DXVK pro Direct3D 9 až 11, D7VK pro starší DirectDraw a Direct3D 7 a VKD3D-Proton pro Direct3D 12. GE-Proton si je stahuje jako podmoduly a do každého z nich sahá vlastními záplatami.
Do teď to na výsledku nebylo poznat. Commit ze 3. listopadu zavádí v souboru Makefile.in proměnnou GE_DIRTY_TAG s hodnotou -GE-Proton(dirty) a funkci, která ji připíše k verzi vždy, když git status --porcelain v daném stromě něco vypíše. Detekce přes status místo přes git describe má důvod: zachytí i záplatu, která jen přidává soubory, protože ta se v popisu commitu neprojeví. Strom bez změn si nechává čistou upstreamovou verzi.
Dřív se stejný stav značil jinak a hůř:
| Komponenta | Jak se špinavý strom značil dřív | Jak se značí teď |
|---|---|---|
| DXVK | describe --dirty=0, tedy jedna nula za hashem | hash a za ním -GE-Proton(dirty) |
| D7VK | describe --dirty=0, totéž | hash a za ním -GE-Proton(dirty) |
| VKD3D-Proton | describe --dirty=+, tedy plus na konci | -GE-Proton(dirty)+, plus zůstává poslední |
Ta nula u DXVK a D7VK byla celý problém. Verze s ní vypadá jako kterákoli jiná a v hlášení chyby ji nikdo nerozebírá znak po znaku.
Verze se vypisuje přesně tam, kam se chodí pro doklad
Smysl té změny je v tom, kde se řetězec objeví. DXVK ho tiskne do logu hned na začátku běhu, řádkem Logger::info v souboru dxvk_instance.cpp, a kreslí ho i do překryvu HUD, který si hráči zapínají proměnnou DXVK_HUD. Obojí se běžně přikládá k hlášením.
Šablony, které upstream k hlášení chyb nabízí, si přitom verzi výslovně vyžádají. Formulář DXVK má v systémových údajích kolonku „DXVK version“ a pod ní žádost o log z proměnné PROTON_LOG=1; formulář VKD3D-Proton chce totéž pro svou verzi. Oba navíc začínají povinným zaškrtávátkem, ve kterém hlásící potvrzuje, že do popisu nevložil odpověď jazykového modelu. Commit, který značku zavedl, nese v patičce řádek o spoluautorství modelu Claude Opus 5.5.
U VKD3D-Proton se značka musela vejít před plus
Nejvíc práce dalo VKD3D-Proton, protože na posledním znaku své verze závisí jeho vlastní kód. V souboru device.c stojí test, který za build ze špinavého stromu považuje každou verzi končící znakem +. Značka proto jde před plus, ne za něj, a oddělené pole vkd3d_build zůstává prostou hexadecimální hodnotou.
Jenže ten test dosud nikam nevedl. Informační řádek vypisoval u špinavého buildu jen hash s plusem, takže se od upstreamu lišil jediným znakem. GE-Proton k tomu přidává vlastní malou záplatu, která u takového buildu vytiskne i celý řetězec verze. Je to jediná ze tří komponent, kde nestačilo sáhnout na sestavení a bylo potřeba upravit i zdrojový kód.
Co je ve vydání 11-12 jinde
Zbytek vydání je obvyklá směs. Wine je z vývojové větve Valve ze 31. října a nese změnu, po které XInput přeskenuje připojené ovladače jen tehdy, když se seznam zařízení mohl změnit; nahradilo to dva starší obchvaty psané na míru hrám Far Cry 4 a Witcher 3. DXVK je na verzi 3.1.1-174 s přepsaným odesíláním příkazů a uvolňováním paměti, VKD3D-Proton na 3.1 a emulátor instrukcí FEX na vydání FEX-2610-116.
D7VK dostalo rozsáhlou přestavbu práce s DirectDraw a Direct3D 7: objekty pohledu, materiálu a textury se nově sdílejí mezi verzemi rozhraní a přibyly volby pro poměr stran starých her. U ovladačů začaly u tří her, mezi nimi Horizon Forbidden West, fungovat haptika a adaptivní spouště DualSense po USB zároveň, kdežto dřív si hra vybrala jen jedno z toho.
Hráči se tím nezmění nic. Značka míří na ty, kdo hlášení chyb čtou a musí z přiloženého logu poznat, čí kód vlastně spadl.
Zdroje
- GE-Proton11-12 Released – poznámky k vydání, GitHub, 3. listopadu 2026
- build: tag dxvk, d7vk and vkd3d-proton versions built from patched trees – commit 739b9ff v proton-ge-custom
- dxvk_instance.cpp a dxvk_hud_item.cpp – zdrojový kód DXVK, výpis verze do logu a do HUD
- device.c – zdrojový kód VKD3D-Proton, test na špinavý strom
- Šablona hlášení chyb DXVK a šablona VKD3D-Proton
- GE-Proton 11-12 is another big release with lots of game fixes for Linux / SteamOS – GamingOnLinux, 3. listopadu 2026