@BedrockSolid requested the NVIDIA driver 550, as the Google Drive link no longer works. Unfortunately, I no longer have a backup and don't use NVIDIA cards anymore. I now realize it was a mistake to approach this without proper documentation. So, I'll attempt to recreate this tutorial, considering my limitations, with a detailed step-by-step transcription.
Disclaimer I no longer have an NVIDIA graphics card to test.
There is
no guarantee that this tutorial will work for you,
but I hope it will still provide some useful insight.
The NVIDIA Driver InstallerWhen googling "nvidia unix driver", I land on this page:
https://www.nvidia.com/en-us/drivers/unix/It shows: "Latest Production Branch Version: 570.181"
Clicking on 570.181 takes me to another page with a large green "Download" button.
The button gives me the link:
https://us.download.nvidia.com/XFree86/Linux-x86_64/570.181/NVIDIA-Linux-x86_64-570.181.runOf course, I'm on TinyCore without native multilib support. I know that NVIDIA currently provides the pure 64-bit version of the driver, which is basically the same link with the -no-compat32 suffix, so I download:
https://us.download.nvidia.com/XFree86/Linux-x86_64/570.181/NVIDIA-Linux-x86_64-570.181-no-compat32.runInitial SetupI give the file proper permissions:
chmod u+x NVIDIA-Linux-x86_64-570.181-no-compat32.run
Avoid common problems:
sudo ln -s /lib /lib64
And execute as root:
sudo ./NVIDIA-Linux-x86_64-570.181-no-compat32.run
I received a completely unexpected warning:
WARNING: You do not appear to have an NVIDIA GPU supported by the 570.181 NVIDIA Linux graphics driver installed in this system. For further details, please see the appendix SUPPORTED NVIDIA GRAPHICS CHIPS in the README available on the Linux driver download page at www.nvidia.com.
I was absolutely certain I would receive this message as an ERROR, not as a warning (I'm running without an NVIDIA card, on Intel integrated graphics).
Kernel Source PreparationBefore continuing, note that I already have a huge number of packages loaded in my TinyCore. If any error appears before this point, something I already have loaded is missing for you.
Then I get:
ERROR: Unable to find the kernel source tree for the currently running kernel. Please make sure you have installed the kernel source files for your kernel and that they are properly configured; on Red Hat Linux systems, for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM installed. If you know the correct kernel source files are installed, you may specify the kernel source path with the '--kernel-source-path' command line option
@Juanito already explained this to us in an old topic. We just need to adapt the commands for the current TinyCore version:
tce-load -i compiletc perl5 elfutils-dev ncursesw-dev bc
TinyCoreVer=16.x
KernelVer=6.12.11
# This will take a while, so find something to do in the meantime.
wget --no-check-certificate -qO- https://mirror.math.princeton.edu/pub/tinycorelinux/$TinyCoreVer/x86_64/release/src/kernel/linux-$KernelVer-patched.tar.xz | tar -xJf -
cd linux-$KernelVer/
make mrproper
wget --no-check-certificate -O .config https://mirror.math.princeton.edu/pub/tinycorelinux/$TinyCoreVer/x86_64/release/src/kernel/config-$KernelVer-tinycore64
wget --no-check-certificate -O Module.symvers.gz -q https://mirror.math.princeton.edu/pub/tinycorelinux/16.x/x86_64/release/src/kernel/Module.symvers-$KernelVer-tinycore64.gz
gunzip Module.symvers.gz
make oldconfig
make prepare
make modules_prepare
Creating Custom InstallerGood. Now, just to be safe, let's apply the kernel to the NVIDIA installer, since I'll probably execute it many times.
We need:
tce-load -i coreutils binutils
And then:
sudo ./NVIDIA-Linux-x86_64-570.181-no-compat32.run --kernel-source-path=/home/tc/downloads/linux-6.12.11/ --add-this-kernel
Output:
CRC: 2539477760
MD5: 4db24a2c9a6dc085b799e2a199fdb0e3
Rename for clarity:
mv NVIDIA-Linux-x86_64-570.181-no-compat32-custom.run NVIDIA-tinycore-6.12.11-x86_64-570.181.run
Now we have a checkpoint with the file NVIDIA-tinycore-6.12.11-x86_64-570.181.run. For any future errors, we can start from here.
Driver Installation and File CaptureLet me try executing the installer again: (You can skip this part)
sudo ./NVIDIA-tinycore-6.12.11-x86_64-570.181.run
It complained about some things but ultimately installed correctly. Obviously, the behavior won't be the same when you have an actual NVIDIA card.
To maintain maximum similarity, let's use some arguments: (You can skip this part)
sudo ./NVIDIA-tinycore-6.12.11-x86_64-570.181.run -q --allow-installation-with-running-driver --no-check-for-alternate-installs --skip-module-load --no-backup --no-recursion --no-x-check --no-nouveau-check --no-dkms --skip-depmod --no-systemd --no-rebuild-initramfs --documentation-prefix=/dev/null --ui=none --no-kernel-module-source
Good. Everything installed correctly. However, this was just for testing. Now we must capture the installed files, since unfortunately there's no simple way to find these installed files.
tce-load -i cpio findutils
mkdir nvidia_driver_raw
touch mymarker
sudo ./NVIDIA-tinycore-6.12.11-x86_64-570.181.run -q --allow-installation-with-running-driver --no-check-for-alternate-installs --skip-module-load --no-backup --no-recursion --no-x-check --no-nouveau-check --no-dkms --skip-depmod --no-systemd --no-rebuild-initramfs --documentation-prefix=/dev/null --ui=none --no-kernel-module-source
sudo find / \
-path /proc -prune -o \
-path /sys -prune -o \
-path /dev -prune -o \
-path /home -prune -o \
-path /mnt -prune -o \
-path /var -prune -o \
-path /tmp -prune -o \
-path /run -prune -o \
-not -type d -cnewer mymarker -print \
| sudo cpio -pdm --preserve-modification-time --make-directories nvidia_driver_raw
We now have all the needed nvidia files:
nvidia_driver_raw/
nvidia_driver_raw/etc
nvidia_driver_raw/etc/ld.so.cache
nvidia_driver_raw/etc/OpenCL
nvidia_driver_raw/etc/OpenCL/vendors
nvidia_driver_raw/etc/OpenCL/vendors/nvidia.icd
nvidia_driver_raw/etc/resolv.conf
nvidia_driver_raw/etc/vulkan
nvidia_driver_raw/etc/vulkan/icd.d
nvidia_driver_raw/etc/vulkan/icd.d/nvidia_icd.json
nvidia_driver_raw/etc/vulkan/implicit_layer.d
nvidia_driver_raw/etc/vulkan/implicit_layer.d/nvidia_layers.json
nvidia_driver_raw/etc/vulkansc
nvidia_driver_raw/etc/vulkansc/icd.d
nvidia_driver_raw/etc/vulkansc/icd.d/nvidia_icd_vksc.json
nvidia_driver_raw/lib
nvidia_driver_raw/lib/modules
nvidia_driver_raw/lib/modules/6.12.11-tinycore64
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video/nvidia-drm.ko
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video/nvidia.ko
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video/nvidia-modeset.ko
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video/nvidia-peermem.ko
nvidia_driver_raw/lib/modules/6.12.11-tinycore64/kernel/drivers/video/nvidia-uvm.ko
nvidia_driver_raw/usr
nvidia_driver_raw/usr/bin
nvidia_driver_raw/usr/bin/nvidia-bug-report.sh
nvidia_driver_raw/usr/bin/nvidia-cuda-mps-control
nvidia_driver_raw/usr/bin/nvidia-cuda-mps-server
nvidia_driver_raw/usr/bin/nvidia-debugdump
nvidia_driver_raw/usr/bin/nvidia-installer
nvidia_driver_raw/usr/bin/nvidia-modprobe
nvidia_driver_raw/usr/bin/nvidia-ngx-updater
nvidia_driver_raw/usr/bin/nvidia-pcc
nvidia_driver_raw/usr/bin/nvidia-persistenced
nvidia_driver_raw/usr/bin/nvidia-powerd
nvidia_driver_raw/usr/bin/nvidia-settings
nvidia_driver_raw/usr/bin/nvidia-sleep.sh
nvidia_driver_raw/usr/bin/nvidia-smi
nvidia_driver_raw/usr/bin/nvidia-uninstall
nvidia_driver_raw/usr/bin/nvidia-xconfig
nvidia_driver_raw/usr/lib
nvidia_driver_raw/usr/lib/gbm
nvidia_driver_raw/usr/lib/gbm/nvidia-drm_gbm.so
nvidia_driver_raw/usr/lib/libcudadebugger.so.1
nvidia_driver_raw/usr/lib/libcudadebugger.so.570.181
nvidia_driver_raw/usr/lib/libcuda.so
nvidia_driver_raw/usr/lib/libcuda.so.1
nvidia_driver_raw/usr/lib/libcuda.so.570.181
nvidia_driver_raw/usr/lib/libEGL_nvidia.so.0
nvidia_driver_raw/usr/lib/libEGL_nvidia.so.570.181
nvidia_driver_raw/usr/lib/libEGL.so
nvidia_driver_raw/usr/lib/libEGL.so.1
nvidia_driver_raw/usr/lib/libEGL.so.1.1.0
nvidia_driver_raw/usr/lib/libGLdispatch.so.0
nvidia_driver_raw/usr/lib/libGLESv1_CM_nvidia.so.1
nvidia_driver_raw/usr/lib/libGLESv1_CM_nvidia.so.570.181
nvidia_driver_raw/usr/lib/libGLESv1_CM.so
nvidia_driver_raw/usr/lib/libGLESv1_CM.so.1
nvidia_driver_raw/usr/lib/libGLESv1_CM.so.1.2.0
nvidia_driver_raw/usr/lib/libGLESv2_nvidia.so.2
nvidia_driver_raw/usr/lib/libGLESv2_nvidia.so.570.181
nvidia_driver_raw/usr/lib/libGLESv2.so
nvidia_driver_raw/usr/lib/libGLESv2.so.2
nvidia_driver_raw/usr/lib/libGLESv2.so.2.1.0
nvidia_driver_raw/usr/lib/libGL.so
nvidia_driver_raw/usr/lib/libGL.so.1
nvidia_driver_raw/usr/lib/libGL.so.1.7.0
nvidia_driver_raw/usr/lib/libGLX_indirect.so.0
nvidia_driver_raw/usr/lib/libGLX_nvidia.so.0
nvidia_driver_raw/usr/lib/libGLX_nvidia.so.570.181
nvidia_driver_raw/usr/lib/libGLX.so
nvidia_driver_raw/usr/lib/libGLX.so.0
nvidia_driver_raw/usr/lib/libnvcuvid.so
nvidia_driver_raw/usr/lib/libnvcuvid.so.1
nvidia_driver_raw/usr/lib/libnvcuvid.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-allocator.so
nvidia_driver_raw/usr/lib/libnvidia-allocator.so.1
nvidia_driver_raw/usr/lib/libnvidia-allocator.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-api.so.1
nvidia_driver_raw/usr/lib/libnvidia-cfg.so
nvidia_driver_raw/usr/lib/libnvidia-cfg.so.1
nvidia_driver_raw/usr/lib/libnvidia-cfg.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-eglcore.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-egl-gbm.so.1.1.2
nvidia_driver_raw/usr/lib/libnvidia-egl-wayland.so.1.1.20
nvidia_driver_raw/usr/lib/libnvidia-egl-xcb.so.1.0.3
nvidia_driver_raw/usr/lib/libnvidia-egl-xlib.so.1.0.3
nvidia_driver_raw/usr/lib/libnvidia-encode.so
nvidia_driver_raw/usr/lib/libnvidia-encode.so.1
nvidia_driver_raw/usr/lib/libnvidia-encode.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-fbc.so
nvidia_driver_raw/usr/lib/libnvidia-fbc.so.1
nvidia_driver_raw/usr/lib/libnvidia-fbc.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-glcore.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-glsi.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-glvkspirv.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-gpucomp.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-gtk2.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-gtk3.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-ml.so
nvidia_driver_raw/usr/lib/libnvidia-ml.so.1
nvidia_driver_raw/usr/lib/libnvidia-ml.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-ngx.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-nvvm.so
nvidia_driver_raw/usr/lib/libnvidia-nvvm.so.4
nvidia_driver_raw/usr/lib/libnvidia-nvvm.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-opencl.so.1
nvidia_driver_raw/usr/lib/libnvidia-opencl.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-opticalflow.so
nvidia_driver_raw/usr/lib/libnvidia-opticalflow.so.1
nvidia_driver_raw/usr/lib/libnvidia-opticalflow.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-pkcs11-openssl3.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-pkcs11.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-ptxjitcompiler.so
nvidia_driver_raw/usr/lib/libnvidia-ptxjitcompiler.so.1
nvidia_driver_raw/usr/lib/libnvidia-ptxjitcompiler.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-rtcore.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-sandboxutils.so
nvidia_driver_raw/usr/lib/libnvidia-sandboxutils.so.1
nvidia_driver_raw/usr/lib/libnvidia-sandboxutils.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-tls.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-vksc-core.so.1
nvidia_driver_raw/usr/lib/libnvidia-vksc-core.so.570.181
nvidia_driver_raw/usr/lib/libnvidia-wayland-client.so.570.181
nvidia_driver_raw/usr/lib/libnvoptix.so.1
nvidia_driver_raw/usr/lib/libnvoptix.so.570.181
nvidia_driver_raw/usr/lib/libOpenCL.so
nvidia_driver_raw/usr/lib/libOpenCL.so.1
nvidia_driver_raw/usr/lib/libOpenCL.so.1.0
nvidia_driver_raw/usr/lib/libOpenCL.so.1.0.0
nvidia_driver_raw/usr/lib/libOpenGL.so
nvidia_driver_raw/usr/lib/libOpenGL.so.0
nvidia_driver_raw/usr/lib/libvdpau_nvidia.so
nvidia_driver_raw/usr/lib/nvidia
nvidia_driver_raw/usr/lib/nvidia/egl_dummy_vendor.json
nvidia_driver_raw/usr/lib/nvidia/glvnd_check
nvidia_driver_raw/usr/lib/nvidia/libGLX_installcheck.so.0
nvidia_driver_raw/usr/lib/vdpau
nvidia_driver_raw/usr/lib/vdpau/libvdpau_nvidia.so.1
nvidia_driver_raw/usr/lib/vdpau/libvdpau_nvidia.so.570.181
nvidia_driver_raw/usr/local
nvidia_driver_raw/usr/local/bin
nvidia_driver_raw/usr/local/bin/cpio
nvidia_driver_raw/usr/local/bin/mt
nvidia_driver_raw/usr/local/lib
nvidia_driver_raw/usr/local/lib/firmware
nvidia_driver_raw/usr/local/lib/firmware/nvidia
nvidia_driver_raw/usr/local/lib/firmware/nvidia/570.181
nvidia_driver_raw/usr/local/lib/firmware/nvidia/570.181/gsp_ga10x.bin
nvidia_driver_raw/usr/local/lib/firmware/nvidia/570.181/gsp_tu10x.bin
nvidia_driver_raw/usr/local/lib/xorg
nvidia_driver_raw/usr/local/lib/xorg/modules
nvidia_driver_raw/usr/local/lib/xorg/modules/drivers
nvidia_driver_raw/usr/local/lib/xorg/modules/drivers/nvidia_drv.so
nvidia_driver_raw/usr/local/lib/xorg/modules/extensions
nvidia_driver_raw/usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so
nvidia_driver_raw/usr/local/lib/xorg/modules/extensions/libglxserver_nvidia.so.570.181
nvidia_driver_raw/usr/local/share
nvidia_driver_raw/usr/local/share/X11
nvidia_driver_raw/usr/local/share/X11/xorg.conf.d
nvidia_driver_raw/usr/local/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf
nvidia_driver_raw/usr/local/tce.installed
nvidia_driver_raw/usr/local/tce.installed/cpio
nvidia_driver_raw/usr/share
nvidia_driver_raw/usr/share/applications
nvidia_driver_raw/usr/share/applications/nvidia-settings.desktop
nvidia_driver_raw/usr/share/egl
nvidia_driver_raw/usr/share/egl/egl_external_platform.d
nvidia_driver_raw/usr/share/egl/egl_external_platform.d/10_nvidia_wayland.json
nvidia_driver_raw/usr/share/egl/egl_external_platform.d/15_nvidia_gbm.json
nvidia_driver_raw/usr/share/egl/egl_external_platform.d/20_nvidia_xcb.json
nvidia_driver_raw/usr/share/egl/egl_external_platform.d/20_nvidia_xlib.json
nvidia_driver_raw/usr/share/glvnd
nvidia_driver_raw/usr/share/glvnd/egl_vendor.d
nvidia_driver_raw/usr/share/glvnd/egl_vendor.d/10_nvidia.json
nvidia_driver_raw/usr/share/icons
nvidia_driver_raw/usr/share/icons/hicolor
nvidia_driver_raw/usr/share/icons/hicolor/128x128
nvidia_driver_raw/usr/share/icons/hicolor/128x128/apps
nvidia_driver_raw/usr/share/icons/hicolor/128x128/apps/nvidia-settings.png
nvidia_driver_raw/usr/share/nvidia
nvidia_driver_raw/usr/share/nvidia/files.d
nvidia_driver_raw/usr/share/nvidia/files.d/sandboxutils-filelist.json
nvidia_driver_raw/usr/share/nvidia/nvidia-application-profiles-570.181-key-documentation
nvidia_driver_raw/usr/share/nvidia/nvidia-application-profiles-570.181-rc
nvidia_driver_raw/usr/share/nvidia/nvoptix.bin
This tutorial will be continued with the extension creation process in a follow-up post.