SDL je sada knihoven vyvinutých v programovacím jazyce C, které poskytují základní funkce pro provádění multimediálních operací (audio a video), jakož i načítání a správu obrázků.
SDL je knihovna poskytuje nástroje, jako je hardwarově akcelerovaný 2D a 3D grafický výstup, o kterém jsme již mluvili při mnoha příležitostech zde na blogu (obvykle na jejich nových vydáních), tato knihovna dlouho fungovala jako výchozí na X11, ale s Waylandem jako druhou možností.
V současné době je vývojáři pracují na nové větvi SDL3 ve kterém jedním z hlavních rysů a novinkou (zejména) bylo přemístění X11 pomocí výchozího použití Wayland, krok, který by teoreticky zlepšil mnoho aspektů knihovny.
Zdá se ale (alespoň prozatím), že v SDL3 se od nedávna nenaplní ani jedno, ani druhé Vývojářům byla podána žádost, což v podstatě spočívala v odvolání změny, která migrovala větev SDL3 na používání protokolu Wayland jako výchozí v prostředích, která současně podporují Wayland a X11.
Wayland má velké množství nevyřešených problémů souvisejících se zavedením povrchového blokování spánku a implementací FIFO (vsync), která je zásadně nefunkční, což vede ke snížení výkonu GPU.
To neznamená, že "měli bychom opravit FIFO v Mesa/jiných ovladačích", ale že to nelze opravit bez dodatečného protokolu, v tomto případě fifo-v1 1 .
Bez tohoto protokolu se musí vkQueuePresent nebo glSwapBuffers zastavit pro zpětné volání „rámce“ po předložení obrázku. Jediný důvod, proč nám to na SteamOS projde, je ten, že Gamescope implementuje to, co je v podstatě fifo-v1 a my to tam používáme...
Neexistuje žádná výhoda pro průměrné hry a aplikace, které preferují Wayland před X11, pouze několik regresí výkonu a nepoužitelnost v tomto bodě.
Proto musíme tuto změnu vrátit, dokud nevyjdou fifo-v1 a commit-timing-v1 a alespoň ve stabilní verzi pro velké skladatele.
Ačkoli Žádost o stažení byla zkontrolována a schválena od tvůrce SDL, ještě nebyl začleněn do kódové základny. Hlavním důvodem je existence nevyřešených problémů v prostředí Wayland souvisejících s povrchovým zamykáním a implementací FIFO (vsync), což vede ke snížení výkonu. Tyto problémy nelze plně vyřešit bez implementace dodatečných protokolů fifo-v1 a commit-timing-v1.
Je zdůrazněno, Bez vyřešení těchto problémů nenabízí přechod z X11 na Wayland žádné významné výhody pro běžné aplikace a hry, ale způsobuje vážné snížení výkonu a možné regrese. Proto se doporučuje přehodnotit migraci z SDL na Wayland až poté, co budou schváleny a implementovány protokoly fifo-v1 a commit-timing-v1 ve stabilních verzích hlavních kompozitních manažerů.
Ohledně případu je důležité zmínit, že Aktuálně je přijetí přihlášky „odloženo“ Vzhledem k tomu, že Sam Lantinga, tvůrce SDL, zmínil, že má přezkoumat tento požadavek související s přechodem na Wayland ve výchozím nastavení, zmiňuje, že případ bude řešen později (blíže ke konečnému vydání SDL3), protože v současné době bylo rozhodnuto dát upřednostňujeme řešení výše uvedených problémů a do té doby může být situace normalizována. Prozatím zůstává Wayland povolen v testovacích verzích SDL 3 pro lepší hodnocení v prostředích založených na Wayland a pro získávání zpětné vazby od uživatelů.
Ačkoli Momentálně to vypadá, že vše nasvědčuje tomu, že Wayland bude konečnou volbouPokud se problémy nevyřeší a především nebude dosaženo optimálního výkonu, zpoždění Waylandu jako výchozí by mohlo být realitou.
V tuto chvíli můžete vidět aktuální stav vývoje nové pobočky SDL 3, který obsahuje úpravy různých subsystémů, změny API, které mohou ovlivnit kompatibilitu, a důkladné vyčištění zastaralých funkcí. Například v SDL 3 byl kompletně přepracován kód pro práci se zvukem, v 2D rendering API byl představen nový backend pro renderování přes Vulkan API, byla rozšířena podpora HDR, API pro práci s průhlednými okny mj. .
Pokud zájem znát pokrok v SDL3 můžete použít zkušební verzi nabízenou od následující odkaz.Na druhou stranu, pokud chcete navázat na diskuzi o zpoždění Wayland, můžete tak učinit z níže uvedeného odkazu.