The 565.57.01 driver added the possibility of mmap’ing dmabuf according to the changelog. It works with my laptop with has a GTX 1060 (Pascal) but with my desktop PC (RTX 2080, Turing), I can’t get it working with neither GSP on, off and with the open source driver.
dmesg
logs (open source driver):
[ 96.181008] NVRM: nvAssertFailedNoLog: Assertion failed: 0 @ mapping_cpu.c:127
[ 96.181018] NVRM: nvAssertOkFailedNoLog: Assertion failed: Call not supported [NV_ERR_NOT_SUPPORTED] (0x00000056) returned from rmapiGetEffectiveAddrSpace(pGpu, memdescGetMemDescFromGpu(pMemDesc, pGpu), pMapParams->flags, &effectiveAddrSpace) @ mapping_cpu.c:306
[ 96.181034] [drm:__nv_drm_gem_nvkms_map [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002d00] Failed to map NvKmsKapiMemory 0x00000000c6fe30f4
[ 96.182721] NVRM: nvAssertFailedNoLog: Assertion failed: 0 @ mapping_cpu.c:127
[ 96.182728] NVRM: nvAssertOkFailedNoLog: Assertion failed: Call not supported [NV_ERR_NOT_SUPPORTED] (0x00000056) returned from rmapiGetEffectiveAddrSpace(pGpu, memdescGetMemDescFromGpu(pMemDesc, pGpu), pMapParams->flags, &effectiveAddrSpace) @ mapping_cpu.c:306
[ 96.182742] [drm:__nv_drm_gem_nvkms_map [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002d00] Failed to map NvKmsKapiMemory 0x0000000012ee1119
[ 96.253136] NVRM: nvAssertFailedNoLog: Assertion failed: 0 @ mapping_cpu.c:127
[ 96.253145] NVRM: nvAssertOkFailedNoLog: Assertion failed: Call not supported [NV_ERR_NOT_SUPPORTED] (0x00000056) returned from rmapiGetEffectiveAddrSpace(pGpu, memdescGetMemDescFromGpu(pMemDesc, pGpu), pMapParams->flags, &effectiveAddrSpace) @ mapping_cpu.c:306
[ 96.253158] [drm:__nv_drm_gem_nvkms_map [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002d00] Failed to map NvKmsKapiMemory 0x00000000692e7f8c
[ 103.994080] NVRM: nvCheckOkFailedNoLog: Check failed: Object handle is not valid [NV_ERR_INVALID_OBJECT_HANDLE] (0x00000033) returned from serverGetClientUnderLock(&g_resServ, pArgs->hClient, &pClient) @ rmapi_deprecated_control.c:109
[ 103.994165] NVRM: nvCheckOkFailedNoLog: Check failed: Object handle is not valid [NV_ERR_INVALID_OBJECT_HANDLE] (0x00000033) returned from serverGetClientUnderLock(&g_resServ, pArgs->hClient, &pClient) @ rmapi_deprecated_control.c:109
With the proprietary driver I don’t have the lines with “Assertion failed” I just have the [drm:__nv_drm_gem_nvkms_map [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002d00] Failed to map NvKmsKapiMemory 0x0000000012ee1119
ones
The new venus
driver needs this to have vulkan
working in Qemu virtual machines: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/524
To reproduce the issue:
- Use the RTX 2080 SUPER (desktop)
- Install
virglrenderer
>= 1.0.0. Packagevirglrenderer
on Arch Linux and Ubuntu - Install Virtio Vulkan ICD (Venus) >= 24.2.0. Package
vulkan-virtio
on Arch Linux,mesa-vulkan-drivers
on Ubuntu - Install Vulkan tools. Package
vulkan-tools
on Arch Linux and Ubuntu - Run
virgl_test_server --venus
in a terminal - Run
vulkaninfo
in another terminal. A GPU device named “Virtio-GPU Venus (NVIDIA …)” should be listed in addition of Nvidia GPU. - Run
VN_DEBUG=all vkcube --gpu_number <id of virtio-gpu>
https://docs.mesa3d.org/drivers/venus.html#vtest
nvidia-bug-report.log.gz (1.2 MB)