Patch driver ATI 8.5 et kernel 2.6.25

Les derniers drivers ATI 8.5 qui sont sortis ne compilent pas sous debian à cause de la licence et de symboles deprecated.

Pour cela il faut activer une option du kernel “unused symbols” :

Kernel hacking —>
[*] Enable unused/obsolete exported symbols

Il faut modifier de la licence du module pour pouvoir compiler sous Debian

Si on ne modifie pas la licence  on a une erreur :

  • FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘__rcu_read_lock’

Il faut remplacer dans le fichier firegl_public.c la licence :

  • MODULE_LICENSE(”Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY”);

par :

  • MODULE_LICENSE(”GPL”);
  • 0 Comments
  • Filed under: Debian
  • Patch driver ATI 8.4 et kernel 2.6.25

    Les derniers drivers ATI 8.4 qui sont sortis le 16 Avril ne compilent pas avec le kernel 2.6.25.

    Il y a des erreurs :

    • /usr/bin/make -C /usr/src/linux-2.6.25 SUBDIRS=/usr/src/modules/fglrx modules
    • make[3]: entrant dans le répertoire « /usr/src/linux-2.6.25 »
    • CC [M] /usr/src/modules/fglrx/firegl_public.o
    • /usr/src/modules/fglrx/firegl_public.c: In function ‘KCL_SetPageNoCache’:
    • /usr/src/modules/fglrx/firegl_public.c:1163: warning: ‘change_page_attr’ is deprecated (declared at include/asm/cacheflush.h:28)
    • /usr/src/modules/fglrx/firegl_public.c: In function ‘KCL_PosixSecurityCapGetEffectiveVector’:
    • /usr/src/modules/fglrx/firegl_public.c:1890: error: implicit declaration of function ‘cap_t’
    • /usr/src/modules/fglrx/firegl_public.c: In function ‘KCL_PosixSecurityCapSetEffectiveVector’:
    • /usr/src/modules/fglrx/firegl_public.c:1898: error: lvalue required as left operand of assignment
    • /usr/src/modules/fglrx/firegl_public.c: In function ‘__ke_check_pci’:
    • /usr/src/modules/fglrx/firegl_public.c:1953: warning: ‘pci_find_slot’ is deprecated (declared at include/linux/pci.h:508)
    • /usr/src/modules/fglrx/firegl_public.c: In function ‘__ke_pci_find_slot’:
    • /usr/src/modules/fglrx/firegl_public.c:2842: warning: ‘pci_find_slot’ is deprecated (declared at include/linux/pci.h:508)
    • make[4]: *** [/usr/src/modules/fglrx/firegl_public.o] Erreur 1
    • make[3]: *** [_module_/usr/src/modules/fglrx] Erreur 2
    • make[3]: quittant le répertoire « /usr/src/linux-2.6.25 »
    • make[2]: *** [build] Erreur 2
    • make[2]: quittant le répertoire « /usr/src/modules/fglrx »
    • make[1]: *** [kdist_image] Erreur 2
    • make[1]: quittant le répertoire « /usr/src/modules/fglrx »
    • Module /usr/src/modules/fglrx failed.
    • Hit return to Continue

    Pour cela il faut patcher les driver ATI ainsi qu’activer une option du kernel “unused symbols” :

    Kernel hacking —>
    [*] Enable unused/obsolete exported symbols

    Pour cela télécharger le patch :

    • wget http://pthichat.net/wp-content/uploads/2008/05/fglrx-84-for-2625.patch

    Puis l’appliquer :

    • patch firegl_public.c fglrx-8.4-for-2.6.25.patch

    Le patch comprend aussi une modification de la licence du module pour pouvoir compiler sous Debian

    Si on patch juste le fichier firegl_public.c pour qu’il compile on a une erreur :

    • FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol ‘__rcu_read_lock’

    Il faut remplacer dans le fichier firegl_public.c :

    • MODULE_LICENSE(”Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY”);

    par :

    • MODULE_LICENSE(”GPL”);
  • 3 Comments
  • Filed under: Debian
  • Un petit tutorial pour installer les drivers ATI(tm) sous debian, car je sais que bon nombre d’entre vous rencontrez des difficultés à les installer.

    1. Préliminaires

    - Je suppose que vous avez les sources de votre kernel dans “/usr/src/” et qu’il existe un lien symbolique “linux” vers les sources. Sinon je vous invite à le faire :

    • ln -sf /usr/src/kernel.xxx linux

    - kernel.xxx représente le répertoire des sources du kernel.

    - Ajouter les lignes suivantes à votre fichier /etc/apt/sources.list.

    • deb http://www.stanchina.net/~flavio/debian/ ./

    - Puis mettre à jour votre liste de packages en faisant :

    • apt-get update

    2. Installer les packages

    - Installer les packages suivants :

    • apt-get install fglrx-4.3.0-kernel-src fglrx-4.3.0-driver

    - Ensuite il faut decompresser le .tar.gz :

    • cd /usr/src && tar -xzvf fglrx-*.tar.gz

    - Puis on compile le driver :

    • cd linux && make-kpkg modules_image

    - Enfin on installe le driver :

    • cd .. && dpkg -i fglrx-*.deb

    3. Configurer le serveur X

    - on va générer le fichier de configuration de XFree “/etc/X11/XF86Config-4″ :

    • dpkg-reconfigure xserver-xfree86

    - Choisir le driver fglrx et répondez aux différentes questions de debconf.

    4. Redémarage de la machine

    - Afin de terminer l’installation il est nécessaire de redémarer la machine.

    - Pour vérifier si les drivers sont bien chargés faites :

    • lsmod | grep fglrx

    - SI vous avez quelque chose du genre “fglrx 215236 9″ c’est bon votre module est bien chargé.

    - Sinon c’est que le module n’est pas chargé :

    • modprobe fglrx

    - Ensuite pour vérifier si l’accelération 3D est active :

    • fglrxinfo

    - Si la ligne OpenGL renderer string est différente de “Mesa GLX Indirect” l’accelération 3D fonctionne.

    - Voila vos drivers ATI(tm) sont installés vous n’avez plus qu’a vous amuser avec tux racer :P

  • 0 Comments
  • Filed under: Debian