Ape je nová open source implementácia Vulkan ICD.

Predloženej nové experimentálne Vulkan vodič opice — implementácia softvéru Vulkan ICD s otvoreným zdrojovým kódom, napísaná takmer celá v jazyku Zig a nepoužíva kód Mesa. Projekt si zatiaľ nenárokuje, že je vhodný na priemyselné použitie: autor ho výslovne opisuje ako vzdelávací pokus o „ručné zostavenie ovládača“ a varuje pred používaním Ape v serióznych projektoch. Kód je publikovaný pod licenciou. S.


Záujem o opicu vznikol po v špecifikácii Pre Vulkan bolo pridané samostatné ID dodávateľa opice a ID vodiča pre ApeSoftZodpovedajúci pull request v repozitári KhronosGroup/Vulkan-Docs bol zlúčený. 6 Jún 2026 rokV komentári autor uviedol, že pracuje na ovládači Vulkan pre amatérov a blíži sa k úspešnému absolvovaniu všetkých testov Vulkan 1.0.

V skutočnosti Ape nie je ovládač pre konkrétnu grafickú kartu, ale Softvérový renderer Vulkan, podobný účelu ako Mesa Lavapipe: Príkazy Vulkanu sú vykonávané jeho vlastnou implementáciou bez prístupu k hardvérovému ovládaču GPU. Lavapipe však nie je založený na Mesa a je napísaný ako samostatná kódová základňa v jazyku Zig.

Čo už Ape dokáže

  • Funguje ako Vulkan ICD.
    Ape je navrhnutý ako Inštalateľný ovládač klienta — teda ako ovládač, ktorý môže štandardný zavádzač Vulkan načítať prostredníctvom manifestu ICD. Po zostavení autor navrhuje nasmerovať zavádzač Vulkan na príslušný súbor manifestu. Vďaka tomu nie je projekt len ​​súborom experimentov, ale skutočnou implementáciou ovládača Vulkan, aj keď len tréningovou. Zavádzač Vulkan je navrhnutý špeciálne na detekciu a povolenie viacerých ovládačov ICD v systéme.

  • Napísané celé v jazyku Zig.
    Hlavná kódová základňa projektu Ape je napísaná v jazyku Zig; na hlavnej stránke projektu Forge je tento jazyk uvedený ako Zig 99,9 %Phoronix zdôrazňuje, že projekt je nezávislý od Mesa a je implementovaný v jazyku Zig, nie C/C++. Grafické ovládače sú tradične písané v jazyku C/C++, ale Ape demonštruje, že Vulkan ICD je možné implementovať v modernejšom systémovom jazyku.

  • Existuje softvérová implementácia od spoločnosti ApeSoft.
    Projekt sa zameriava na implementáciu softvéru Mäkký, ktorý sa nachádza v samotnej kódovej základni ovládača. Používa svoj vlastný Interpret SPIR-V a vlastný renderer. Ape neprijíma volania Vulkan, ale namiesto toho sa pokúša spúšťať shadery a renderovanie na vlastnom procesore.

  • Podporované je zostavovanie cez Zig build.
    Pre implementáciu softvéru súbor README špecifikuje metódu zostavenia pomocou softvérového príkazu zig build. Potom je potrebné nakonfigurovať zavádzač Vulkan v manifeste ICD. Zatiaľ je to jednoznačne nástroj pre vývojárov a nadšencov, nie balík typu „nainštaluj a spusti“.

  • Významná časť Vulkan 1.0 bola implementovaná.
    Súbor README uvádza stav funkcií Vulkan 1.0. Medzi implementované funkcie patrí vytváranie inštancií a zariadení, alokácia pamäte, vyrovnávacie pamäte, obrázky, vyrovnávacie pamäte príkazov, renderovací priechod, framebuffer, grafický pipeline, výpočtový pipeline, moduly shaderov, sady deskriptorov, swapchain a základné renderovacie príkazy. Pokiaľ ide o implementované funkcie, projekt už prekročil experiment „hello triangle“, ale stále potrebuje overenie a nejaké nedokončené záležitosti, aby sa stal plne kompatibilným ovládačom.

  • Existujú príkazy na kreslenie a výpočet.
    Zoznam implementovaných funkcií zahŕňa vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndexedIndirect, vkCmdDispatch a vkCmdDispatchIndirect. Ape pokrýva nielen základnú infraštruktúru Vulkanu, ale aj dva kľúčové scenáre API: vykresľovanie grafiky a výpočtové kanály.

  • Podporované sú výbery cez Swapchain a Wayland.
    Stav implementácie zahŕňa vkCreateSwapchainKHR, vkQueuePresentKHR, vkCreateWaylandSurfaceKHR a kontroly podpory prezentácií Wayland. Prítomnosť swapchainu a povrchu Wayland znamená, že ovládač je navrhnutý nielen na offline testovanie, ale aj na zobrazovanie obrázkov v reálnom prostredí okna. Linux.

  • Súčasť WSI pre X11 a Windows stále prebieha.
    vkCreateXcbSurfaceKHR, vkCreateXlibSurfaceKHR, vkCreateWin32SurfaceKHR a zodpovedajúce funkcie kontroly podpory prezentácie sú označené ako rozpracované. Wayland je už prítomný a X11/Windows- podpora ešte nie je pripravená.

  • Niektoré prvky Vulkan 1.0 ešte nie sú pripravené alebo podporované.
    Stav WIP zahŕňa napríklad vkCreatePipelineCache, vkCreateSemaphore, vkGetQueryPoolResults, vkMergePipelineCaches, niektoré dynamické stavy a príkazy časových pečiatok. Riedke funkcie ako vkQueueBindSparse a vkGetImageSparseMemoryRequirements sú označené ako nepodporované. Ape sa blíži k Vulkan 1.0, čo sa týka pokrytia, ale zatiaľ nie je univerzálnou náhradou za bežný ovládač Vulkan.

  • Boli pridané nové vylepšenia vykresľovania a synchronizácie.
    História projektu od 5. do 6. júna zahŕňala zmeny, ako napríklad pridanie primitívneho reštartu, celočíselného vzorkovania textúr, správy vzorkovania mip/lod a implementácie binárnych semaforov. Projekt sa aktívne vyvíja najmä smerom k praktickej kompatibilite s benchmarkmi Vulkan a reálnymi grafickými scenármi.

  • Projekt nie je zameraný na produktivitu.
    Autor výslovne uvádza, že Ape bol vytvorený pre prieskum Vulkanu a jeho cieľom nie je byť ovládačom pripraveným na výkon alebo produkciu. Ape by sa mal vnímať ako výskumný projekt, vzdelávacia implementácia Vulkanu a experiment so Zigom, nie ako konkurenta pre Mesa RADV, ANV, NVK alebo Lavapipe.

Ape je v konečnom dôsledku zaujímavý nie preto, že by sa dal nainštalovať zajtra namiesto Mesy, ale preto, že ide o samostatnú implementáciu Vulkan ICD na Zig s vlastným interpretom SPIR-V, softvérovým rendererom a už aj tak významným pokrytím Vulkan 1.0. Hoci je pre bežných používateľov málo užitočný, pre vývojárov ovládačov, autorov runtime prostredia a tých, ktorí študujú vnútorné mechanizmy Vulkanu, projekt predstavuje fascinujúce a živé testovacie prostredie.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster