
{"id":51189,"date":"2026-05-12T11:47:20","date_gmt":"2026-05-12T11:47:20","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=51189"},"modified":"2026-05-12T11:47:20","modified_gmt":"2026-05-12T11:47:20","slug":"nvidia-va-api-driver-0-0-17","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/05\/nvidia-va-api-driver-0-0-17\/","title":{"rendered":"NVIDIA VA-API Driver 0.0.17 Added JPEG Decoding &#038; DGX Spark Support"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-38385\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2021\/06\/nvidia-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>NVIDIA VA-API driver, the VA-API hardware acceleration implemention using NVIDIA GPU, released new 0.0.17 version a few days ago.<\/p>\n<p>The new version of this free open-source library fixed only two but important bugs for JPEG decoding and NVIDIA DGX Spark memory systems.<\/p>\n<p><!--more--><\/p>\n<div id=\"attachment_49072\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49072\" class=\"size-large wp-image-49072\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/nvidia-vaapi-firefox-700x589.webp\" alt=\"\" width=\"610\" height=\"513\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/nvidia-vaapi-firefox-700x589.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/nvidia-vaapi-firefox-300x252.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/nvidia-vaapi-firefox-768x646.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/06\/nvidia-vaapi-firefox.webp 1050w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-49072\" class=\"wp-caption-text\">Firefox Web Content acceleration through NVIDIA GPU<\/p><\/div>\n<p>As you may know, Linux has several ways (VA-API, VDPAU, AMF, NVDEC, or Vulkan Video) for decoding video content with GPU hardware acceleration. Firefox, the most popular and default browser in many Linux Distributions, however only supports VA-API so far in Linux.<\/p>\n<p>Both Intel and AMD GPUs support VA-API, but NVIDIA does NOT. If you&#8217;re Firefox user but running Linux on computer with NVIDIA GPU, then the web content will be always decoded by your CPU by default.<\/p>\n<p>To workaround the issue, the free open-source <a href=\"https:\/\/github.com\/elFarto\/nvidia-vaapi-driver\" target=\"_blank\" rel=\"noopener\">NVIDIA VA-API driver<\/a> was born.<\/p>\n<h3>JPEG Decoding support<\/h3>\n<p>The driver previously supports for decoding AV1, H.264, HEVC, VP8, VP9, MPEG-2, VC-1 codecs. With the new 0.0.17, <b>JPEG decoding is also supported<\/b>.<\/p>\n<p>The JPEG codec was previously unusable due to a structural mismatch. VI-API outputs decoded data as separate buffers (e.g., picture params, quantization tables, Huffman tables, slice params\/data), but NVIDIA NVDEC expects a fully formed JPEG bitstream.<\/p>\n<p>To fix this mismatch, NVIDIA VA-API driver since 0.0.17 now creates smallest valid JPEG file that conforms to the JFIF standard, directly from the VA-API buffers, before handing it off to NVDEC.<\/p>\n<p>According to the <a href=\"https:\/\/github.com\/elFarto\/nvidia-vaapi-driver\/pull\/422\" target=\"_blank\" rel=\"noopener\">feature request<\/a>, the results are exactly identical at the byte level and hash-verified compare to the decoding outputs using the native NVDEC (CUDA). Though there are few limitations (see the previous link).<\/p>\n<h3>Fix for DGX Spark<\/h3>\n<p>NVIDIA DGX Spark, the desktop AI supercomputer, uses unified system memory shared between the CPU and GPU rather than discrete VRAM.<\/p>\n<p>NVIDIA VA-API driver will now check twice during initialization to make sure it&#8217;s running on NVIDIA device with discrete VRAM or unified memory.<\/p>\n<p>When unified memory is detected, it will remember the detection result, add required dependencies from open-gpu-kernel-modules, and use the correct new method to allocate memory. Thus, it will work properly on DGX Spark with Firefox.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51190\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/msi-aicomputer-700x545.webp\" alt=\"\" width=\"610\" height=\"475\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/msi-aicomputer-700x545.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/msi-aicomputer-300x233.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/msi-aicomputer-768x598.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/05\/msi-aicomputer.webp 884w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<h3>Get NVIDIA VA-API Driver 0.0.17<\/h3>\n<p>The source tarball as well as the release note is available in Github page via the link below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/github.com\/elFarto\/nvidia-vaapi-driver\/releases\" target=\"_blank\" rel=\"noreferrer noopener\">NVIDIA VAAPI Driver<\/a><\/div>\n<\/div>\n<p>For Ubuntu users who want to try it out without building by yourself, I&#8217;ve made the new version into this <a href=\"https:\/\/launchpad.net\/~ubuntuhandbook1\/+archive\/ubuntu\/nvidia-vaapi\" target=\"_blank\" rel=\"noopener\">unofficial PPA<\/a> for Ubuntu 22.04, Ubuntu 24.04, Ubuntu 25.10 and Ubuntu 26.04.<\/p>\n<p>If you don&#8217;t know how to get it work, see either the official <a href=\"https:\/\/github.com\/elFarto\/nvidia-vaapi-driver\" target=\"_blank\" rel=\"noopener\">README<\/a> or follow this <a href=\"https:\/\/ubuntuhandbook.org\/index.php\/2024\/01\/firefox-vaapi-nvidia\/\" target=\"_blank\" rel=\"noopener\">step by step guide<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>NVIDIA VA-API driver, the VA-API hardware acceleration implemention using NVIDIA GPU, released new 0.0.17 version a few days ago. The new version of this free open-source library fixed only two but important bugs for JPEG decoding and NVIDIA DGX Spark memory systems.<\/p>\n","protected":false},"author":1,"featured_media":38385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[656],"class_list":["post-51189","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-nvidia"],"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=51189"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51189\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/38385"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=51189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=51189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=51189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}