Kalpa is a Wayland only Linux Distribution. This means nVidia GPUs and drivers not supporting Wayland are not going to work!
Attention: Follow every step carefully as the installation may otherwise end in an unbootable/broken system, with broken auto updates or missing display output. Also throughout this guide please reboot only if this has been explicitly stated.
Determine supported driver driver package
It is important to determine the supported driver version first. The easiest way is by looking up nVidias driver download page. Do not download the nVidia Installer from there as it will not work with Kalpa.
If you know the micro architecture of your GPU the following should work with Kalpa:
- Maxwell (GeForce 700, 800M, 900)
- Pascal (GeForce 10 series, Quadro P, Tesla P4)
- Turing (GeForce 16, 20)
- Ampere (GeForce 30)
- Ada Lovelace (GeForce 40)
- Blackwell (GeForce 50)
The best experience you will have with Turing and newer as these GPUs can also make use of nVidias open kernel module.
Setup system
Before we can begin with the driver installation it is important to do the following config changes first.
Setup zypper
- Open up a terminal and enter:
sudo vim /etc/zypp/zypper.confscroll down until you read[commit] - Replace
# autoAgreeWithLicenses = nowithautoAgreeWithLicenses = yes(Note:#is removed andnoreplaced byyes). - Save the file. (ESC :x Enter)
This is important to not break Kalpas auto update as the nVidia driver packages requires the user to agree with the nVidia EULA. As the automated update is running in the background no user interaction is possible here.
Setup transactional-update
- Create a new directory
sudo mkdir /etc/transactional-update.conf.d - Add a new file with
sudo touch /etc/transactional-update.conf.d/40-import-key.conf - Open it
sudo vim /etc/transactional-update.conf.d/40-import-key.conf - Enter
ZYPPER_AUTO_IMPORT_KEYS=1 - Save the file ESC + :x
This is important as the nVidia repository signing key might change at any given time. If the system dose not import the key by itself the auto updated might break at any given time and/or the health checker might run havoc and cause the system to permanently reboot.
Add nVidia driver repository and install driver
Still in Konsole run sudo transactional-update pkg in openSUSE-repos-MicroOS-NVIDIA
G06 with open source Kernel module
Recommended for: Turing, Ampere, Ada Lovelace, Blackwell
Install the driver using:
sudo transactional-update -c -i pkg in nvidia-open-driver-G06-signed-kmp-meta
version=$(rpm -qa --queryformat '%{VERSION}\n' nvidia-open-driver-G06-signed-kmp-default | cut -d "_" -f1 | sort -u | tail -n 1)
sudo transactional-update -c -i pkg in nvidia-compute-utils-G06 == ${version} nvidia-persistenced == ${version} nvidia-video-G06 == ${version}
sudo transactional-update -c initrd
Reboot. The driver should work right away.
G06 with closed source kernel module
Recommended for: Maxwell and Pascal
Installing the driver can be done using: sudo transactional-update -c pkg in nvidia-driver-G06-kmp-default nvidia-video-G06 nvidia-gl-G06 nvidia-compute-G06
The driver will not load yet if you have Secure Boot enabled. Continue with secure boot below after you have rebooted the system.
Secure boot
For G06 with the open kernel module this step is not required as the open module is already signed by the systems own secure boot keys.
With the closed source driver module the MOK (machine owner keys) have to be manually enrolled in order for the driver to get loaded. To do so run:
G06 with closed source kernel module:
sudo mokutil --import /usr/share/nvidia-pubkeys/MOK-nvidia-driver-G0<X>-<driver_version>-<kernel_flavor>.der and provide an easy to type and remember password as we will need it at the next reboot.
Optimus
For Laptop users which do have an integrated and a dedicated (presumably nVidia) GPU, also called Optimus Laptop, may want to read the following.
Offloading
To offload an application or game to the dedicated nVidia GPU it is required prefix the launch command with a few environment variables to make them run on the nVidia GPU:
- __GLX_VENDOR_LIBRARY_NAME=nvidia
- __NV_PRIME_RENDER_OFFLOAD=1
- __VK_LAYER_NV_optimus=NVIDIA_only
For Steam you can add the following as a game launch option for example:
__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only %command%
You can verify this by running nvidia-smi from Konsole and see if the requested application is listed in the Processes table at the bottom of the screen.
Power management
If the nVidia GPU is of the Pascal (GTX 10) or older micro architecture it is recommended to install additional software, as these GPUs stay powered on if not in use. To forcefully power them down or up install prime-select and bbswitch as follows:
sudo transactional-update pkg in bbswitch-kmp-default suse-prime
After the next reboot also enable the prime-select service as follows:
sudo systemctl enable --now prime-select.service
To set which GPU should be used at boot time run: sudo prime-select boot intel|offload. The intel mode will also work for integrated AMD iGPUs.
To switch the mode on-demand you can run: sudo prime-select intel|offload log out and in again. The nVidia GPU should now be powered on or off and the driver loaded or unloaded depending on which mode has been chosen.
Note: Only use intel or offload with out the pipe
Note 2: The nvidia mode does only work on X11 which is not supported on Kalpa
Additional notes about driver support
nVidia installer: Do not use the driver installer provided by nVidia it does not work with Kalpa as it does not expect a Linux distribution to be immutable and will therefore write certain files into the wrong directories as well as DKMS will fail to generate the kernel module. 390 or older: These drivers will not work with Kalpa 496.44 or newer: Recommended by KDE for Plasma 6 with Wayland 555.58 or newer: Is recommended for the best possible Wayland experience with the proprietary nVidia driver. As these driver series and newer contain a lot of improvements and tweaks to work best with Wayland.
Troubleshooting
Reset driver installation
In case of an issue with the driver you can reset the driver installation and start from scratch by running:
sudo transactional-update run "rpm -e $(rpm -qa | grep -e ^nvidia -e ^libnvidia | grep -v container)"
sudo reboot
Report Bugs
If you encounter any errors with teh nvidia driver after the instalaltion was successfull please report them to nVidia directly following these steps: nvidia - How to report a bug