November 19, 2025Nov 19 https://pve.proxmox.com/wiki/NVIDIA_vGPU_on_Proxmox_VENow that we have some things straightened out with proxmox and NVIDIA.Where proxmox requires a sub license, and with a nvidia ada5000 vgpu capable card...https://docs.nvidia.com/vgpu/index.htmlBUT THIS IS ALL LEGAL AND I WANT A TRUE LEGAL UPFRONT DISCUSSION!!! For Legal and proper use of this instance via Virtualizing...With Proxmox v9 and with the use of mdevctl lets pass a vgpu instance into unraid and take another look...More with limetech taking over ich777 NVIDIA driver plugin and the introduction of the open source NVIDIA drive built in to the kernel.*First, The elephant in the room a mention nothing more as it can get GRAY!So, I thought I'd share some notes, data and a potential feature request... As I don't really know on the forum to out ask and communicate with the devs...Since this will be and can be put in the Gray area (due to how home labs can circumvent nvidia licensing (example: https://gitlab.com/polloloco/vgpu-proxmox and https://git.collinwebdesigns.de/oscar.krause/fastapi-dls)... and a continuation of a the niche case topic...(I don't know many people using vgpu especial with Slackware linux / unraid...) but its worth a mention of a potential opening of a door for thoese who don't go through the legal channels and not pay for the MIT license...While Not the main topic here... a vise versa feature request latter, but others have done thisn in unraid v6... Where One can have unraid see a vgpu card bare metal and make vgpu instances for docker, VMs, etc... https://github.com/stl88083365/unraid-nvidia-vgpu-driverBut very little documentation is out there and available to do this for legal... Some not shared due to limitations and not wanting to be shut down...Where if Nvidia opened a home lab sub license to access drivers and support I'm sure that this market would collapse and its be a big turning point...The end all be all solution is to just pcie pass a consumer NVIDIA card into the VM so that the current NVIDIA plugin driver works on bare meal cards... (With board limitations and pcie access I rather not take up a x16 slot and waste on 1 VM...) especially with 3 systems same hardware for clustering... But 1 problem at a time...as the goal is to get a nvidia caplae card via VGPU GUEST to work with a docker on unriad.And its thanks to people like this, due to Nvidia License server access to guest drivers: https://github.com/nvidiavgpuarchive/indexWhere I believe we can finally via NVIDIA Mit License give the unriad Devs access to the NVIDIA run file for Grid guest drivers installers... Hopefully to add to teh already currrent NVIDIA Plugin! (sure its not the lattestest, but should be enouth to get and make a starting point...) More info on that latter...Some More info TO BE CLEAR!!!. as NO I'M not Breaking NVIDIA LICENSES! as THIS IS THE MISCONCEPTION!!! But due to the elphant in the room and due to limitations and access and time restraints... this was only documentation I can find its to use consumer cards circumventing Nvidia... while fine for proff of concept that would break the MIT license... So Due to the nature of my work/Univerity access and the abilty to access and ahve access to test in a stable legal licensed enviroment... While I have vgpu caple cards and access to a NVIDIA licenses through work/university.I'm still catching myself in a snag due to how unriad slackware implements drivers... thus this post!The Feature Request:So, I am wanting the ability to run and install the NVIDIA run file or Unraid Limethec devs, add the NVIDIA grid driver and a location to add the nvidia license to have a virtualized unrad guest with a guest vgpu Nvidia driver instance added to the Nvidia plugin...Legaly this isn't a problem not brekas Nvidia Licenses, as long as we are following the mit license... I don't see a reason why unraid can't use nor support the use of a nvidia VGPU guest drivers and have a gpu instance when Uraid is virtualized in proxmox as example...So here are my finding , notes and data... As I canwork aroundd work with and want to see this feature come to light.
November 19, 2025Nov 19 Author First some data and rants and link mentions... as Again i dont' know where to share, put and give this info to to assit in the dev or proper deployment...Proxmox v7 Virtualize Unriad...https://forums.unraid.net/topic/179219-guide-proxmox-virtualize-unraid-experimental-with-v7/https://www.youtube.com/watch?v=En5Zk2FGcnYBecame its started on kernel 5.15 and while it works today on v9 kernel limitation and unraid limitations may be a issues latter...The unraid kernel:https://github.com/ich777/unraid_kernelNote for plugin devs and drivers: Pre-compiled Unraid Kernel v6.12.54 gcc_14.2.0 by ich777as of this writing, Unriad Kernel is 6.12.54-Unraiduname -rusing the ich777 un-get to get some extra packages to do this in unraid...https://forums.unraid.net/topic/129200-plug-in-nerdtools/page/25/#findComment-1513524 *Where this was orginaly meant to run ina docker to help build drivers for unraid...I ran bare-metal in a VM for dev...some extra install package are needed:/boot/extra:binutils-2.45.1-x86_64-1.txz gc-8.2.10-x86_64-1.txz gcc-g++-15.2.0-x86_64-1.txz libtool-2.5.4-x86_64-4.txz make-4.4.1-x86_64-1.txzelfutils-0.186-x86_64-1.txz gcc-15.2.0-x86_64-1.txz guile-3.0.10-x86_64-1.txz m4-1.4.20-x86_64-1.txz screen-5.0.1-x86_64-1.txzroot@Karnetic:~# With unget we can install the lattest files known above for what worked for me...un-get install gcc gcc-g++ binutils make libtoolas the goal is to install nvidia-gridd and use it..modinfo nvidia-griddExample Grid Licensing to use crad in VM (Nvidia license is per VM)#!/bin/bash# copy GRID client configuration token into place on bootTOKEN_SRC="/mnt/user/system/nvidia/client_configuration_token_18-11-2025-10-21-34.tok"TOKEN_DST_DIR="/etc/nvidia"TOKEN_DST="${TOKEN_DST_DIR}/ClientConfigToken"if [ -f "$TOKEN_SRC" ]; thenmkdir -p "$TOKEN_DST_DIR"cp "$TOKEN_SRC" "$TOKEN_DST"chmod 600 "$TOKEN_DST"chown root:root "$TOKEN_DST"echo "GRID client token installed at $TOKEN_DST"elseecho "WARNING: GRID token not found at $TOKEN_SRC"fihttps://forum.proxmox.com/threads/nvidia-supported-gpu-with-vgpu-and-licensing.157802/https://forum.proxmox.com/threads/nvidia-supported-gpu-with-vgpu-and-licensing.157802/*As Licensing will be a hurdle latter... the goal is to get the driver installed and seeing it like before in v7.0.1...Per Proxmox Enterprise support I'm on the corect kerneal ofr VGPU and have GRID v19 installedLinux PVE 6.14.11-4-pve #1 SMP PREEMPT_DYNAMIC PMX 6.14.11-4 (2025-10-10T08:04Z) x86_64The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extentpermitted by applicable law.root@PVE:~# mdevctl types0000:02:00.0nvidia-256Available instances: 0Device API: vfio-pciName: GRID RTX6000-1QDescription: num_heads=4, frl_config=60, framebuffer=1024M, max_resolution=5120x2880, max_instance=24nvidia-257Available instances: 0Device API: vfio-pciName: GRID RTX6000-2QDescription: num_heads=4, frl_config=60, framebuffer=2048M, max_resolution=7680x4320, max_instance=12nvidia-258Available instances: 0Device API: vfio-pciName: GRID RTX6000-3QDescription: num_heads=4, frl_config=60, framebuffer=3072M, max_resolution=7680x4320, max_instance=8nvidia-259Available instances: 5Device API: vfio-pciName: GRID RTX6000-4QDescription: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1920x1080, max_instance=6nvidia-260Available instances: 0Device API: vfio-pciName: GRID RTX6000-6QDescription: num_heads=4, frl_config=60, framebuffer=6144M, max_resolution=7680x4320, max_instance=4nvidia-261Available instances: 0Device API: vfio-pciName: GRID RTX6000-8QDescription: num_heads=4, frl_config=60, framebuffer=8192M, max_resolution=7680x4320, max_instance=3nvidia-262Available instances: 0Device API: vfio-pciName: GRID RTX6000-12QDescription: num_heads=4, frl_config=60, framebuffer=12288M, max_resolution=7680x4320, max_instance=2nvidia-263Available instances: 0Device API: vfio-pciName: GRID RTX6000-24QDescription: num_heads=4, frl_config=60, framebuffer=24576M, max_resolution=7680x4320, max_instance=1nvidia-435Available instances: 0Device API: vfio-pciName: GRID RTX6000-1BDescription: num_heads=4, frl_config=45, framebuffer=1024M, max_resolution=5120x2880, max_instance=24nvidia-436Available instances: 0Device API: vfio-pciName: GRID RTX6000-2BDescription: num_heads=4, frl_config=45, framebuffer=2048M, max_resolution=5120x2880, max_instance=12nvidia-437Available instances: 0Device API: vfio-pciName: GRID RTX6000-1ADescription: num_heads=1, frl_config=60, framebuffer=1024M, max_resolution=1280x1024, max_instance=24nvidia-438Available instances: 0Device API: vfio-pciName: GRID RTX6000-2ADescription: num_heads=1, frl_config=60, framebuffer=2048M, max_resolution=1280x1024, max_instance=12nvidia-439Available instances: 0Device API: vfio-pciName: GRID RTX6000-3ADescription: num_heads=1, frl_config=60, framebuffer=3072M, max_resolution=1280x1024, max_instance=8nvidia-440Available instances: 5Device API: vfio-pciName: GRID RTX6000-4ADescription: num_heads=1, frl_config=60, framebuffer=4096M, max_resolution=1280x1024, max_instance=6nvidia-441Available instances: 0Device API: vfio-pciName: GRID RTX6000-6ADescription: num_heads=1, frl_config=60, framebuffer=6144M, max_resolution=1280x1024, max_instance=4nvidia-442Available instances: 0Device API: vfio-pciName: GRID RTX6000-8ADescription: num_heads=1, frl_config=60, framebuffer=8192M, max_resolution=1280x1024, max_instance=3nvidia-443Available instances: 0Device API: vfio-pciName: GRID RTX6000-12ADescription: num_heads=1, frl_config=60, framebuffer=12288M, max_resolution=1280x1024, max_instance=2nvidia-444Available instances: 0Device API: vfio-pciName: GRID RTX6000-24ADescription: num_heads=1, frl_config=60, framebuffer=24576M, max_resolution=1280x1024, max_instance=1root@PVE:~# uname-r-bash: uname-r: command not foundroot@PVE:~# uname -r6.14.11-4-pveroot@PVE:~#The Point Legaly this is Legal and Possible...So I have Unraid Virtualized..Note same guest driver and system works with vgpu in windows and ubunt / debian... so this is entriely a driver / unraid install issues!If this means farewell to unraid so be it... OMV is gaining traction and other systems out there, especial behind the uriad license....Why unraid. while i can use and have used other pl;atforms the CA and docker implemetnaion is the biceset and most user frienly for it instance of /dockerI will stand behind unraid for docker they have lost in all other areas for my use case...Unless the devs are also paying for nvidia license, proxmox sub and other I don't see this getting implemented any time soon but proof of conceptroot@PVE:~# nvidia-smiWed Nov 19 11:18:40 2025+-----------------------------------------------------------------------------------------+| NVIDIA-SMI 580.65.05 Driver Version: 580.65.05 CUDA Version: N/A |+-----------------------------------------+------------------------+----------------------+| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC || Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. || | | MIG M. ||=========================================+========================+======================|| 0 NVIDIA GeForce RTX 2080 ... On | 00000000:02:00.0 Off | N/A || 41% 24C P8 11W / 250W | 2072MiB / 8192MiB | 0% Default || | | N/A |+-----------------------------------------+------------------------+----------------------++-----------------------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=========================================================================================|| 0 N/A N/A 7589 C+G vgpu 2004MiB |+-----------------------------------------------------------------------------------------+root@PVE:~#Rant...(with vgpu that was workign and lattest updates now breaking that...) Its eitehr We fix this and make it for everyone or F** Limetech unraid and refactor to never return... (in which I will mas del4te and pull my support) as we can't have soemthign working and stable to be pushed to a update and oh no this is no loger a thing nr works... It be fin AGAIN if due to licensing that I can update the install pacakges due to CVE especal with rewcent glibs and openssh amoun other patches... the key here is being able to stay in xyz kerneal... (THIS IS WHY DEBAIN STAYED ON 6.1 LTS) and in version 7.01 unraid and v7.20 the Kerneal has changed... I WOULD BE FIN IF WE COULD STAY IN A DAM LTS KERNEL!!! Ruels for thee but not for me.. we cant be in a Dev and not be able to do dev... If you want stable then be and stay in stable... Each update Unriad breaks shit not testing and I'm cewrtaly getting tired of being hey lets update due to xyz CVE and security and also HEy why did this break...This afects everyone! form realtek, intel and NVdia drivers... AS the linux Kerneal will be and will alwys be a fight... But is worth a mention due to the nature of kerneal level drivers and what unraid does to make ther OS...https://en.wikipedia.org/wiki/Linux_kernel_version_historyAs Limethec gone back kerneals due to driver related issues... So Like HEY MAYBE WE STAY AND ONLY USE LTS KERNEL!!! one of the many reason why I hate kerneal 6. as alot comes down to Arm but if unraid never uses arm then maybe slackware /unraid should build there own kerneal and join the kerneal chaos agian arm.. OR better yet Open the curent installed pacakges and fixes in emhttp top run on ARM! I see no reason why teh unraid kerneal should not be on LTS verion 6.1 or 6.6 atm 7.2.0 is on lts kerneal 6.12 as of writing as time chages, code mutates...Rant over...So some core dataLAttached Diag before script run... more on thea t latter... esentail silmar to what teh uraid plugin do at boot to ghet drivers... as the consumer plauing will see it says the license request taits the kerneal and nvidia-smi breaks in unraid... (woudl be a bug report if the issues wasn't driver and hardware related due to VGPU... so Feature requst is what I landed on so the Devs can see this...)since the plugin is a bust... let try to install teh nvidia drvier...karnetic-diagnostics-20251119-1032.zipSome quick notes that diag would share text is saved...unraid was booted withkernel /bzimageappend initrd=/bzroot acpi=force acpi_osi=Linux usbcore.autosuspend=-1 trace_clock=local nvidia.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_drm.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_modeset.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia.NVreg_EnableGpuFirmware=1 modprobe.blacklist=nouveau default_hugepagesz=1G hugepagesz=1G transparent_hugepage=always pci=noaer pcie_aspm=off intremap=no_x2apic_optoutto kill opensouce driver and blacklist. to debug and see latter... modinfo helps you here for adational options... or a modprobe config file may be needed... I wanted things bvefore some things as this will laod and implement before teh nvdia plugin runs ... BOOT ORDER MATTERS!!!lspci01:00.0 VGA compatible controller: NVIDIA Corporation TU102GL [Quadro RTX 6000/8000] (rev a1)so slackware sees I have the VGPu card instance...SO lets install the nvidia run... thanks to unraid and slackware living in ram we will need a stagin area.I chose to use /mnt/user/system/nvidiaas this is a requiremnt latter to stage out of and is used in mutaged code for docker and other unraid stuff...my files and what I have whereroot@Karnetic:~# uname -r6.12.54-Unraidroot@Karnetic:~# cd /mnt/user/system/root@Karnetic:/mnt/user/system# lsdocker/ linux-6.12.54-Unraid.tar.xz nvidia/ unraid-kernel/root@Karnetic:/mnt/user/system# ls nvidia/NVIDIA-Linux-x86_64-580.65.06-grid.run* client_configuration_token_18-11-2025-10-21-34.tok* extracted/ unraid-nvidia-vgpu-driver/root@Karnetic:/mnt/user/system# ls unraid-kernel/COPYING README drivers_drm_edid.patch fs_reiserfs_super.patch modules.builtin.modinfo sound/CREDITS System.map drivers_md_Kconfig.patch include/ modules.order tools/Documentation/ acs_override.patch drivers_md_Makefile.patch init/ mozart_395S.patch usr/Kbuild arch/ drivers_nvme_quirks.patch io_uring/ net/ virt/Kconfig block/ drivers_scsi_mvsas_rr_2782.patch ipc/ raid6_choose_xor.patch vmlinux*LICENSES/ built-in.a drivers_thunderbolt_host_reset.patch kernel/ rust/ vmlinux.aMAINTAINERS certs/ drivers_uas_seagate.patch lib/ samples/ vmlinux.oMakefile crypto/ fs/ mm/ scripts/Module.symvers drivers/ fs_reiserfs_resize.patch modules.builtin security/root@Karnetic:/mnt/user/system/nvidia# ls extracted/10_nvidia.json libnvidia-cfg.so.580.65.06* nvidia-cuda-mps-server*10_nvidia_wayland.json libnvidia-egl-gbm.so.1.1.2* nvidia-debugdump*15_nvidia_gbm.json libnvidia-egl-wayland.so.1.1.19* nvidia-drm-outputclass.conf20_nvidia_xcb.json libnvidia-egl-xcb.so.1.0.1* nvidia-gridd*20_nvidia_xlib.json libnvidia-egl-xlib.so.1.0.1* nvidia-gridd.1.gz32/ libnvidia-eglcore.so.580.65.06* nvidia-installer*LICENSE libnvidia-encode.so.580.65.06* nvidia-installer.1.gzNVIDIA_Changelog libnvidia-fbc.so.580.65.06* nvidia-modprobe*README.txt libnvidia-glcore.so.580.65.06* nvidia-modprobe.1.gz_nvngx.dll* libnvidia-glsi.so.580.65.06* nvidia-ngx-updater*firmware/ libnvidia-glvkspirv.so.580.65.06* nvidia-pcc*grid-proxy-credentials.sh* libnvidia-gpucomp.so.580.65.06* nvidia-persistenced*grid-third-party-licenses.txt libnvidia-gtk2.so.580.65.06* nvidia-persistenced-init.tar.bz2gridd.conf.template libnvidia-gtk3.so.580.65.06* nvidia-persistenced.1.gzhtml/ libnvidia-ml.so.580.65.06* nvidia-settings*init-scripts/ libnvidia-ngx.so.580.65.06* nvidia-settings.1.gzkernel/ libnvidia-nvvm.so.580.65.06* nvidia-settings.desktopkernel-open/ libnvidia-nvvm70.so.4* nvidia-settings.pnglibEGL.so.1.1.0* libnvidia-opencl.so.580.65.06* nvidia-smi*libEGL.so.580.65.06* libnvidia-opticalflow.so.580.65.06* nvidia-smi.1.gzlibEGL_nvidia.so.580.65.06* libnvidia-pkcs11-openssl3.so.580.65.06* nvidia-topologyd*libFlxCore64.so.2018.02 libnvidia-pkcs11.so.580.65.06* nvidia-topologyd-source.tarlibGL.so.1.7.0* libnvidia-present.so.580.65.06* nvidia-topologyd.1.gzlibGLESv1_CM.so.1.2.0* libnvidia-ptxjitcompiler.so.580.65.06* nvidia-topologyd.conf.templatelibGLESv1_CM_nvidia.so.580.65.06* libnvidia-rtcore.so.580.65.06* nvidia-xconfig*libGLESv2.so.2.1.0* libnvidia-sandboxutils.so.580.65.06* nvidia-xconfig.1.gzlibGLESv2_nvidia.so.580.65.06* libnvidia-tls.so.580.65.06* nvidia.icdlibGLX.so.0* libnvidia-vksc-core.so.580.65.06* nvidia_drv.so*libGLX_nvidia.so.580.65.06* libnvidia-wayland-client.so.580.65.06* nvidia_icd.jsonlibGLdispatch.so.0* libnvoptix.so.580.65.06* nvidia_icd_vksc.jsonlibOpenCL.so.1.0.0* libvdpau_nvidia.so.580.65.06* nvidia_layers.jsonlibOpenGL.so.0* makeself-help-script.sh* nvngx.dll*libcuda.so.580.65.06* makeself.sh* nvngx_dlssg.dll*libcudadebugger.so.580.65.06* mkprecompiled* nvoptix.binlibglvnd_install_checker/ nvidia-application-profiles-580.65.06-key-documentation pkg-history.txtlibglxserver_nvidia.so.580.65.06* nvidia-application-profiles-580.65.06-rc sandboxutils-filelist.jsonlibnvcuvid.so.580.65.06* nvidia-bug-report.sh* supported-gpus/libnvidia-allocator.so.580.65.06* nvidia-cuda-mps-control* systemd/libnvidia-api.so.1* nvidia-cuda-mps-control.1.gzroot@Karnetic:/mnt/user/system/nvidia#due to rootfs space limitation and unraid laded in ram. I extracted teh driver and extrated ich77 linx kerneal for teh missing kernal to run and build against...with un-get installing the mini build requirments and temp fixing areas of teh unraid sytem for the run file to run...I cam up with this... #!/bin/bash # unraid kernels: https://github.com/ich777/unraid_kernel set -e KVER="$(uname -r)" # expect 6.12.54-Unraid KSRCDIR="/mnt/user/system/unraid-kernel" # real kernel tree on disk USR_SRCDIR="/usr/src/linux-${KVER}" # informational only BUILD_LINK="/lib/modules/${KVER}/build" NVIDIA_BASE="/mnt/user/system/nvidia" NVIDIA_EXTRACTED="${NVIDIA_BASE}/extracted/nvidia-installer" NVIDIA_RUN="${NVIDIA_BASE}/NVIDIA-Linux-x86_64-580.65.06-grid.run" # set to 1 if you want this script to auto-run the NVIDIA installer RUN_NVIDIA_INSTALLER=0 echo "Kernel version: ${KVER}" echo "Kernel source dir on disk: ${KSRCDIR}" echo # ---------------------------------------------------------------------- # 0) Ensure dev toolchain via un-get # ---------------------------------------------------------------------- echo "Ensuring dev toolchain via un-get (gcc gcc-g++ binutils make libtool)..." #un-get install gcc gcc-g++ binutils make libtool #install first then run script... ls /boot/extra echo echo "Toolchain versions:" gcc --version | head -n1 || echo "gcc not found?" if command -v cc >/dev/null 2>&1; then cc --version | head -n1 else echo "cc: not found (will create symlink in next step)" fi echo # ---------------------------------------------------------------------- # 1) Ensure cc -> gcc exists # ---------------------------------------------------------------------- if ! command -v gcc >/dev/null 2>&1; then echo "ERROR: gcc not found after un-get. Check dev pack install." >&2 exit 1 fi if ! command -v cc >/dev/null 2>&1; then echo "Creating cc -> gcc symlink..." ln -sf /usr/bin/gcc /usr/bin/cc fi echo "Final compiler versions:" gcc --version | head -n1 cc --version | head -n1 echo # ---------------------------------------------------------------------- # 2) Fake minimal libc "dev" environment # ---------------------------------------------------------------------- echo "Setting up fake libc 'dev' environment (RAM only)..." # 2a) fake stdio.h mkdir -p /usr/include cat >/usr/include/stdio.h <<'EOF' #ifndef _UNRAID_FAKE_STDIO_H #define _UNRAID_FAKE_STDIO_H typedef void FILE; int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int puts(const char *s); int fputs(const char *s, FILE *stream); int putchar(int c); int fputc(int c, FILE *stream); #endif /* _UNRAID_FAKE_STDIO_H */ EOF # 2b) fake libc_nonshared.a mkdir -p /usr/lib64 ar rcs /usr/lib64/libc_nonshared.a # 2c) 64-bit crt startup objects: # - crt1.o: defines _start() # - crti.o, crtn.o: empty 64-bit objects that do NOT define _start cd /tmp cat >crt1.c <<'EOF' void _start(void) { } EOF gcc -c crt1.c -o /usr/lib/crt1.o printf "" | gcc -c -x c - -o /usr/lib/crti.o printf "" | gcc -c -x c - -o /usr/lib/crtn.o # sanity compile (runtime segfault is expected, link success is what we need) cat >test.c <<'EOF' #include <stdio.h> int main(void) { printf("ok\n"); return 0; } EOF if ! gcc test.c -o test ; then echo "ERROR: fake libc dev compile test FAILED – aborting." >&2 exit 1 fi echo "Fake libc dev environment: compile OK (runtime segfault is expected)." echo # ---------------------------------------------------------------------- # 3) Sanity check kernel source (non-destructive) # ---------------------------------------------------------------------- echo "Checking kernel source on disk..." # 3a) real tree on disk must exist and have non-empty kernel.h if [ ! -d "$KSRCDIR" ]; then echo "ERROR: Kernel source directory $KSRCDIR not found." >&2 exit 1 fi if [ ! -s "$KSRCDIR/include/linux/kernel.h" ]; then echo "ERROR: $KSRCDIR/include/linux/kernel.h is missing or empty – kernel tree looks incomplete." >&2 exit 1 fi echo "KSRCDIR entry:" ls -ld "$KSRCDIR" echo "kernel.h in KSRCDIR:" ls -l "$KSRCDIR/include/linux/kernel.h" echo # 3b) Just report what's in /usr/src and build – do NOT modify if [ -e "$USR_SRCDIR" ]; then echo "Existing /usr/src entry:" ls -ld "$USR_SRCDIR" else echo "/usr/src/linux-${KVER} does not exist (that's fine; we won't touch /usr/src)." fi echo if [ -e "$BUILD_LINK" ]; then echo "Existing build entry:" ls -ld "$BUILD_LINK" else echo "$BUILD_LINK does not exist (that's fine; we won't touch it)." fi echo # We'll use KSRCDIR as the kernel source path for NVIDIA KPATH_FOR_NVIDIA="$KSRCDIR" # Double-check the header at the path we'll actually pass to nvidia-installer if ! ls -l "$KPATH_FOR_NVIDIA/include/linux/kernel.h" >/dev/null 2>&1 ; then echo "ERROR: kernel.h not reachable via $KPATH_FOR_NVIDIA – aborting." >&2 exit 1 fi echo "Kernel headers reachable at (for NVIDIA):" ls -l "$KPATH_FOR_NVIDIA/include/linux/kernel.h" echo #final touch ups: # backup the current broken build dir mv /lib/modules/6.12.54-Unraid/build /lib/modules/6.12.54-Unraid/build.bak # point build -> your full kernel source ln -s /mnt/user/system/unraid-kernel /lib/modules/6.12.54-Unraid/build ls /lib/modules/6.12.54-Unraid/build/include/linux/kernel.h echo snaity check: /usr/bin/make --version || echo "make is broken" ldd /usr/bin/make | egrep 'gc|not found' || echo "no libgc dependency?" /usr/bin/make --version #check agian ls /usr/lib*/libgc.so* /lib*/libgc.so* 2>/dev/null ldd /usr/bin/make | grep gc || echo "no libgc dep?" /usr/bin/make --version #one last time: cd /usr/lib64 # or /usr/lib /lib64 depending where it landed ls libgc.so* # if you see libgc.so.2.0.0 but no libgc.so.1: ln -s libgc.so.2.0.0 libgc.so.1 ldd /usr/bin/make | grep gc /usr/bin/make --version # ---------------------------------------------------------------------- # 4) Optionally run NVIDIA installer # ---------------------------------------------------------------------- if [ "$RUN_NVIDIA_INSTALLER" -ne 1 ]; then echo "RUN_NVIDIA_INSTALLER=0 – skipping NVIDIA installer." echo "Run manually with:" echo " cd ${NVIDIA_BASE}/extracted" echo " TMPDIR=${NVIDIA_BASE} \\" echo " ./nvidia-installer --no-precompiled-interface \\" echo " --kernel-source-path=${KPATH_FOR_NVIDIA} \\" echo " --debug" exit 0 fi echo "Checking for existing NVIDIA kernel module..." if modinfo nvidia >/dev/null 2>&1; then echo "NVIDIA module already present; NOT re-running installer." exit 0 fi INSTALLER="" if [ -x "$NVIDIA_EXTRACTED" ]; then INSTALLER="$NVIDIA_EXTRACTED" elif [ -x "$NVIDIA_RUN" ]; then INSTALLER="$NVIDIA_RUN" fi if [ -z "$INSTALLER" ]; then echo "ERROR: Could not find nvidia-installer or .run file." >&2 echo "Looked for:" echo " $NVIDIA_EXTRACTED" echo " $NVIDIA_RUN" exit 1 fi echo "Running NVIDIA installer: $INSTALLER" echo "Kernel source path: $KPATH_FOR_NVIDIA" echo set +e TMPDIR="${NVIDIA_BASE}" \ "$INSTALLER" \ --no-precompiled-interface \ --kernel-source-path="${KPATH_FOR_NVIDIA}" \ --debug RC=$? set -e if [ $RC -ne 0 ]; then echo "NVIDIA installer exited with code $RC" echo "Check /var/log/nvidia-installer.log for details." exit $RC fi echo "NVIDIA installer completed successfully." so the scirpt ran what nest:script logScript location: /tmp/user.scripts/tmpScripts/installnvrun/scriptNote that closing this window will abort the execution of this scriptKernel version: 6.12.54-UnraidKernel source dir on disk: /mnt/user/system/unraid-kernelEnsuring dev toolchain via un-get (gcc gcc-g++ binutils make libtool)...binutils-2.45.1-x86_64-1.txzelfutils-0.186-x86_64-1.txzgc-8.2.10-x86_64-1.txzgcc-15.2.0-x86_64-1.txzgcc-g++-15.2.0-x86_64-1.txzguile-3.0.10-x86_64-1.txzlibtool-2.5.4-x86_64-4.txzm4-1.4.20-x86_64-1.txzmake-4.4.1-x86_64-1.txzscreen-5.0.1-x86_64-1.txzToolchain versions:gcc (GCC) 15.2.0cc (GCC) 15.2.0Final compiler versions:gcc (GCC) 15.2.0cc (GCC) 15.2.0Setting up fake libc 'dev' environment (RAM only)...Fake libc dev environment: compile OK (runtime segfault is expected).Checking kernel source on disk...KSRCDIR entry:drwxr-xr-x 1 root root 2786 Nov 18 12:59 /mnt/user/system/unraid-kernelkernel.h in KSRCDIR:-rw-rw-r-- 1 root root 13188 Oct 19 07:34 /mnt/user/system/unraid-kernel/include/linux/kernel.hExisting /usr/src entry:drwxr-xr-x 3 root root 467 Oct 29 14:42 /usr/src/linux-6.12.54-UnraidExisting build entry:lrwxrwxrwx 1 root root 29 Oct 29 14:42 /lib/modules/6.12.54-Unraid/build -> /usr/src/linux-6.12.54-UnraidKernel headers reachable at (for NVIDIA):-rw-rw-r-- 1 root root 13188 Oct 19 07:34 /mnt/user/system/unraid-kernel/include/linux/kernel.h/lib/modules/6.12.54-Unraid/build/include/linux/kernel.hsnaity check:GNU Make 4.4.1Built for x86_64-slackware-linux-gnuCopyright (C) 1988-2023 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or laterThis is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.libgc.so.1 => /usr/lib64/libgc.so.1 (0x0000150df31ee000)GNU Make 4.4.1Built for x86_64-slackware-linux-gnuCopyright (C) 1988-2023 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or laterThis is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law./usr/lib64/libgc.so/usr/lib64/libgc.so.1/usr/lib64/libgc.so.1.5.5with this in place the run file will now work...so now its time to rn the installer...sript for me to installcd /mnt/user/system/nvidiabash NVIDIA-Linux-x86_64-580.65.06-grid.run \--kernel-source-path=/lib/modules/6.12.54-Unraid/buildThis is installign the Guest driver found in the guest folder. exampel here:https://github.com/nvidiavgpuarchive/index/blob/main/details/857d43_Complete_vGPU_19.0_package_for_Linux_KVM_including_supported_guest_drivers.mdGuest_Drivers/NVIDIA-Linux-x86_64-580.65.06-grid.runI chose no as my scirpt killed the 32 bit side for the compile onthe host.. the goal is to install the run file...*32 bit faield due to me not having access to the necssary kerneal and file to build agaisnt and since i'm in my end enviroment i see no reason... too Deva may but would have access to this IF they add this to a suported featrue of there nvidia driver and bzroot...we then buildI bootd non gui mode... so noI get to sucess screen:sucess outside every reboot i have to run teh installer... but this is where teh FEATURE REQUEST COMES IN!the driver is installed and apears to be working I now have and ran run nvidia-smi...termainlroot@Karnetic:~# cd /mnt/user/system/nvidiabash NVIDIA-Linux-x86_64-580.65.06-grid.run \--kernel-source-path=/lib/modules/6.12.54-Unraid/buildVerifying archive integrity... OKUncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 580.65.06........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................bash: --kernel-source-path=/lib/modules/6.12.54-Unraid/build: No such file or directoryroot@Karnetic:/mnt/user/system/nvidia# nvidia-smiNo devices were foundroot@Karnetic:/mnt/user/system/nvidia#so now to do this on the legal sytem not is a dev env that not going to last nor stay this way... Proff of concept that yes release host can use and run the nvidia guest driver...(Nvidia drive is not corectly installed even in teh home lab byp[ass method... I probaly could if i get teh keneal the dev have acces to before it becoems the bzroot they compile.)But proof of concept sucess I can run the run file to install the gpu driver... sort of...This is why the feature request.. wher yes this is the bypass version. but still Limethech nvdia plugin needs to have teh abilt to run and install teh Nvidia GPU guest drivers!!!after scirpt run driver installed diagnostic...karnetic-diagnostics-20251119-1127.zip Edited November 19, 2025Nov 19 by bmartino1 Data - Diag, Proff of concept... rnats issues and gotchas
November 19, 2025Nov 19 Author now with the chuck of the elphant in the room out of the way...on the legal licensed system... same scirpt to get the nvida run drivers to install. same way...I'm hit with the same gotcha Command check and lognvidia-smiNo devices were foundmodinfo nvidiafilename: /lib/modules/6.12.54-Unraid/kernel/drivers/video/nvidia.koalias: char-major-195-*version: 580.65.06supported: externallicense: NVIDIAfirmware: nvidia/580.65.06/gsp_tu10x.binfirmware: nvidia/580.65.06/gsp_ga10x.binsrcversion: 6FBDEF528F5B23A73A7EF8Calias: pci:v000010DEd*sv*sd*bc06sc80i00*alias: pci:v000010DEd*sv*sd*bc03sc02i00*alias: pci:v000010DEd*sv*sd*bc03sc00i00*alias: of:N*T*Cnvidia,tegra264-displayC*alias: of:N*T*Cnvidia,tegra264-displayalias: of:N*T*Cnvidia,tegra234-displayC*alias: of:N*T*Cnvidia,tegra234-displaydepends: i2c-core,drmname: nvidiaretpoline: Yvermagic: 6.12.54-Unraid SMP preempt mod_unload parm: NvSwitchRegDwords:NvSwitch regkey (charp)parm: NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp)parm: NVreg_ResmanDebugLevel:intparm: NVreg_RmLogonRC:intparm: NVreg_ModifyDeviceFiles:intparm: NVreg_DeviceFileUID:intparm: NVreg_DeviceFileGID:intparm: NVreg_DeviceFileMode:intparm: NVreg_InitializeSystemMemoryAllocations:intparm: NVreg_UsePageAttributeTable:intparm: NVreg_EnablePCIeGen3:intparm: NVreg_EnableMSI:intparm: NVreg_EnableStreamMemOPs:intparm: NVreg_RestrictProfilingToAdminUsers:intparm: NVreg_PreserveVideoMemoryAllocations:intparm: NVreg_EnableS0ixPowerManagement:intparm: NVreg_S0ixPowerManagementVideoMemoryThreshold:intparm: NVreg_DynamicPowerManagement:intparm: NVreg_DynamicPowerManagementVideoMemoryThreshold:intparm: NVreg_EnableGpuFirmware:intparm: NVreg_EnableGpuFirmwareLogs:intparm: NVreg_OpenRmEnableUnsupportedGpus:intparm: NVreg_EnableUserNUMAManagement:intparm: NVreg_MemoryPoolSize:intparm: NVreg_KMallocHeapMaxSize:intparm: NVreg_VMallocHeapMaxSize:intparm: NVreg_IgnoreMMIOCheck:intparm: NVreg_NvLinkDisable:intparm: NVreg_EnablePCIERelaxedOrderingMode:intparm: NVreg_RegisterPCIDriver:intparm: NVreg_RegisterPlatformDeviceDriver:intparm: NVreg_EnableResizableBar:intparm: NVreg_EnableDbgBreakpoint:intparm: NVreg_EnableNonblockingOpen:intparm: NVreg_CoherentGPUMemoryMode:charpparm: NVreg_RegistryDwords:charpparm: NVreg_RegistryDwordsPerDevice:charpparm: NVreg_RmMsg:charpparm: NVreg_GpuBlacklist:charpparm: NVreg_TemporaryFilePath:charpparm: NVreg_ExcludedGpus:charpparm: NVreg_DmaRemapPeerMmio:intparm: NVreg_RmNvlinkBandwidth:charpparm: NVreg_RmNvlinkBandwidthLinkCount:intparm: NVreg_ImexChannelCount:intparm: NVreg_CreateImexChannel0:intparm: NVreg_GrdmaPciTopoCheckOverride:intparm: rm_firmware_active:charp# see what driver actually owns the GPU in the guestlspci -k -s 01:00.0# see which modules are loadedlsmod | egrep 'nvidia|nouveau'# look for NVRM errorsdmesg | grep -iE 'nvrm|nvidia'01:00.0 VGA compatible controller: NVIDIA Corporation TU102GL [Quadro RTX 6000/8000] (rev a1) Subsystem: NVIDIA Corporation Device 1328 Kernel driver in use: nvidia Kernel modules: nouveau, nvidia_drm, nvidianvidia_uvm 1835008 0nvidia_drm 126976 0nvidia_modeset 1564672 1 nvidia_drmnvidia 103960576 2 nvidia_uvm,nvidia_modesetdrm_ttm_helper 16384 1 nvidia_drmvideo 69632 1 nvidia_modesetdrm_kms_helper 217088 2 drm_ttm_helper,nvidia_drmdrm 655360 6 drm_kms_helper,nvidia,drm_ttm_helper,nvidia_drm,ttmbacklight 20480 3 video,drm,nvidia_modeseti2c_core 106496 5 drm_kms_helper,nvidia,i2c_smbus,i2c_i801,drm[ 0.000000] Command line: BOOT_IMAGE=/bzimage initrd=/bzroot acpi=force acpi_osi=Linux usbcore.autosuspend=-1 trace_clock=local nvidia.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_drm.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_modeset.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia.NVreg_EnableGpuFirmware=1 modprobe.blacklist=nouveau default_hugepagesz=1G hugepagesz=1G transparent_hugepage=always pci=noaer pcie_aspm=off intremap=no_x2apic_optout[ 0.047315] Kernel command line: BOOT_IMAGE=/bzimage initrd=/bzroot acpi=force acpi_osi=Linux usbcore.autosuspend=-1 trace_clock=local nvidia.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_drm.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia_modeset.NVreg_OpenRmEnableUnsupportedGpus=1 nvidia.NVreg_EnableGpuFirmware=1 modprobe.blacklist=nouveau default_hugepagesz=1G hugepagesz=1G transparent_hugepage=always pci=noaer pcie_aspm=off intremap=no_x2apic_optout[ 2468.549378] nvidia-nvlink: Nvlink Core is being initialized, major device number 238[ 2468.556219] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none[ 2468.556729] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 580.65.06 Sun Jul 27 07:14:19 UTC 2025[ 2468.564568] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.[ 2468.635202] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 580.65.06 Sun Jul 27 06:40:17 UTC 2025[ 2468.637310] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver[ 2468.637435] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 0[ 2468.643214] [drm] [nvidia-drm] [GPU ID 0x00000100] Unloading driver[ 2468.675745] nvidia-modeset: Unloading[ 2468.737131] nvidia-nvlink: Unregistered Nvlink Core, major device number 238[ 2652.472778] nvidia-nvlink: Nvlink Core is being initialized, major device number 238[ 2652.480178] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=none,decodes=none:owns=none[ 2652.480612] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 580.65.06 Sun Jul 27 07:14:19 UTC 2025[ 2652.486906] nvidia_modeset: unknown parameter 'NVreg_OpenRmEnableUnsupportedGpus' ignored[ 2652.487125] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 580.65.06 Sun Jul 27 06:40:17 UTC 2025[ 2652.488916] nvidia_drm: unknown parameter 'NVreg_OpenRmEnableUnsupportedGpus' ignored[ 2652.489015] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver[ 2652.489134] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 0[ 2880.385770] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x60:0x56:2661)[ 2880.386669] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0[ 2880.394459] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.[ 3236.911188] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x60:0x56:2661)[ 3236.912303] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0witch all tells me that hey ther somethign worng withteh driver still.. maybe somthgin simlae maybe somthgin not simple... regradless now that limethech owns and issues the nvida driver stuff. they should implement and support this VGPU guest stuff too. (whcih may not be possible) but Needs to be said!!!
November 19, 2025Nov 19 Author as this was working and stopped after v7.0.1 due to the change in market adn decision at that time. so i'm bring this backup due to ca update... and driver hand offPlease Add DOCUMENTATION at the very least to the UNRAID DOCs! or add the NVIDIA VGPU GUEST DRIVER SUPPORT! Edited November 19, 2025Nov 19 by bmartino1
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.