[Pilotes Nvidia] installer une ancienne version (résolu)

Reconnaissance et configuration du matériel / kernel linux
Archimage
Daikyu
Messages : 68
Inscription : lun. 27 sept. 2010, 16:53

[Pilotes Nvidia] installer une ancienne version (résolu)

Message par Archimage »

Bonjour,

J'utilise un logiciel qui s'appelle Octane Render. Ce dernier a recours au GPU pour effectuer les rendus d'images. Le logiciel se freeze au bout de quelques heures et ne me permet pas de "minimiser" et "maximiser". J'ai enlevé toutes les applications telles que xcompmgr mais rien n'y fait. Sur le forum d'Octane on m'a proposé de passer à la version 260.19.29. des pilotes Nvidia. Celle que j'utilise et qui est sur le dépot est la 260.19.36.

Comment faire pour installer une version plus ancienne ? Pouvez-vous m'expliquer comment y parvenir ?

Cordialement

Archimage
Dernière modification par Archimage le mer. 09 févr. 2011, 12:24, modifié 1 fois.
Avatar de l’utilisateur
Emericn6k
yeomen
Messages : 225
Inscription : mar. 22 juin 2010, 18:17
Localisation : Toulouse

Re: [Pilotes Nvidia] installer une ancienne version (en cour

Message par Emericn6k »

Pour passer à des versions antérieures de paquets, la méthode est expliquée là :

https://wiki.archlinux.org/index.php/Do ... g_Packages

A priori le paquet que tu cherches est encore sur le miroir http://schlunix.org/archlinux/.

Ensuite pour rester sur la version en question malgré les mises à jour du reste du système, lire le passage sur IgnorePkg.

Par contre il faut bien être conscient que ça ne doit rester qu'une solution provisoire, Arch est une distrib faite pour être à jour...
"In a world without fences and walls, who needs Gates and Windows"
Émeric - Utilisateur Archlinux depuis fin 2008, après 2 ans sous gentoo, 2 ans sous debian et quelques jours sous ubuntu
Drexya
archer de cavalerie
Messages : 161
Inscription : sam. 20 juin 2009, 15:00

Re: [Pilotes Nvidia] installer une ancienne version (en cour

Message par Drexya »

Coucou,

j'ai le pkbuild de la version 260.19.29. qui traine dans le répertoire ABS, je l'ai adapté pour le noyau 2.6.37
PKGBUILD :

Code : Tout sélectionner

# $Id$
# Maintainer : Thomas Baechler <thomas@archlinux.org>

pkgname=nvidia
pkgver=260.19.29
_kernver='2.6.37-ARCH'
pkgrel=2
pkgdesc="NVIDIA drivers for kernel26."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('kernel26>=2.6.37' 'kernel26<2.6.38' "nvidia-utils=${pkgver}")
makedepends=('kernel26-headers>=2.6.37' 'kernel26-headers<2.6.38')
conflicts=('nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install

if [ "$CARCH" = "i686" ]; then
	_arch='x86'
	_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
        source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
        md5sums=('e982a05a85c68130acfe1d48086250e3')
elif [ "$CARCH" = "x86_64" ]; then
	_arch='x86_64'
	_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
        source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
        md5sums=('0583668d86f7318d99def3ed3e1cc4bc')
fi

build() {
	cd $srcdir
	sh ${_pkg}.run --extract-only
	cd ${_pkg}/kernel
 	make SYSSRC=/lib/modules/${_kernver}/build module
}

package() {
	install -D -m644 $srcdir/${_pkg}/kernel/nvidia.ko \
		$pkgdir/lib/modules/${_kernver}/kernel/drivers/video/nvidia.ko
        install -d -m755 $pkgdir/etc/modprobe.d
        echo "blacklist nouveau" >> $pkgdir/etc/modprobe.d/nouveau_blacklist.conf
	sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
}
nvidia.install :

Code : Tout sélectionner

post_install() {
	KERNEL_VERSION='2.6.37-ARCH'
	depmod $KERNEL_VERSION
}

post_upgrade() {
	post_install
	rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
}

post_remove() {
	KERNEL_VERSION='2.6.37-ARCH'
	depmod $KERNEL_VERSION
}
Copie/colle les 2 "codes" et enregistre les sous le nom PKGBUILD et nvidia.install dans un dossier que tu auras crée pour construire le paquet avec "makepkg". Il te faudra ensuite modifier le fichier "pacman.conf" dans "/etc/" pour empêcher la mise à jour du paquet jusqu'à une future version du pilote qui résoudra peut-être le bug.

edit : hmm, il faut construire nvidia-utils avant :

PKGBUILD :

Code : Tout sélectionner

# $Id: PKGBUILD 103024 2010-12-14 14:35:14Z ibiru $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>

pkgname=nvidia-utils
pkgver=260.19.29
pkgrel=1
pkgdesc="NVIDIA drivers utilities and libraries."
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('xorg-server' 'libxvmc')
optdepends=('gtk2: nvidia-settings' 'pkg-config: nvidia-xconfig')
conflicts=('libgl')
provides=('libgl')
license=('custom')
install=nvidia.install
options=('!strip')
backup=('etc/X11/xorg.conf.d/20-nvidia.conf')

if [ "$CARCH" = "i686" ]; then
	_arch='x86'
	_pkg="NVIDIA-Linux-${_arch}-${pkgver}"
	source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
        md5sums=('e982a05a85c68130acfe1d48086250e3')
elif [ "$CARCH" = "x86_64" ]; then
	_arch='x86_64'
	_pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
	source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
        md5sums=('0583668d86f7318d99def3ed3e1cc4bc')
fi

source[1]='20-nvidia.conf'
md5sums[1]='541cb36684b6764ccba73d7afe268bf5'

build() {
	cd $srcdir
	sh ${_pkg}.run --extract-only
}

package() {
	cd $srcdir/${_pkg}

	# X driver
	install -D -m755 nvidia_drv.so $pkgdir/usr/lib/xorg/modules/drivers/nvidia_drv.so
	# GLX extension module for X
	install -D -m755 libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so.$pkgver
	ln -s libglx.so.$pkgver $pkgdir/usr/lib/xorg/modules/extensions/libglx.so	# X doesn't find glx otherwise
	# OpenGL library
	install -D -m755 libGL.so.$pkgver $pkgdir/usr/lib/libGL.so.$pkgver
	# OpenGL core library
	install -D -m755 libnvidia-glcore.so.$pkgver $pkgdir/usr/lib/libnvidia-glcore.so.$pkgver
	# XvMC
	install -D -m644 libXvMCNVIDIA.a $pkgdir/usr/lib/libXvMCNVIDIA.a
	install -D -m755 libXvMCNVIDIA.so.$pkgver $pkgdir/usr/lib/libXvMCNVIDIA.so.$pkgver
	# VDPAU
	install -D -m755 libvdpau_nvidia.so.$pkgver $pkgdir/usr/lib/vdpau/libvdpau_nvidia.so.$pkgver
	# CUDA
	install -D -m755 libcuda.so.$pkgver $pkgdir/usr/lib/libcuda.so.$pkgver
        install -D -m755 libnvcuvid.so.$pkgver $pkgdir/usr/lib/libnvcuvid.so.$pkgver
	# nvidia-tls library
	install -D -m755 tls/libnvidia-tls.so.$pkgver $pkgdir/usr/lib/libnvidia-tls.so.$pkgver
	# OpenCL
	install -D -m755 libnvidia-compiler.so.$pkgver $pkgdir/usr/lib/libnvidia-compiler.so.$pkgver
	install -D -m755 libOpenCL.so.1.0.0 $pkgdir/usr/lib/libOpenCL.so.1.0.0
	install -D -m644 nvidia.icd $pkgdir/etc/OpenCL/vendors/nvidia.icd

	install -D -m755 libnvidia-cfg.so.$pkgver $pkgdir/usr/lib/libnvidia-cfg.so.$pkgver

	# create soname links
	for _lib in $(find $pkgdir -name '*.so*'); do
		_soname="$(dirname ${_lib})/$(readelf -d "$_lib" | sed -nr 's/.*Library soname: \[(.*)\].*/\1/p')"
		if [ ! -e "${_soname}" ]; then
			ln -s "$(basename ${_lib})" "${_soname}"
			ln -s "$(basename ${_soname})" "${_soname/.[0-9]*/}"
		fi
	done


	# nvidia-xconfig
	install -D -m755 nvidia-xconfig $pkgdir/usr/bin/nvidia-xconfig
	install -D -m644 nvidia-xconfig.1.gz $pkgdir/usr/share/man/man1/nvidia-xconfig.1.gz
	# nvidia-settings
	install -D -m755 nvidia-settings $pkgdir/usr/bin/nvidia-settings
	install -D -m644 nvidia-settings.1.gz $pkgdir/usr/share/man/man1/nvidia-settings.1.gz
	install -D -m644 nvidia-settings.desktop $pkgdir/usr/share/applications/nvidia-settings.desktop
	install -D -m644 nvidia-settings.png $pkgdir/usr/share/pixmaps/nvidia-settings.png
	sed -e 's:__UTILS_PATH__:/usr/bin:' -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' -i $pkgdir/usr/share/applications/nvidia-settings.desktop
	# nvidia-bug-report
	install -D -m755 nvidia-bug-report.sh $pkgdir/usr/bin/nvidia-bug-report.sh
	# nvidia-smi
	install -D -m755 nvidia-smi $pkgdir/usr/bin/nvidia-smi
	install -D -m644 nvidia-smi.1.gz $pkgdir/usr/share/man/man1/nvidia-smi.1.gz


	install -D -m644 LICENSE $pkgdir/usr/share/licenses/nvidia/LICENSE
	ln -s nvidia $pkgdir/usr/share/licenses/nvidia-utils
	install -D -m644 README.txt $pkgdir/usr/share/doc/nvidia/README
	install -D -m644 NVIDIA_Changelog $pkgdir/usr/share/doc/nvidia/NVIDIA_Changelog
	ln -s nvidia $pkgdir/usr/share/doc/nvidia-utils

	# Install xorg.conf.d file for nvidia autodetection in xorg.conf-less configurations
	install -D -m644 $srcdir/20-nvidia.conf $pkgdir/etc/X11/xorg.conf.d/20-nvidia.conf
}
nvidia.install :

Code : Tout sélectionner

post_install() {
	echo 'By using this package you accept the NVIDIA license,'
	echo 'which has been installed in /usr/share/licenses/nvidia/LICENSE'
	echo 'If you do not accept this license, you must remove the package immediately.'
}
20-nvidia.conf :

Code : Tout sélectionner

Section "Device"
        Identifier "Default nvidia Device"
        Driver "nvidia"
        Option "NoLogo" "True"
EndSection
Même procédure que précedemment en les enregsitrant avec le nom au-dessus du code dans un dossier adequat.
Archimage
Daikyu
Messages : 68
Inscription : lun. 27 sept. 2010, 16:53

Re: [Pilotes Nvidia] installer une ancienne version (résolu)

Message par Archimage »

Merci pour vos réponses, je mets le sujet en résolu car je n'aurai pas accès à ma machine pendant les 10 jours à venir et je vous tiens au courant des résultats !

:copain:
Répondre