{"id":181949,"date":"2026-06-08T14:48:08","date_gmt":"2026-06-08T12:48:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd"},"modified":"2026-06-08T14:48:08","modified_gmt":"2026-06-08T12:48:08","slug":"ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd","title":{"rendered":"Ape \u2014 a new open-source implementation of Vulkan ICD","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p>Introduced <a rel=\"nofollow\" href=\"https:\/\/git.kbz8.me\/kbz_8\/VulkanDriver\">new experimental<\/a> Vulkan driver <strong>Ape<\/strong> \u2014 an open-source implementation of Vulkan ICD, mostly written in <strong>Zig<\/strong> and not using Mesa code. The project does not yet claim industrial application: the author explicitly describes it as a learning attempt to 'build a driver by hand' and warns against using Ape in serious projects. The code is published under the <strong>MIT<\/strong>.<\/p>\n<p><\/noindex><\/noindex><br \/>\n<noindex><\/p>\n<p>Interest in Ape arose after <a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/pull\/2762\">an individual vendor ID for<\/a> and driver ID for <strong>Ape<\/strong> ApeSoft <strong>. The corresponding pull request in the KhronosGroup\/Vulkan-Docs repository has been merged<\/strong>. In the comment, the author mentioned that they are working on an amateur Vulkan driver and getting closer to passing all Vulkan 1.0 tests. <strong>on June 6, 2026<\/strong>Essentially, Ape is not a driver for a specific graphics card, but rather<\/p>\n<p><\/noindex><\/p>\n<p>a software Vulkan renderer <strong>, similar in purpose to Mesa Lavapipe: Vulkan commands are executed by its own implementation, without calling the hardware GPU driver. At the same time, Ape is not based on Mesa and is written as a standalone codebase in Zig.<\/strong>What Ape can already do<\/p>\n<h3>Works as a Vulkan ICD.<\/h3>\n<ul>\n<li>\n<p><strong>Ape is structured as<\/strong><br \/>\nInstallable Client Driver <strong>\u2014 that is, as a driver that can be picked up by the standard Vulkan loader through the ICD manifest. After building, the author suggests specifying the Vulkan loader with the corresponding manifest file. This makes the project not just a collection of experiments, but a real implementation of a Vulkan driver, albeit a learning one. The Vulkan loader is designed to detect and connect multiple ICD drivers in the system.<\/strong> Completely written in Zig.<\/p>\n<\/li>\n<li>\n<p><strong>The main codebase of Ape is written in Zig; on the main forge page, the language is indicated as<\/strong><br \/>\nZig 99.9% <strong>. Phoronix particularly emphasizes that the project is not dependent on Mesa and is implemented specifically in Zig, not in C\/C++. Graphics drivers are traditionally written in C\/C++, but Ape shows that a Vulkan ICD can also be implemented in a more modern system language.<\/strong>There is a software implementation of ApeSoft.<\/p>\n<\/li>\n<li>\n<p><strong>The project includes a software implementation<\/strong><br \/>\nSoft <strong>, which is located within the driver\u2019s codebase itself. It uses its own<\/strong>SPIR-V interpreter <strong>and its own renderer. Ape not only accepts Vulkan calls but also attempts to execute shaders and rendering on the CPU independently.<\/strong> Building is supported via Zig build.<\/p>\n<\/li>\n<li>\n<p><strong>Assembly through Zig build is supported.<\/strong><br \/>\nThe README specifies the method for building with the zig build soft command for software implementation. After this, you need to configure the Vulkan loader with the ICD manifest. So far, this is clearly a tool for developers and enthusiasts, rather than a simple 'install and run' package.<\/p>\n<\/li>\n<li>\n<p><strong>A significant portion of Vulkan 1.0 has been implemented.<\/strong><br \/>\nThe README contains a list of the Vulkan 1.0 function statuses. Among the implemented features are instance and device creation, memory allocation, buffers, images, command buffers, render pass, framebuffer, graphics pipeline, compute pipeline, shader modules, descriptor sets, swapchain, and basic drawing commands. In terms of implemented functions, the project has already progressed beyond the 'hello triangle' experiment, but it still needs to undergo testing and finalize outstanding elements to achieve full compatible driver status.<\/p>\n<\/li>\n<li>\n<p><strong>There are drawing and compute commands.<\/strong><br \/>\nThe implemented function list includes vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndexedIndirect, vkCmdDispatch, and vkCmdDispatchIndirect. Ape covers not only the basic infrastructure of Vulkan but also two key API scenarios: graphics rendering and compute pipelines.<\/p>\n<\/li>\n<li>\n<p><strong>Support for swapchain and output through Wayland is provided.<\/strong><br \/>\nThe implementation status notes vkCreateSwapchainKHR, vkQueuePresentKHR, vkCreateWaylandSurfaceKHR, as well as checks for Wayland presentation support. The presence of swapchain and Wayland surface indicates that the driver is aimed not only at offline testing but also at outputting images to a real windowing environment in Linux.<\/p>\n<\/li>\n<li>\n<p><strong>Part of the WSI for X11 and Windows is still in progress.<\/strong><br \/>\nvkCreateXcbSurfaceKHR, vkCreateXlibSurfaceKHR, vkCreateWin32SurfaceKHR and the corresponding presentation support checking functions are marked as WIP. Wayland is already present, while X11\/Windows support is not yet fully developed.<\/p>\n<\/li>\n<li>\n<p><strong>Some elements of Vulkan 1.0 are still not ready or supported.<\/strong><br \/>\nThe WIP status includes, for example, vkCreatePipelineCache, vkCreateSemaphore, vkGetQueryPoolResults, vkMergePipelineCaches, part of the dynamic states, and timestamp commands. Sparse functions like vkQueueBindSparse and vkGetImageSparseMemoryRequirements are marked as unsupported. Ape is close to Vulkan 1.0 in coverage but is not yet a universal replacement for a standard Vulkan driver.<\/p>\n<\/li>\n<li>\n<p><strong>Recent improvements in rendering and synchronization have emerged.<\/strong><br \/>\nChanges in the project history from June 5\u20136 include the addition of primitive restart, integer texture sampling, mip\/lod management during sampling, and the implementation of binary semaphores. The project is actively evolving towards practical compatibility with Vulkan tests and real graphic scenarios.<\/p>\n<\/li>\n<li>\n<p><strong>The project does not aim for performance.<\/strong><br \/>\nThe author clearly states that Ape is created for studying Vulkan and does not aim to be a performant or production-ready driver. Ape should be regarded as a research project, a teaching implementation of Vulkan, and an experiment with Zig, rather than a competitor to Mesa RADV, ANV, NVK, or Lavapipe.<\/p>\n<\/li>\n<\/ul>\n<p>In summary, Ape is interesting not because it can replace Mesa tomorrow, but because it is a standalone implementation of Vulkan ICD in Zig with its own SPIR-V interpreter, software renderer, and already significant coverage of Vulkan 1.0. While it offers little benefit to regular users for now, it appears to be an intriguing live testbed for driver developers, runtime authors, and those studying the inner workings of Vulkan.<\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18313195\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 Vulkan-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 Ape \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u043d\u0430 Zig \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u0434 Mesa. \u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0430 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435: \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u044f\u043c\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043a\u0430\u043a \u0443\u0447\u0435\u0431\u043d\u0443\u044e \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u00ab\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0440\u0443\u043a\u0430\u043c\u0438\u00bb \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Ape \u0432 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. \u041a\u043e\u0434 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0418\u043d\u0442\u0435\u0440\u0435\u0441 \u043a Ape \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181949","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 Vulkan-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 Ape \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Ape \u2014 \u043d\u043e\u0432\u0430\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 Vulkan-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 Ape \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-06-08T12:48:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-08T12:48:08+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ape \u2014 the new open-source implementation of Vulkan ICD | ProHoster","description":"A new experimental Vulkan driver Ape has been introduced \u2014 an open-source implementation of Vulkan ICD written.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Ape \u2014 \u043d\u043e\u0432\u0430\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 Vulkan-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 Ape \u2014 \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Vulkan ICD, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/ape-novaya-otkrytaya-programmnaya-realizacziya-vulkan-icd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-06-08T12:48:08+00:00","article:modified_time":"2026-06-08T12:48:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=181949"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/181949\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=181949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=181949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=181949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}