NOTICE: Check if your GPU is a bit older it might run with one of the pre maid nvidia sfs's to save some work. Both found in the SFS manager.
This is how I got it running:
1: Get the tools.
You need the the kernel-source-x.yy.zz.sfs for your Fatdog. You also need the devx. You can get both from the Control Panel - system - SFS manager. The x.yy.zz number should match the result you get from
Code: Select all
uname -r
2:blacklist the nouveau driver.
I got this in my grub.cfg (lickgrub.cfg).
Code: Select all
menuentry "Fatdog64 802 + devx (no save file + nox) " {
linux /FD64-802/vmlinuz pfix=ram blacklist=nouveau savefile=none psubdir=FD64-802 extrasfs=ram:device:nvme0n1p1:/FD64-802/NVIDIA-430.40-x86_64.sfs
initrd /FD64-802/initrd
}
3: Load the devx and kernel-source sfs
Use the sfs manager or use the comandline utility
Code: Select all
load_sfs.sh --load <path/filename.sfs>
Start a sandbox, mount the drive containing the NVIDIA*.run file. In my case it was something like:
Code: Select all
sandbox.sh
mount /dev/nvme0n1p1 /mnt/nvme0n1p1
cd /mnt/nvme0n1p1
sh cuda_10.1.168_418.67_linux.run --help
Code: Select all
sh cuda_10.1.168_418.67_linux.run --drivers --silent
6: make the driver sfs
When done you save everything and create a sfs file (select a name that fits your installation).
Make sure to move the resulting sfs to the same folder your fatdog is loaded from at boot time.
Code: Select all
sb2dir NVIDIA-Linux-x86_64-430.40
cd /tmp/NVIDIA-Linux-x86_64-430.40
mksquash $(pwd) $(pwd).sfs -noappend -comp xz -Xbcj x86
mv ../NVIDIA-Linux-x86_64-430.40.sfs /mnt/nvme0n1p1/fd64-802
Code: Select all
menuentry "Fatdog64 802 + nvidia driver " {
linux /FD64-802/vmlinuz blacklist=nouveau pfix=ram savefile=none psubdir=FD64-802 extrasfs=ram:device:nvme0n1p1:/FD64-802/NVIDIA-430.40-x86_64.sfs,ram:device:nvme0n1p1:/FD64-802/fd64-devx_802.sfs
initrd /FD64-802/initrd
}
If all went well you should be able to reboot and run with the nvidia native drivers. This can be checked with the nvidia-smi and nvidia-settings utilities. Also do a:
Code: Select all
# lsmod|grep nvidia
nvidia_drm 40960 2
nvidia_modeset 1081344 4 nvidia_drm
nvidia 17805312 164 nvidia_modeset
drm_kms_helper 131072 1 nvidia_drm
drm 327680 5 drm_kms_helper,nvidia_drm
#
Code: Select all
# nvidia-smi
Tue Aug 27 22:24:58 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.67 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1060 Off | 00000000:01:00.0 On | N/A |
| N/A 40C P8 7W / N/A | 59MiB / 6077MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 719 G X 56MiB |
| 0 7026 G nvidia-settings 0MiB |
+-----------------------------------------------------------------------------+
#
7: Time for the cuda environment
Make sure the kernel-source (not sure we need it, but ) and devx sfs are loaded.
Open a terminal window and start a sandbox
Mount the location of the cuda*.run file
And issue the command:
Code: Select all
sh cuda_10.1.168_418.67_linux.run --help
# echo 'Check your options'
sh cuda_10.1.168_418.67_linux.run --toolkit --samples --silent
To get the environment correctly when we use the shortcuts to load terminals in Fatdog we need to add cuda locations to PATH and LD_LIBRARY_PATH: Check out the cuda documentation. ( /usr/local/cuda-10.1/doc/html/cuda-installation-guide-linux/index.html )
Section 7.1 mandatory actions:
Code: Select all
echo 'export PATH=/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/NsightCompute-2019.3${PATH:+:${PATH}}' >> /root/.shinit
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> /root/.shinit
9: Make the sfs
Save the sandbox changes and make the sfs
Code: Select all
sb2dir.sh cuda-toolkit-10.1
cd /tmp/cuda-toolkit-10.1
mksquashfs $(pwd) $(pwd).sfs -noappend -com xz -Xbcj x86
mv ../cuda-toolkit-10.1.sfs <target folder>
10: Testing time
Load the cuda-toolkit sfs
Code: Select all
nvcc --version
cd /root/NVIDIA_CUDA-10.1_Samples
time make -j 4 -l 5
Hopefully that's it. With minor changes this should work for other puppies to.
If no one else needs it I'm sure I will further down the road.
Happy coding
Uten ..)