Files

23 lines
850 B
Bash
Executable File

#!/usr/bin/env bash
# Quick pass if one of the modules is already loaded.
if [[ -e /sys/module/nvidia || -e /sys/module/nouveau ]]; then
exit 0
fi
# Load compatible version of NVIDIA modules for current hardware
if chwd --list | awk '{ if($2 == "nouveau" || $2 == "nvidia-dkms-470xx" || $2 == "nvidia-dkms-580xx") f=1 } END {exit (f == 1) ? 0 : 1 }'; then
modprobe nouveau
elif chwd --list | awk '{ if($2 == "nvidia-open-dkms") f=1 } END {exit (f == 1) ? 0 : 1 }'; then
# Load some basic dependencies of nvidia modules
modprobe video
modprobe drm_ttm_helper
modprobe drm_kms_helper
# load nvidia modules
modprobe --ignore-install -a nvidia nvidia-modeset nvidia-drm nvidia-uvm
fi
# Otherwise, do a fallback to nouveau anyway
if [[ ! -e /sys/module/nouveau && ! -e /sys/module/nvidia ]]; then
modprobe nouveau
fi