AlmaLinux 9 10 Now Support NVIDIA GPUs Natively — Heres How to Set Them Up

AlmaLinux 9 & 10 Unleash NVIDIA GPU Power with Native Support: A Comprehensive Setup Guide

AlmaLinux has rapidly emerged as a robust and reliable enterprise-grade Linux distribution, favored for its stability and seamless compatibility with existing CentOS workflows. For professionals and enthusiasts leveraging NVIDIA GPUs for demanding tasks like machine learning, scientific computing, or high-performance graphics, the availability of native NVIDIA driver support within AlmaLinux 9 and 10 is a game-changer. This article provides an exhaustive guide to installing and configuring NVIDIA drivers on AlmaLinux 9 and 10, ensuring optimal performance and stability.

Why Native NVIDIA Support Matters on AlmaLinux

Native NVIDIA support on AlmaLinux eliminates the complexities and potential pitfalls associated with manual driver installations and third-party repositories. Official driver packages, directly integrated into the AlmaLinux ecosystem, guarantee seamless updates, improved security, and enhanced compatibility with the kernel and other system components. This translates to:

Prerequisites: Preparing Your AlmaLinux System

Before diving into the installation process, it’s crucial to prepare your AlmaLinux system. This involves ensuring your system is up-to-date and disabling any conflicting drivers or services.

1. System Update: Ensuring a Solid Foundation

Start by updating your AlmaLinux system to the latest packages. This ensures that you have the most recent kernel and dependencies, minimizing potential compatibility issues. Open a terminal and execute the following command:

sudo dnf update -y

This command updates all installed packages to their latest versions. The -y flag automatically answers “yes” to any prompts, streamlining the process.

2. Identifying Your NVIDIA GPU

Determine the model of your NVIDIA GPU. This information is essential for selecting the correct driver package. You can use the following command:

lspci | grep -i nvidia

This command lists all PCI devices, filtering for entries containing “NVIDIA”. The output will display the model name of your NVIDIA GPU.

3. Disable Nouveau: The Open-Source Driver

AlmaLinux typically includes the Nouveau driver, an open-source driver for NVIDIA GPUs. While Nouveau provides basic functionality, it lacks the performance and features of the official NVIDIA drivers. It’s necessary to disable Nouveau before installing the official drivers.

a. Creating a Blacklist File

Create a blacklist file to prevent the Nouveau driver from loading.

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

Add the following lines to the file:

blacklist nouveau
options nouveau modeset=0

This configuration blacklists the nouveau module and disables kernel mode setting, preventing it from loading.

b. Regenerating the Kernel Initramfs

After creating the blacklist file, regenerate the kernel initramfs to apply the changes.

sudo dracut --omit-drivers nouveau -f

This command rebuilds the initramfs image, excluding the Nouveau driver.

c. Rebooting the System

Reboot your system to ensure the Nouveau driver is completely disabled.

sudo reboot

After rebooting, verify that Nouveau is disabled by running the following command:

lsmod | grep nouveau

If the command returns no output, Nouveau is successfully disabled.

Installing NVIDIA Drivers: Multiple Approaches

There are several methods for installing NVIDIA drivers on AlmaLinux, each with its own advantages and disadvantages. We will cover the recommended approach using the NVIDIA CUDA repository.

1. Enabling the NVIDIA CUDA Repository

The NVIDIA CUDA repository provides pre-built driver packages specifically designed for AlmaLinux. Enabling this repository simplifies the installation process and ensures compatibility.

a. Importing the NVIDIA CUDA Repository GPG Key

Import the GPG key for the NVIDIA CUDA repository. This verifies the authenticity of the packages downloaded from the repository.

sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo

(Replace rhel9 with rhel8 if you are using AlmaLinux 8.)

b. Installing the NVIDIA Driver

Install the NVIDIA driver using the dnf package manager.

sudo dnf install nvidia-driver akmod-nvidia

This command installs the NVIDIA driver package and the akmod-nvidia package, which automatically rebuilds the driver module whenever the kernel is updated.

2. DKMS Alternative Installation

DKMS (Dynamic Kernel Module Support) is another option for managing kernel modules. It automatically rebuilds kernel modules when the kernel is updated, ensuring compatibility.

sudo dnf install dkms
sudo dnf install nvidia-driver

3. Verifying the NVIDIA Driver Installation

After installing the NVIDIA driver, verify that it is correctly installed and functioning.

a. Checking NVIDIA Driver Version

Use the nvidia-smi command to check the installed NVIDIA driver version and GPU information.

nvidia-smi

This command displays detailed information about your NVIDIA GPU, including the driver version, CUDA version, and GPU utilization.

b. Testing with a Sample Application

Run a simple application that utilizes the NVIDIA GPU to confirm that the driver is working correctly. For example, you can use the cuda-samples package to run a sample CUDA application.

sudo dnf install cuda-samples
cd /usr/local/cuda-12.x/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

(Replace 12.x with your installed CUDA version. If deviceQuery fails, CUDA is not installed correctly).

If the application runs successfully and displays information about your NVIDIA GPU, the driver is correctly installed.

Configuring NVIDIA Settings: Optimizing Performance

Once the NVIDIA driver is installed, you can configure NVIDIA settings to optimize performance and customize your experience.

1. NVIDIA X Server Settings

The NVIDIA X Server Settings tool provides a graphical interface for configuring various NVIDIA settings, including display configuration, power management, and application profiles.

To launch the NVIDIA X Server Settings tool, run the following command:

nvidia-settings

2. Optimus Support: Hybrid Graphics Systems

If you have a laptop with both an integrated Intel GPU and a dedicated NVIDIA GPU (Optimus technology), you may need to configure Optimus support to ensure that applications utilize the NVIDIA GPU when needed.

a. Installing Bumblebee

Bumblebee is a popular open-source project that provides Optimus support on Linux.

sudo dnf install bumblebee-nvidia primus

b. Configuring Bumblebee

Configure Bumblebee to use the NVIDIA GPU.

sudo nano /etc/bumblebee/bumblebee.conf

Modify the Driver line to specify the NVIDIA driver:

Driver=nvidia

c. Using the NVIDIA GPU with Bumblebee

To run an application using the NVIDIA GPU, use the optirun command:

optirun application_name

For example, to run Firefox using the NVIDIA GPU:

optirun firefox

Troubleshooting: Addressing Common Issues

While the installation process is generally straightforward, you may encounter some issues. Here are some common problems and their solutions:

1. Driver Installation Fails

If the driver installation fails, check the following:

2. NVIDIA-SMI Command Not Found

If the nvidia-smi command is not found, ensure that the NVIDIA driver is correctly installed and the NVIDIA libraries are in the system path.

3. Display Issues

If you experience display issues, such as blank screen or flickering, try the following:

4. Kernel Module Issues

If you encounter kernel module issues, such as driver modules not loading, try the following:

Conclusion: Unleashing the Power of NVIDIA GPUs on AlmaLinux

By following this comprehensive guide, you can successfully install and configure NVIDIA drivers on AlmaLinux 9 and 10, unlocking the full potential of your NVIDIA GPUs. Native NVIDIA support provides a stable, reliable, and high-performance experience for demanding applications. Regularly updating your drivers ensures that you benefit from the latest features, performance improvements, and security patches. Visit Tech Today for more guides and tutorials on Linux and other technologies.

Advanced Configuration and Optimization

For users seeking to maximize the performance of their NVIDIA GPUs on AlmaLinux, several advanced configuration options can be explored.

1. PowerMizer: Optimizing Power Consumption

NVIDIA’s PowerMizer technology allows you to control the power consumption of your GPU. This is particularly useful on laptops, where power efficiency is crucial. You can adjust the PowerMizer settings using the NVIDIA X Server Settings tool or through the command line.

a. Using NVIDIA X Server Settings

In the NVIDIA X Server Settings tool, navigate to “PowerMizer” to configure the power management settings.

b. Using the Command Line

You can use the nvidia-smi command to query and modify PowerMizer settings. For example, to set the power management mode to “Adaptive”:

sudo nvidia-smi -pm 1

2. CoolBits: Enabling Advanced Features

The CoolBits option in the X Server configuration file enables advanced features, such as overclocking and fan control. However, enabling CoolBits can void your warranty and potentially damage your GPU if not used carefully.

a. Modifying the X Server Configuration File

Edit the X Server configuration file (/etc/X11/xorg.conf) and add the CoolBits option to the Device section:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce RTX 3080"
    Option         "Coolbits" "28"
EndSection

The value of Coolbits determines which advanced features are enabled. Refer to the NVIDIA documentation for more information.

3. CUDA Toolkit: Developing GPU-Accelerated Applications

If you are a developer looking to create GPU-accelerated applications, you will need to install the CUDA Toolkit. The CUDA Toolkit provides the necessary tools and libraries for developing CUDA applications.

a. Downloading the CUDA Toolkit

Download the CUDA Toolkit from the NVIDIA website.

b. Installing the CUDA Toolkit

Follow the instructions provided by NVIDIA to install the CUDA Toolkit.

c. Configuring the Environment Variables

Configure the environment variables to point to the CUDA Toolkit installation directory. Add the following lines to your .bashrc file:

export PATH=/usr/local/cuda-12.x/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.x/lib64:$LD_LIBRARY_PATH

(Replace 12.x with your installed CUDA version.)

Monitoring GPU Performance: Keeping an Eye on Your System

Monitoring your GPU’s performance is crucial for identifying bottlenecks and optimizing your system. Several tools are available for monitoring GPU performance on AlmaLinux.

1. NVIDIA-SMI: Command-Line Monitoring

The nvidia-smi command provides detailed information about your NVIDIA GPU, including temperature, utilization, and memory usage.

2. GNOME System Monitor: Graphical Monitoring

The GNOME System Monitor provides a graphical interface for monitoring system resources, including GPU usage.

3. Third-Party Monitoring Tools

Several third-party monitoring tools are available for Linux, such as glances and nvtop. These tools provide more advanced monitoring features and can be customized to meet your specific needs.

Security Considerations: Protecting Your System

Security is paramount when using NVIDIA drivers on AlmaLinux. Keep the following security considerations in mind:

1. Keep Drivers Updated

Regularly update your NVIDIA drivers to ensure that you have the latest security patches.

2. Download Drivers from Trusted Sources

Only download NVIDIA drivers from trusted sources, such as the NVIDIA website or the AlmaLinux repositories.

3. Be Careful with CoolBits

Enabling CoolBits can potentially expose your system to security vulnerabilities. Use caution when enabling advanced features.