воскресенье, 19 декабря 2010 г.

Автоматическое обновление драйвера Nvidia

1. скачка
Дрова нвидии можно брать с хомсайта или все версии на ftp://download.nvidia.com/XFree86/
Установку описывать смысла нет - много раз везде описана, например тут: справка по установке

2. что должно быть в системе
Для установки драйвера должны быть хидеры ядра linux-headers-$(uname -r) и компилятор build-essential
3. автоматизация при обновлении ядра
а) кладем драйвер куда удобно и делаем симлинк, что бы не менять имя постоянно в скрипте
sudo mv NVIDIA-Linux-x86_64-260.19.29.run /usr/src
sudo ln -s /usr/src/NVIDIA-Linux-x86_64-260.19.29.run /usr/src/nvidia-driver
б) создаем папку если нету
sudo mkdir -p /etc/kernel/postinst.d
в) кладём туда скрипт , под названием update-nvidia , не забывая про +x
#!/bin/bash
#

# Set this to the exact path of the nvidia driver you plan to use
# It is recommended to use a symlink here so that this script doesn't
# have to be modified when you change driver versions.
DRIVER=/usr/src/nvidia-driver


# Build new driver if it doesn't exist
if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
echo "NVIDIA driver already exists for this kernel." >&2
else
echo "Building NVIDIA driver for kernel $1" >&2
sh $DRIVER -K -k $1 -s -n 2>1 > /dev/null

if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
echo " SUCCESS: Driver installed for kernel $1" >&2
else
echo " FAILURE: See /var/log/nvidia-installer.log" >&2
fi
fi

exit 0

Это всё, при обновлении ядра или при установке своего пакетами , автоматом соберется модуль.


4 автоматизация сборки для всех ядер
Если ядер много и хотите обновить модуль для всех, может сделать так:

#!/bin/bash
# Name: nvreinst
# Version: 0.1
# Description:
#
#----------------------------------------------------------------------
#DRIVER=$( ls /src/NVIDIA* |tail -n 1)
DRIVER=/usr/src/nvidia-driver

if [ "$UID" = "0" ]
then
#для всех ядер
for kver in $(ls /lib/modules) ;do
sh $DRIVER -K -k $kver -s -n
done
else
echo "use sudo"
fi




Комментариев нет: