Sous Debian ( et dans la plupart des distro GNU/Linux d'ailleurs), il existe plusieurs solutions en ce qui concerne les pilotes de carte graphique.
Sous Debian Wheezy, et en ce qui concerne les cartes AMD/ATI, le pilote proprio s'appelle Fglrx, et son installation est laborieuse avec une version de noyau > 3.2, à cause d'un bug lors de la compilation du module noyau.
Ayant passé quelques heures à chercher une solution, je partage ici la solution que j'ai trouvé au problème avec l'aide d'autres utilisateurs bien sûr.
Le fichier source 'firegl_public.c' qui se trouve dans /usr/src/fglrx-xx.xx
contient une instruction qui fait échouer la compilation du module.
Le problème se trouve à la ligne 1761. Remplacer
#ifdef current_euid
return current_euid();
#else
par
#ifdef current_euid
return __kuid_val(current_euid());
#else
et recompiler le noyau règle le problème.
Méthode un peu crado :
sudo su
apt-get install --install-depends fglrx-driver
L'installation finit sur une erreur, on va la régler en faisant les modifs du point précédant puis relancer la compil'.
cd /usr/src/fglrx-13.12
make
Une fois que c'est fait, on installe le module.
mkdir -p /var/lib/dkms/fglrx/kernel-X.xx_etc/module/
cp fglrx.ko /lib/modules/3.14-0.bpo.1-amd64/updates/dkms/
cp fglrx.ko /var/lib/dkms/fglrx/kernel-X.xx_etc/module/
update-initramfs -u
Une méthode plus propre : on modifie le fichier dans le paquet, et on l'installe.
On télécharge le paquet ( adaptez votre version et architecture !) :
wget http://ftp.fr.debian.org/debian/pool/non-free/f/fglrx-driver/fglrx-modules-dkms_13.12-4~bpo70+1_amd64.deb
On extrait le paquet :
dpkg -x fglrx-modules-dkms_13.12-4~bpo70+1_amd64.deb build
dpkg -e fglrx-modules-dkms_13.12-4~bpo70+1_amd64.deb build/DEBIAN
On fait les modifs sur le fichier 'firegl_public.c' qui se trouve dans build/usr/src/fglrx-13.12/
.
On reconstruit le paquet :
dpkg -b fglrx-modules-dkms_13.12-cor_amd64.deb build
On installe :
dpkg -i fglrx-modules-dkms_13.12-cor_amd64.deb build
Le module radeon
ne doit pas être chargé en même temps que le module fglrx
, car ils sont en conflit.
Il faut donc veiller à vérifier que le module radeon est blacklisté dans /etc/modprobe.d/fglrx-blacklists-radeon.conf
.
Si ce n'est pas le cas, on crée le fichier :
echo "blacklist radeon" > /etc/modprobe.d/fglrx-blacklists-radeon.conf'
On vérifie bien dans /etc/initramfs-tools/modules
qu'aucune ligne ne contient radeon
.
On vérifie dans /etc/default/grub
la ligne , et on ajoute l'option radeon.modeset=0
si besoin:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=0"
On oublie pas de générer l'image noyau et la config grub :
sudo update-initramfs -u
sudo update-grub
Sources : http://devgurus.amd.com/thread/159241 http://ati.cchtml.com/show_bug.cgi?id=847