Package Details: lib32-nvidia-vulkan-utils 580.94.18-1

Git Clone URL: https://aur.archlinux.org/nvidia-vulkan.git (read-only, click to copy)
Package Base: nvidia-vulkan
Description: NVIDIA drivers utilities (32-bit) (vulkan developer branch)
Upstream URL: https://developer.nvidia.com/vulkan-driver
Licenses: custom
Conflicts: lib32-nvidia-libgl, lib32-nvidia-utils
Provides: lib32-nvidia-libgl, lib32-nvidia-utils, lib32-opengl-driver, lib32-vulkan-driver
Replaces: lib32-nvidia-libgl
Submitter: jcstryker
Maintainer: ventureo
Last Packager: ventureo
Votes: 33
Popularity: 0.82
First Submitted: 2018-06-23 01:17 (UTC)
Last Updated: 2026-02-20 18:52 (UTC)

Required by (22)

Sources (10)

Latest Comments

1 2 3 4 5 6 .. 14 Next › Last »

awesomekyle commented on 2026-02-20 21:15 (UTC)

This doesn't currently work with kernel 6.19. CachyOS has a patch here that doesn't apply cleanly due to changes between 580 and 590, but I made the necessary changes to work with 580. Applying this patch enables the DKMS build to succeed for 6.19.

diff --git a/kernel-open/nvidia-uvm/uvm_hmm.c b/kernel-open/nvidia-uvm/uvm_hmm.c
index 2ddf64b..23983cd 100644
--- a/kernel-open/nvidia-uvm/uvm_hmm.c
+++ b/kernel-open/nvidia-uvm/uvm_hmm.c
@@ -78,11 +78,15 @@ module_param(uvm_disable_hmm, bool, 0444);
 // Pass 0 as the order, when actual large order support is added this
 // function will need to be revisited
 //
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
+#define ZONE_DEVICE_PAGE_INIT(page)   zone_device_page_init(page, page_pgmap(dpage), 0)
+#else
 #if defined(NV_ZONE_DEVICE_PAGE_INIT_HAS_ORDER_ARG)
 #define ZONE_DEVICE_PAGE_INIT(page)   zone_device_page_init(page, 0)
 #else
 #define ZONE_DEVICE_PAGE_INIT(page)   zone_device_page_init(page)
 #endif
+#endif

 // The function nv_PageSwapCache() wraps the check for page swap cache flag in
 // order to support a wide variety of kernel versions.
diff --git a/kernel-open/nvidia-uvm/uvm_pmm_gpu.c b/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
index ad2ae1c..b6a9562 100644
--- a/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
+++ b/kernel-open/nvidia-uvm/uvm_pmm_gpu.c
@@ -3182,7 +3182,7 @@ static vm_fault_t devmem_fault_entry(struct vm_fault *vmf)

 static const struct dev_pagemap_ops uvm_pmm_devmem_ops =
 {
-#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE)
+#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE) || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0))
     .folio_free = devmem_folio_free,
 #else
     .page_free = devmem_page_free,
@@ -3296,12 +3296,16 @@ static void device_coherent_page_free(struct page *page)

 static void device_coherent_folio_free(struct folio *folio)
 {
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0)
+    device_p2p_folio_free(folio);
+#else
     device_p2p_page_free(&folio->page);
+#endif
 }

 static const struct dev_pagemap_ops uvm_device_coherent_pgmap_ops =
 {
-#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE)
+#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE) || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0))
     .folio_free = device_coherent_folio_free,
 #else
     .page_free = device_coherent_page_free,
@@ -3442,7 +3446,7 @@ static bool uvm_pmm_gpu_check_orphan_pages(uvm_pmm_gpu_t *pmm)

 static const struct dev_pagemap_ops uvm_device_p2p_pgmap_ops =
 {
-#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE)
+#if defined(NV_PAGEMAP_OPS_HAS_FOLIO_FREE) || (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 19, 0))
     .folio_free = device_p2p_folio_free,
 #else
     .page_free = device_p2p_page_free,

ventureo commented on 2026-01-28 15:22 (UTC)

@ada_1815 Thank you for noticing, I removed libglvnd from dependencies.

Also removed nvidia-vulkan and nvidia-vulkan-open, as they are useless for AUR users who are building modules anyway. Users should switch to nvidia-vulkan-dkms or nvidia-vulkan-open-dkms respectively.

ada_1815 commented on 2026-01-26 13:20 (UTC)

Is there a reason behind the inconsistency in the dependencies of the nvidia-vulkan-open-dkms subpackage?

Shouldn't the full dependencies for nvidia-vulkan-open-dkms be depends=('dkms' "nvidia-vulkan-utils=$pkgver") to make it consistent with the nvidia-open-dkms in the official Arch repositories: https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/blob/580.119.02-1/PKGBUILD?ref_type=tags#L321

There is no need to add the "libglvnd" as dependency to keep it DRY. nvidia-vulkan-utils already depends on it.

ventureo commented on 2025-05-05 15:06 (UTC)

@EndlessEden This version of Vulkan beta driver as stated in the package description. Please follow upstream URL to see the differences from the regular driver.

EndlessEden commented on 2025-05-04 11:05 (UTC)

@ventureo -- isnt current build "570.144-3", why is this using "570.123.07" ?

gilvbp commented on 2023-12-30 14:24 (UTC)

Has anyone managed to get the open modules vulkan version (https://github.com/NVIDIA/open-gpu-kernel-modules/releases/tag/535.43.22) working?

ThatOneSeong commented on 2023-12-11 18:45 (UTC)

mmbossoni's fix still seems to be necessary to install the lib32 package alongside the normal 64-bit one (can't speak for Wayland since I don't use it).

mmbossoni commented on 2023-07-27 22:49 (UTC) (edited on 2023-07-27 22:50 (UTC) by mmbossoni)

Build is broken for 32bit utils, this should fix build and enable wayland

diff --git a/PKGBUILD b/PKGBUILD
index 197b381..e736192 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -145,6 +145,12 @@ package_nvidia-vulkan-utils() {
     # X driver
     install -D -m755 nvidia_drv.so "${pkgdir}/usr/lib/xorg/modules/drivers/nvidia_drv.so"

+    # Wayland/GBM
+    install -Dm755 libnvidia-egl-gbm.so.1* -t "${pkgdir}/usr/lib/"
+    install -Dm644 15_nvidia_gbm.json "${pkgdir}/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json"
+    mkdir -p "${pkgdir}/usr/lib/gbm"
+    ln -sr "${pkgdir}/usr/lib/libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib/gbm/nvidia-drm_gbm.so"
+
     # GLX extension module for X
     install -D -m755 "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.${pkgver}"
     # Ensure that X finds glx
@@ -317,8 +323,6 @@ package_lib32-nvidia-vulkan-utils() {
     install -D -m755 "libnvidia-ml.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-ml.so.${pkgver}"
     #install -D -m755 "libnvidia-ngx.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-ngx.so.${pkgver}"
     install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" "${pkgdir}/usr/lib32/libnvidia-glvkspirv.so.${pkgver}"
-    install -D -m755 "libnvidia-allocator.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-allocator.so.${pkgver}"
-    install -D -m755 "libnvidia-vulkan-producer.so.${pkgver}" "${pkgdir}/usr/lib/libnvidia-vulkan-producer.so.${pkgver}"

     # Optical Flow
     install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib32"

mmbossoni commented on 2023-07-21 23:37 (UTC) (edited on 2023-07-21 23:37 (UTC) by mmbossoni)

Feels like allocator is also needed. https://gitlab.archlinux.org/archlinux/packaging/packages/nvidia-utils/-/blob/main/PKGBUILD#L145-146 after that I could properly enter a wayland session

empor commented on 2023-07-19 08:43 (UTC)

@mmbossoni: I tried to build it with the additional files, but didn't succeed in loading anything with wayland afterwards. Something else missing on top?