{"slug": "vulkan", "name": "Vulkan", "category": "media", "category_name": "Media and creative", "description": "", "recommenders": 2, "commenters": 9, "warners": 3, "score": -0.157, "rising": -0.65, "first": "2026-04-01", "latest": "2026-07-23", "why": "Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 2, "neutral": 1, "compare": 3, "warn": 3}, "spark": [0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0], "listed": false, "loved": [], "caveat": "", "short_quote": "Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "icon": false, "domain": "howtovulkan.com", "github_repo": null, "official_url": "https://howtovulkan.com", "pricing": "", "aliases": ["Vulkan"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 784383728, "item_id": 49023983, "url": "https://news.ycombinator.com/item?id=49023983", "by": "reactordev", "date": "2026-07-23", "stance": "recommend", "quote": "Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "excerpt": "Sadly, the OP is right, OpenGL is deprecated on a number of platforms and down right removed from others. Please don't learn this now. Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "context": "", "use_case": "learning graphics programming", "switched_from": "", "story": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"}, {"id": 761772289, "item_id": 47610768, "url": "https://news.ycombinator.com/item?id=47610768", "by": "wafflemaker", "date": "2026-04-01", "stance": "recommend", "quote": "Proton and Vulcan are Awesome.", "excerpt": "When playing eve online on Linux (via Proton), the moment any other window gets focus, or the mouse slights off the game screen onto the second monitor on the side, game minimizes. I have a feeling it's just wine things. Can anybody understand what happens and maybe explain it a little? I remember that 13 years ago I did everything on Linux and only switched to Windows to play eve online. Now the game works beautiful", "context": "", "use_case": "graphics API for games", "switched_from": "", "story": "Steam on Linux Use Skyrocketed Above 5% in March"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 784394548, "item_id": 49024659, "url": "https://news.ycombinator.com/item?id=49024659", "by": "cyber_kinetist", "date": "2026-07-23", "stance": "warn", "quote": "Vulkan or DX12 are currently flawed APIs that are unnecessarily complex", "excerpt": "The one and only Holy Bible of Graphics Programming. If you're starting to learn computer graphics, just study through the entire site and do the examples one by one. It doesn't matter one bit that it uses a slightly outdated API called OpenGL - you're supposed to learn how to render things first, not about some weird obscure hardware / driver details! After you've learned it, you can start learning CUDA if you want ", "context": "", "use_case": "", "switched_from": "", "story": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"}, {"id": 782478736, "item_id": 48904921, "url": "https://news.ycombinator.com/item?id=48904921", "by": "pjmlp", "date": "2026-07-14", "stance": "warn", "quote": "Vulkan ended up being the same extension spaghetti as its predecessor", "excerpt": "I used to be big into Khronos API camp, even did my project thesis in OpenGL, up to the famous Long Peaks fail. Vulkan ended up being the same extension spaghetti as its predecessor, and Khronos was only able to come up with something thanks to AMD offering Mantle, C++ bindings and a GLSL successor only came to be thanks to NVidia (Vulkan-hpp and Slang started at NVidia). The \"we build the specification\", and then \"t", "context": "former Khronos API enthusiast", "use_case": "graphics API", "switched_from": "", "story": "Alternative(s) to run CUDA on non-Nvidia hardware"}, {"id": 782471297, "item_id": 48904456, "url": "https://news.ycombinator.com/item?id=48904456", "by": "mschuetz", "date": "2026-07-14", "stance": "warn", "quote": "Usability is important, or you end up with garbage like Vulkan.", "excerpt": "> unimportant implementation detail that should be assessed on performance alone rather than usability I disagree. Usability is important, or you end up with garbage like Vulkan. I'd rather have 99% of the performance for 100% usability, than 100% of the performance for 5% of the usability. Unfortunately when it comes to graphics APIs, the choices are between bad and worse, which is why I switched to doing real time ", "context": "real-time rendering developer", "use_case": "graphics API", "switched_from": "", "story": "Writing a bindless GPU abstraction layer"}]}], "who": [], "tags": [], "use_cases": ["graphics api", "learning graphics programming", "3d graphics", "later graphics learning", "graphics api for games"], "compared": [{"slug": "rocm", "name": "ROCm", "co": 5, "switched_from": 0, "switched_to": 1}, {"slug": "cuda", "name": "CUDA", "co": 5, "switched_from": 0, "switched_to": 1}, {"slug": "opengl", "name": "OpenGL", "co": 7, "switched_from": 0, "switched_to": 0}, {"slug": "llama-cpp", "name": "llama.cpp", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "metal", "name": "Metal", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "sdl3", "name": "SDL3", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "webgpu", "name": "WebGPU", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49022634", "title": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48750710", "title": "What to Learn to Be a Graphics Programmer", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48903715", "title": "Alternative(s) to run CUDA on non-Nvidia hardware", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48845999", "title": "Writing a bindless GPU abstraction layer", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47609564", "title": "Steam on Linux Use Skyrocketed Above 5% in March", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {"compare": 3, "neutral": 1, "warn": 3, "recommend": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 784395665, "item_id": 49024729, "url": "https://news.ycombinator.com/item?id=49024729", "by": "corysama", "date": "2026-07-23", "stance": "compare", "quote": "If you are going to use Vulkan, check out", "excerpt": "I still think that OpenGL is a better place to start learning 3D because there is so much less bookkeeping to do regarding memory and concurrency vs. Vulkan. I'm working on a \"Post-Modern OpenGL\" tutorial that exclusively teaches the most \"modern\" (merely a decade old) APIs and practices of GL 4.6. But, writing is slow going... If you are going to use Vulkan, check out https://howtovulkan.com/ Vulkan started with a l", "context": "", "use_case": "3D graphics", "switched_from": "", "story": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"}, {"id": 784394548, "item_id": 49024659, "url": "https://news.ycombinator.com/item?id=49024659", "by": "cyber_kinetist", "date": "2026-07-23", "stance": "warn", "quote": "Vulkan or DX12 are currently flawed APIs that are unnecessarily complex", "excerpt": "The one and only Holy Bible of Graphics Programming. If you're starting to learn computer graphics, just study through the entire site and do the examples one by one. It doesn't matter one bit that it uses a slightly outdated API called OpenGL - you're supposed to learn how to render things first, not about some weird obscure hardware / driver details! After you've learned it, you can start learning CUDA if you want ", "context": "", "use_case": "", "switched_from": "", "story": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"}, {"id": 784383728, "item_id": 49023983, "url": "https://news.ycombinator.com/item?id=49023983", "by": "reactordev", "date": "2026-07-23", "stance": "recommend", "quote": "Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "excerpt": "Sadly, the OP is right, OpenGL is deprecated on a number of platforms and down right removed from others. Please don't learn this now. Vulkan has the shape of every modern graphics api out there, DX included. Learn this or at the very least WebGPU.", "context": "", "use_case": "learning graphics programming", "switched_from": "", "story": "Learn OpenGL, extensive tutorial resource for learning Modern OpenGL"}, {"id": 782478736, "item_id": 48904921, "url": "https://news.ycombinator.com/item?id=48904921", "by": "pjmlp", "date": "2026-07-14", "stance": "warn", "quote": "Vulkan ended up being the same extension spaghetti as its predecessor", "excerpt": "I used to be big into Khronos API camp, even did my project thesis in OpenGL, up to the famous Long Peaks fail. Vulkan ended up being the same extension spaghetti as its predecessor, and Khronos was only able to come up with something thanks to AMD offering Mantle, C++ bindings and a GLSL successor only came to be thanks to NVidia (Vulkan-hpp and Slang started at NVidia). The \"we build the specification\", and then \"t", "context": "former Khronos API enthusiast", "use_case": "graphics API", "switched_from": "", "story": "Alternative(s) to run CUDA on non-Nvidia hardware"}, {"id": 782471297, "item_id": 48904456, "url": "https://news.ycombinator.com/item?id=48904456", "by": "mschuetz", "date": "2026-07-14", "stance": "warn", "quote": "Usability is important, or you end up with garbage like Vulkan.", "excerpt": "> unimportant implementation detail that should be assessed on performance alone rather than usability I disagree. Usability is important, or you end up with garbage like Vulkan. I'd rather have 99% of the performance for 100% usability, than 100% of the performance for 5% of the usability. Unfortunately when it comes to graphics APIs, the choices are between bad and worse, which is why I switched to doing real time ", "context": "real-time rendering developer", "use_case": "graphics API", "switched_from": "", "story": "Writing a bindless GPU abstraction layer"}, {"id": 780154612, "item_id": 48759663, "url": "https://news.ycombinator.com/item?id=48759663", "by": "Mierenik", "date": "2026-07-02", "stance": "neutral", "quote": "you can branch out and use something like Vulkan", "excerpt": "Depends on what you want to do. If you just want to make a game, use a game engine like Unity, Godot or Unreal. If you want to do graphics, like making engines, simulations, renderers then you should learn a low-level language and a graphics API. For the language I recommend C++, you can also use C or Rust but C might be a bit too difficult and you don't want to fight the language since graphics APIs are already hard", "context": "", "use_case": "later graphics learning", "switched_from": "", "story": "What to Learn to Be a Graphics Programmer"}, {"id": 780035617, "item_id": 48752226, "url": "https://news.ycombinator.com/item?id=48752226", "by": "sph", "date": "2026-07-01", "stance": "compare", "quote": "modern enough yet not too low level for a newbie compared to Vulkan", "excerpt": "Thank you! I started recently as a greybeard engineer, and I found SDL3 GPU to be modern enough yet not too low level for a newbie compared to Vulkan. SDL in general is a fantastic framework. And if you use it from Odin, the dev experience is so smooth and enjoyable as everything you need to create graphical applications is builtin. I will definitely check out Essential Math for Games and Interactive Applications, I ", "context": "", "use_case": "graphics API", "switched_from": "", "story": "What to Learn to Be a Graphics Programmer"}, {"id": 780030753, "item_id": 48751922, "url": "https://news.ycombinator.com/item?id=48751922", "by": "jplusequalt", "date": "2026-07-01", "stance": "compare", "quote": "if you're okay with being confused as all hell try Vulkan", "excerpt": "I'm a graphics programmer. The most useful resources I've found for graphics are scratchapixel, UC Davis' graphics lectures, songho's articles, and Essential Math for Games and Interactive Applications. I highly recommend you read this last resource front to back. Seriously, its the best freaking math reference for graphics out there. But knowing theory is not sufficient. You also need to get your hands dirty by writ", "context": "graphics programmer", "use_case": "learning graphics programming", "switched_from": "", "story": "What to Learn to Be a Graphics Programmer"}, {"id": 761772289, "item_id": 47610768, "url": "https://news.ycombinator.com/item?id=47610768", "by": "wafflemaker", "date": "2026-04-01", "stance": "recommend", "quote": "Proton and Vulcan are Awesome.", "excerpt": "When playing eve online on Linux (via Proton), the moment any other window gets focus, or the mouse slights off the game screen onto the second monitor on the side, game minimizes. I have a feeling it's just wine things. Can anybody understand what happens and maybe explain it a little? I remember that 13 years ago I did everything on Linux and only switched to Windows to play eve online. Now the game works beautiful", "context": "", "use_case": "graphics API for games", "switched_from": "", "story": "Steam on Linux Use Skyrocketed Above 5% in March"}]}