How to Install NVIDIA Drivers and CUDA Toolkit on Oracle Linux 10
Published:
For any developer or power user who’s ever tried to install NVIDIA drivers on Linux, the process can feel less like a straightforward task. While most mainstream distributions have streamlined the process, trying to get NVIDIA drivers working on Oracle Linux for a desktop setup is a unique challenge. The available documentation is often sparse, focusing on server-side GPU acceleration rather than desktop graphics, leaving a trail of broken dependencies and black screens in its wake (and that just happened to me while I was trying to install the drivers as well 😢).
This guide aims to fill that gap. We’ll walk through the process step-by-step, demystifying the installation of NVIDIA drivers on the latest Oracle Linux 10 for desktop setups. Note, for data centers, NVIDIA guidelines covers how to install and configure the NVIDIA driver for servers.
In addition, this post also shows how to configure CUDA 13.0 SDK to compile and run our CUDA programs on NVIDIA GPUs.
1. Update the system
First of all, we need to update the system. This installation guideline assumes a fresh installation of the Oracle Linux 10 with Gnome 47.4.
sudo dnf update
reboot
At the time of writing this post, this the the latest Linux Kernel available for Oracle Linux 10:
$ uname -a
Linux oraclelinux 6.12.0-101.33.4.3.el10uek.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 14 18:29:21 PDT 2025 x86_64 GNU/Linux
So, keep in mind we are using a UEK (Unbreakable Enterprise Kernel) Linux kernel. This is a Linux Kernel developed by Oracle for the Oracle Linux distribution that is optimized for the Oracle Cloud. Thus, when we install the kernel pre-requisites for the NVIDIA drivers, we need to install also the UEK versions.
2. Download the latest NVIDIA Driver
Visit the NVIDIA website to download the latest NVIDIA driver. At the time of writing this post, the latest version is 580.76.05
.
Download the file and give execution permisions:
chmod +x NVIDIA-Linux-x86_64-580.76.05.run
3. Installing the dependencies
Enable epel Oracle Epel Repo:
sudo dnf install oracle-epel-release-el10-1.0-2.el10.x86_64
Install the dependencies:
sudo dnf install kernel-uek-devel gcc make acpid libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig xorg-x11-server-Xwayland libxcb egl-wayland
4. Disable Nouveau and NOVA Core
Access as root:
sudo su -
Then disable the nouveau
and nova_core
drivers:
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nova_core" >> /etc/modprobe.d/blacklist.conf
echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1" >> /etc/modprobe.d/nvidia.conf
echo "options nvidia-drm modeset=1 fbdev=0" >> /etc/modprobe.d/nvidia.conf
5. Update the grub2 configuration
As described in the excellent if-not-true-then-false blog, we then need to update the grub2
con configuration and create a new image.
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau-nova.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
6. Install the NVIDIA Driver
Disable the graphical interface to install the NVIDIA Driver. We will enable it again once the installation is done.
systemctl set-default multi-user.target
Then we can reboot:
reboot
To install the NVIDIA driver, just run the following script, and follow the instructions:
sudo ./NVIDIA-Linux-x86_64-580.76.05.run
Once the installation is done, enable enable the graphics interface:
systemctl set-default graphical.target
reboot
Check with the nvidia-smi
command:
Fri Aug 15 08:52:12 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.76.05 Driver Version: 580.76.05 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| 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 2060 ... Off | 00000000:01:00.0 Off | N/A |
| N/A 40C P8 2W / 65W | 4MiB / 6144MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2744 G /usr/bin/gnome-shell 1MiB |
+-----------------------------------------------------------------------------------------+
Great, installation is done! Now, let’s compile and run some CUDA programs on the GPU. To do that, we need to install the CUDA Toolkit.
7. Install CUDA 13.0 Toolkit
wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda-repo-rhel9-13-0-local-13.0.0_580.65.06-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel9-13-0-local-13.0.0_580.65.06-1.x86_64.rpm
sudo dnf clean all
sudo dnf -y install cuda-toolkit-13-0
Now we can run CUDA. Update the PATH
and the CPLUS_INCLUDE_PATH
to include the CUDA libraries and CUDA compiler. You can add the following lines in your ~/.bashrc
:
export CPLUS_INCLUDE_PATH=/usr/local/cuda/include
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
export PATH=/usr/local/cuda/bin/:$PATH
And done!
Let’s try a few examples:
8. Download CUDA Sample Suite
git clone https://github.com/NVIDIA/cuda-samples
cd cuda-samples
cd Samples/0_Introduction/matrixMul/
mkdir build
cd build
cmake ..
make
Now we can run the example:
./matrixMul
[Matrix Multiply Using CUDA] - Starting...
GPU Device 0: "Turing" with compute capability 7.5
MatrixA(320,320), MatrixB(640,320)
Computing result using CUDA Kernel...
done
Performance= 382.48 GFlop/s, Time= 0.343 msec, Size= 131072000 Ops, WorkgroupSize= 1024 threads/block
Checking computed result for correctness: Result = PASS
NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.
References
[1] https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/
[2] https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/