Skip to content

nvidiactl: fallback to nouveau #110

Merged
merged 2 commits into from
Dec 16, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 14 additions & 10 deletions nvidiactl/nvidiactl
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@ set_generic_mxgfx_link () {
ln -sf /usr/share/mxgfx-generic /node/usr_share_mxgfx
}

use_nouveau () {
set_generic_mxgfx_link
test -e /lib/modules/${kver}/kernel/drivers/gpu/drm/nouveau/nouveau.ko && \
echo >&2 "NOTE: using nouveau.." && \
modprobe nouveau && \
exit 0

echo >&2 "ERROR: nouveau module not available."
exit 1
}

if [ -d /sys/module/nouveau ] ; then
echo >&2 "NOTE: nouveau driver loaded already, using 'mxgfx-generic'."
Expand All @@ -30,22 +40,16 @@ pciids="${PCIIDHINT_DIR}/${kver}-${nvver} ${PCIIDHINT_DIR}/${nvver}"

for leglvlhint in ${pciids} ; do
if [ -h "${leglvlhint}" ] ; then
set_generic_mxgfx_link
test -e /lib/modules/${kver}/kernel/drivers/gpu/drm/nouveau/nouveau.ko && \
echo >&2 "NOTE: legacy nvidia card found, loading nouveau .." && \
modprobe nouveau && \
exit 0

echo >&2 "ERROR: nouveau module not available, choose a newer kernel!"
exit 1
echo >&2 "NOTE: legacy nvidia card found.."
use_nouveau
fi
done

nvlink=/usr/share/nvidia/kernel/${kver}/current

if [ ! -h ${nvlink} ] ; then
echo >&2 "WARNING: ${nvlink} is not a link (to nvversion) .."
exit 1
echo >&2 "WARNING: NVIDIA driver not installed for kernel version ${kver}.."
use_nouveau
fi

nvver=$(readlink ${nvlink})
Expand Down