A Mesa 25.2 várhatóan jól használható kezdeti Vulkan-támogatást nyújt majd az NVIDIA Blackwell GPU-khoz

2025.július 1-jén David Airlie, a Red Hat mérnöke részletes blogbejegyzésben számolt be a Blackwell architektúra támogatásának állapotáról az NVK-n, az NVIDIA GPU-khoz készült nyílt forráskódú Vulkan illesztőn belül. A munkálatok több hetet vettek igénybe, és Airlie szerint a Collabora részéről Faith Ekstrand – aki az NVK karbantartója – a legfontosabb fejlesztési elemeket megtisztítva be is olvasztotta a Mesa fő ágába. A közelgő Mesa 25.2 kiadás már tartalmazni fog egy működőképes NVK implementációt Blackwell GPU-khoz, amely a Vulkan CTS (Conformance Test Suite) minden próbáját sikeresen teljesítette.

A Mesa 25.2 várhatóan jól használható kezdeti Vulkan-támogatást nyújt majd az NVIDIA Blackwell GPU-khoz

    Architektúrák közötti különbségek

    A fejlesztés alapját Ben Skeggs, az NVIDIA mérnöke által végzett korai kernelmunka adta, amely az r570 firmware részeként jelent meg a Nouveau illesztőprogramban. Airlie ezt követően együtt dolgozott Ben Skeggsel a memóriahasználattal kapcsolatos problémák megszüntetésén, valamint különböző regressziók kiküszöbölésén, amíg a kernel stabil állapotba nem került.

    Miután az alapok megszilárdultak, előtérbe kerültek az Ada és Blackwell architektúra közötti eltérések. Ezek kezelése során fontos szerepet játszottak az NVIDIA által biztosított fejlécek és technikai dokumentációk. Az újítások sorában szerepelt például az utasításkódolás módosítása. A compute shaderek indításához használt QMD mező új kódolása is figyelmet igényelt, de az NVIDIA által közzétett hivatalos QMD fejlécek sokat könnyítettek a megvalósításon.

    További fontos különbségek jelentkeztek a textúra-fejlécek kezelésében, mivel a Hopper óta eltérő kódolást alkalmaznak, így új fejlécekre volt szükség. Az NVIDIA új támogatása a külön Depth és Stencil síkokhoz módosította a felületelrendezések logikáját is. A memóriakezelésben bekövetkezett változásokkal – például az általános memóriafajták alkalmazásával – a másolómotor kódját is módosítani kellett, különösen az alacsony bitszélességű (8/16 bpp) képek kezeléséhez.

    Folyamatban lévő munkák a Mesa meghajtóban

    Bár az alapfunkciók stabilak, néhány fejlesztés még nem került be az aktuális kódbázisba. Ilyen például a bound texture támogatás, amely jelenleg hiányzik, így Blackwell jelenleg bindless textúrákat használ. Ez teljesítménybeli hátrányt jelenthet, mivel az új textúrautazási kódolás miatt a textúrahivatkozásokat előbb át kell tölteni köztes uniform regiszterekbe, mielőtt felhasználhatóvá válnának. Ez különösen bonyolulttá teszi az irányítási logikát, mivel gondosan kell bánni a regiszterek kilökésével is.

    Szintén hátravan még a megfelelő utasítástervezés (instruction scheduling) implementálása. Ezzel kapcsolatban már előkészítettek egy részletes táblázatot, amely alapján elindítanak egy merge requestet, mielőtt szabadságra vonulnak. Az elvégzett munka és a közösség együttműködése révén az NVK Blackwell támogatása hamarosan teljessé válik, így egyre kézzelfoghatóbb alternatívát nyújt majd az NVIDIA hivatalos Linux meghajtójával szemben.