NVK, isang open source na driver ng Vulkan para sa NVIDIA

NVK-Logo_RGB

Ang NVK ay isang bagong open source na Vulkan driver para sa NVIDIA graphics hardware

Inilunsad ng Collabora ang NVK, isang bagong open source driver para sa Mesa na nagpapatupad ng Vulkan graphics API para sa NVIDIA graphics card. Ang driver ay isinulat mula sa simula gamit ang mga opisyal na file ng header at mga bukas na kernel module na inilabas ng NVIDIA.

Kapag bumubuo ng isang bagong driver, Ang mga pangunahing bahagi ng driver ng Nouveau OpenGL ay ginagamit sa ilang lugar, ngunit dahil sa mga pagkakaiba sa mga pangalan ng file ng header ng NVIDIA at mga pangalan ng reverse engineering sa Nouveau, mahirap ang muling paggamit ng code at sa karamihan ay nangangailangan ng maraming muling pag-iisip at pagpapatupad mula sa simula.

Ang pag-unlad din ay isinasagawa na may layuning lumikha ng bagong Vulkan driver reference para sa Mesa, na ang code ay maaaring hiramin kapag gumagawa ng iba pang mga controller.

Ang suporta para sa NVIDIA hardware sa mga open source na driver ay palaging medyo kulang. Umiiral nga ang mga driver ng Nouveau, ngunit madalas silang walang mga feature, may mga bug, o sadyang hindi tugma sa ilang partikular na card. Ito ay dahil sa isang kumbinasyon ng mga kadahilanan. Hindi tulad ng mga driver ng Intel at AMD, ang nouveau driver stack ay binuo na may kaunti hanggang walang opisyal na dokumentasyon o tulong mula sa NVIDIA. Paminsan-minsan ay nagbibigay sila ng maliliit na props dito. Sa kasaysayan, ito ay pangunahing nakatuon sa pagpapagana ng sapat na nouveau upang mai-install mo ang iyong pamamahagi ng Linux, ma-access ang isang web browser, at i-download ang proprietary driver stack nito.

Upang gawin ito, nabanggit na sa panahon ng trabaho ng driver ng NVK, isang pagtatangka upang isaalang-alang ang lahat ng magagamit na karanasan sa pagbuo ng mga driver ng Vulkan, panatilihin ang code base sa pinakamainam na hugis, at i-minimize ang paglilipat ng code mula sa iba pang mga driver ng Vulkan, ginagawa ang dapat gawin para sa mataas na kalidad, pinakamainam na trabaho.

Ang driver ng NVK ay nasa development pa lang ng ilang buwan, kaya limitado ang functionality nito. Ang tagakontrol matagumpay na nakapasa sa 98% ng mga pagsubok kapag nagpapatakbo ng 10% ng mga pagsubok sa Vulkan CTS (Compatibility Test Suite).

Sa pangkalahatan, ang pagsasanay sa pagmamaneho ay tinatantya sa 20-25% ng functionality ng ANV at RADV controllers. Sa mga tuntunin ng suporta sa hardware, ang driver ay kasalukuyang limitado sa mga card batay sa microarchitectures Turing at Ampère. Ang mga patch upang suportahan ang Kepler, Maxwell, at Pascal GPU ay ginagawa, ngunit hindi pa handa.

Marahil ang pinakamalaking bahagi ng teknikal na pakikibaka ay ang wastong pagmamaneho ng hardware mula sa kernel space. Ang NVIDIA hardware ay umaasa sa nilagdaang firmware para sa lahat mula sa pagpapakita hanggang sa pagpapatupad ng trabaho hanggang sa pamamahala ng kuryente. Ang mga firmware blobs na ibinigay ng NVIDIA sa nakaraan ay mga stripped-down na bersyon na ginawa nila para sa mga open source driver lang.

Sa pangmatagalang, ang NVK driver para sa NVIDIA graphics card ay inaasahang makakamit ang isang katulad na antas ng kalidad at functionality bilang ang RADV driver para sa mga AMD card. Kapag handa na ang driver ng NVK, magagamit ang mga shared library na nilikha sa panahon ng pag-develop nito upang pahusayin ang driver ng Nouveau OpenGL para sa mga video card ng NVIDIA.

Isinasaalang-alang din ito ang posibilidad ng gamitin ang Zink project para magpatupad ng OpenGL driver para sa mga video card ng NVIDIA na gumagana sa pamamagitan ng pagsasalin ng mga tawag sa Vulkan API.

Sa mahabang panahon, ang pag-asa ay ang NVK ay magiging sa NVIDIA hardware kung ano ang RADV sa AMD hardware.

Sa wakas, para sa mga interesado sa proyekto, nabanggit na ay binuo ng isang pangkat na kinabibilangan ng Karol Herbst (Nouveau developer sa Red Hat), david airlie (DRM maintainer sa Red Hat) at Jason Ekstrand (aktibong developer ng Mesa sa Collabora).

Tulad ng para sa controller code, dapat mong malaman iyon Ito ay open source sa ilalim ng lisensya ng MIT. Sinusuportahan lamang ng driver ang mga GPU batay sa Turing at Ampere microarchitecture na inilabas mula noong Setyembre 2018. Kung gusto mong malaman ang higit pa tungkol dito, maaari kang sumangguni sa mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.