ATI 8.14.13 xorg-kernel 2.6.12 & gcc 4.0.1 : solution + patch

ATI 8.14.13 xorg-kernel 2.6.12 & gcc 4.0.1 : solution + patch - Installation - Linux et OS Alternatifs

Marsh Posté le 21-07-2005 à 17:23:42    

SOLUTION dans cette page : http://forum.hardware.fr/forum2.ph [...] 55#t709855
 
Post original

Citation :

Est-ce que quelqu'un à réussi à installer les drivers ATI sous Mandriva (Cooker) avec le kernel 2.6.12 et gcc 4 ?
J'ai trouvé ce lien :
http://www.rage3d.com/board/showthread.php?t=33822116
J'ai laissé une question, en espérant que ca aboutisse...
 
Je pige QUE DALLE à l'allemand, mais je suis tombé sur un script d'installation
3D Linux Driver Script 1.0 (ATI/NVIDIA)[DKMS]


Message édité par Profil supprimé le 22-07-2005 à 18:04:51
Reply

Marsh Posté le 21-07-2005 à 17:23:42   

Reply

Marsh Posté le 21-07-2005 à 21:00:38    

Reply

Marsh Posté le 21-07-2005 à 21:04:24    

ok.
Mais je m'y perds un peu.
Dans ton lien, ils utilisent 3 patchs, alors que dans le 1er lien de rage3d, 1 seul ... ?
Par ailleurs, j'avais essayé la manip de ton lien, mais ca ne marchait pas à cause de gcc4.
 
Oh!

Citation :

Updated: Now it can Install fglrx-8.14.13 with GCC4 and Kernel-2.6.12  
http://www.unixboard.de/vb3/showthread.php?t=13659


http://www.tux3d.org/pics/fglrx5.png
 
Je vais essayer...
 
Edit, ca ne marche pas.
>>

Building and Installing driver
---------------------------------------------------------------
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.12-6mdk-i686-up-4GB/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.12-6mdk'
 
  WARNING: Symbol version dump /usr/src/linux-2.6.12-6mdk/Module.symvers
           is missing; modules will have no dependencies and modversions.
 
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/agp3.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.o
/lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.c:57: error: static declaration of '__fgl_agp_try_unsupported' follows non-static declaration
/lib/modules/fglrx/build_mod/2.6.x/agp_backend.h:92: error: previous declaration of '__fgl_agp_try_unsupported' was here
make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.o] Erreur 1
make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Erreur 2
make[1]: Leaving directory `/usr/src/linux-2.6.12-6mdk'
make: *** [kmod_build] Erreur 2
build failed with return value 2
---------------------------------------------------------------
Are the modules Installed correctly ?
---------------------------------------------------------------



Message édité par Profil supprimé le 21-07-2005 à 22:01:23
Reply

Marsh Posté le 22-07-2005 à 00:24:10    

J'ai réussi à faire marcher tout ça avec un seul patch si mes souvenirs sont bons :whistle: .

Code :
  1. diff -urN fglrx-vanilla/agpgart_be.c fglrx/agpgart_be.c
  2. --- fglrx-vanilla/agpgart_be.c 2005-06-12 20:56:04.000000000 +0200
  3. +++ fglrx/agpgart_be.c 2005-06-30 00:16:45.000000000 +0200
  4. @@ -7067,7 +7065,7 @@
  5.    if ( agp_bridge.capndx )
  6.              {
  7.     printk(KERN_INFO PFX "Detected HP ZX1 AGP "
  8. -           "chipset at %s\n", dev->slot_name);
  9. +           "chipset at %s\n", pci_name(dev));
  10.     agp_bridge.type = HP_ZX1;
  11.     agp_bridge.dev = dev;
  12.                 /* fill in the mode register */
  13. @@ -7133,7 +7131,7 @@
  14.                  if( cap_ptr )
  15.                  {
  16.          printk(KERN_INFO PFX "Detected a Via Apollo KT400 chipset in AGP v3 mode "
  17. -               "at %s\n", dev->slot_name);
  18. +               "at %s\n", pci_name(dev));
  19.                      agp_bridge.type = VIA_APOLLO_KT400;
  20.          agp_bridge.dev = dev;
  21. @@ -7153,12 +7151,12 @@
  22.                  if( cap_ptr )
  23.                  {
  24.          printk(KERN_DEBUG PFX "Detected a Via Apollo KT400 chipset in AGP v2 compat mode "
  25. -               "at %s\n", dev->slot_name);
  26. +               "at %s\n", pci_name(dev));
  27.                  }
  28.                  else
  29.                  {
  30.          printk(KERN_ERR PFX "Detected a Via Apollo KT400 chipset but no AGPv2/v3 caps found "
  31. -               "at %s\n", dev->slot_name);
  32. +               "at %s\n", pci_name(dev));
  33.                  }
  34.              }
  35.              break;
  36. @@ -7184,7 +7182,7 @@
  37.                  if( cap_ptr )
  38.                  {
  39.                      printk(KERN_INFO PFX "Detected a Via P4X400 chipset in AGP v3 mode "
  40. -                           "at %s\n", dev->slot_name);
  41. +                           "at %s\n", pci_name(dev));
  42.                      agp_bridge.type = VIA_APOLLO_P4X400;
  43.                      agp_bridge.dev = dev;
  44. @@ -7204,7 +7202,7 @@
  45.                  if( cap_ptr )
  46.                  {
  47.                      printk(KERN_INFO PFX "Detected a Via P4X400 chipset with AGP v3.x caps in AGP v2 compatibility mode "
  48. -                           "at %s\n", dev->slot_name);
  49. +                           "at %s\n", pci_name(dev));
  50.                      agp_bridge.type = VIA_APOLLO_P4X400;
  51.                      agp_bridge.dev = dev;
  52. @@ -7224,12 +7222,12 @@
  53.                  if( cap_ptr )
  54.                  {
  55.                      printk(KERN_DEBUG PFX "Detected a Via P4X400 chipset with AGP v2 caps in true AGP v2 mode "
  56. -                           "at %s\n", dev->slot_name);
  57. +                           "at %s\n", pci_name(dev));
  58.                  }
  59.                  else
  60.                  {
  61.                      printk(KERN_ERR PFX "Detected a Via P4X400 chipset but no AGPv2/v3 caps found "
  62. -                           "at %s\n", dev->slot_name);
  63. +                           "at %s\n", pci_name(dev));
  64.                  }
  65.              }
  66.              break;
  67. diff -urN fglrx-vanilla/firegl_public.c fglrx/firegl_public.c
  68. --- fglrx-vanilla/firegl_public.c 2005-06-12 20:56:30.000000000 +0200
  69. +++ fglrx/firegl_public.c 2005-06-30 00:19:24.000000000 +0200
  70. @@ -167,7 +167,7 @@
  71. #if !defined(__ia64__)
  72. // the macros do use errno variable
  73. -static int errno;
  74. +int errno;
  75. #endif // __ia64__
  76. // int mlock(const void *addr, size_t len);
  77. @@ -347,10 +347,10 @@
  78. #define fops_get(fops)      (fops); MOD_INC_USE_COUNT
  79. #endif // LINUX_VERSION_CODE < 0x020400
  80. -#define DRM_MODULE_GET          (firegl_drm_stub_info_t *)inter_module_get("drm" )
  81. +#define DRM_MODULE_GET          (firegl_drm_stub_info_t *)inter_module_get_request("drm","drm" )
  82. #define DRM_MODULE_PUT          inter_module_put("drm" )
  83. -#define DRM_AGP_MODULE_GET      (drm_agp_t *)inter_module_get("drm_agp" )
  84. +#define DRM_AGP_MODULE_GET      (drm_agp_t *)inter_module_get_request("drm_agp","drm_agp" )
  85. #define DRM_AGP_MODULE_PUT      inter_module_put("drm_agp" )
  86. unsigned long ATI_API_CALL __ke_cpu_to_le32(unsigned long _u)
  87. diff -urN fglrx/agp_backend.h fglrx-vanilla/agp_backend.h
  88. --- fglrx/agp_backend.h 2005-06-12 20:56:04.000000000 +0200
  89. +++ fglrx-vanilla/agp_backend.h 2005-06-30 00:37:34.000000000 +0200
  90. @@ -89,7 +89,7 @@
  91. #define _X(_x) __fgl_##_x
  92. extern int _X(agp_init)(void);
  93. extern void _X(agp_cleanup)(void);
  94. -extern int _X(agp_try_unsupported);
  95. +static int _X(agp_try_unsupported);
  96. #else /* Original AGPGART module */
  97. #define STANDALONE_AGPGART
  98. #define _X(_x) _x
  99. diff -urN fglrx/agpgart_be.c fglrx-vanilla/agpgart_be.c
  100. --- fglrx/agpgart_be.c 2005-06-30 00:38:38.000000000 +0200
  101. +++ fglrx-vanilla/agpgart_be.c 2005-06-30 00:38:02.000000000 +0200
  102. @@ -176,7 +176,7 @@
  103. #ifdef STANDALONE_AGPGART
  104. static int agp_try_unsupported __initdata = 0;
  105. #else /* !STANDALONE_AGPGART */
  106. -int agp_try_unsupported = 0;
  107. +static int agp_try_unsupported = 0;
  108. #endif /* !STANDALONE_AGPGART */
  109. int agp_memory_reserved;


Message édité par toutouye le 22-07-2005 à 00:24:35
Reply

Marsh Posté le 22-07-2005 à 00:53:07    

tu peux m'indiquer la procédure please ?

Reply

Marsh Posté le 22-07-2005 à 01:01:09    

Alors, tu copies ce patch dans un fichier toto.diff, tu vas dans le repertoire /lib/modules/fglrx/build_mod/, et tu mets ce patch dedans. Ensuite de ce repertoire tu tapes "patch -p1 < toto.diff".
Puis tu fais les ./make.sh ./make_install.sh modprobe fglrx et ça devrait rouler ;).

Reply

Marsh Posté le 22-07-2005 à 01:10:29    

ok, c'est le patch du 1er lien du 1er post.
 
PROCEDURE D'INSTALLATION, en root
Installation du rpm fglrx...
rpm --force -iv fglrx......
 

cd /lib/modules/fglrx/build_mod/


wget http://www.openjlab.org/fglrx-linux-2.6.12-gcc4.diff


[  01:08:57  build_mod ] patch -p1 < fglrx-linux-2.6.12-gcc4.diff  
patching file agpgart_be.c
patching file firegl_public.c
patching file agp_backend.h
patching file agpgart_be.c


 
Il faut copier libfglrx_ip.a.GCC3 en libfglrx_ip.a.GCC4 sinon erreur :

[  01:10:10  build_mod ] ./make.sh  
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
doing Makefile based build for kernel 2.6.x and higher
ln: `./libfglrx_ip.a.GCC4': fichier existant.
make: *** [libfglrx_ip.a.GCC4] Erreur 1
build failed with return value 2
 
[  01:10:12  build_mod ] cp libfglrx_ip.a.GCC3 libfglrx_ip.a.GCC4
 
[  01:10:32  build_mod ] ./make.sh  
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.12-6mdk-i686-up-4GB/build SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-2.6.12-6mdk'
 
  WARNING: Symbol version dump /usr/src/linux-2.6.12-6mdk/Module.symvers
           is missing; modules will have no dependencies and modversions.
 
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/agp3.o
/lib/modules/fglrx/build_mod/2.6.x/agp_backend.h:92: warning: '__fgl_agp_try_unsupported' defined but not used
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/nvidia-agp.o
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/agpgart_be.o
/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: In function '__fgl_agp_init':
/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:7613: warning: 'pm_register' is deprecated (declared at include/linux/pm.h:106)
/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c: In function '__fgl_agp_cleanup':
/lib/modules/fglrx/build_mod/2.6.x/agpgart_be.c:7623: warning: 'pm_unregister_all' is deprecated (declared at include/linux/pm.h:116)
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/i7505-agp.o
/lib/modules/fglrx/build_mod/2.6.x/agp_backend.h:92: warning: '__fgl_agp_try_unsupported' defined but not used
  CC [M]  /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
In file included from /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:125:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:56:48: warning: backslash and newline separated by space
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:57:6: warning: backslash and newline separated by space
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.h:58:41: warning: backslash and newline separated by space
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'firegl_stub_putminor':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:508: warning: 'inter_module_put' is deprecated (declared at include/linux/module.h:568)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:510: warning: 'inter_module_unregister' is deprecated (declared at include/linux/module.h:565)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'firegl_stub_register':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:530: warning: 'inter_module_register' is deprecated (declared at include/linux/module.h:564)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:561: warning: 'inter_module_put' is deprecated (declared at include/linux/module.h:568)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__ke_verify_area':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1438: warning: 'verify_area' is deprecated (declared at include/asm/uaccess.h:105)
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: At top level:
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2647: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2865: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2868: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2869: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2870: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2872: warning: initialization from incompatible pointer type
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__ke_smp_call_function':
/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:3454: warning: statement with no effect
  LD [M]  /lib/modules/fglrx/build_mod/2.6.x/fglrx.o
  Building modules, stage 2.
  MODPOST
  CC      /lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
  LD [M]  /lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-2.6.12-6mdk'
build succeeded with return value 0
duplicating results into driver repository...
done.
==============================
You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
==============================


 

[  01:10:38  build_mod ] cd..
 
[  01:12:48  fglrx ] pwd
/lib/modules/fglrx
 
[  01:12:50  fglrx ] chmod +x make
make.2.6.12-6mdk-i686-up-4GB.log  make_install.sh
 
[  01:12:50  fglrx ] chmod +x make_install.sh  
 
[  01:13:00  fglrx ] ./make_install.sh  
- creating symlink
- recreating module dependency list
- trying a sample load of the kernel module
done.


 

[  01:13:10  fglrx ] modprobe fglrx


 
Ca à l'air OK. Lancer fglrxconfig pour la création du xorg.conf.


Message édité par Profil supprimé le 22-07-2005 à 13:52:54
Reply

Marsh Posté le 22-07-2005 à 01:13:39    


 
Effectivement j'avais oublié :whistle: .
Alors, ça fonctionne maintenant ?

Reply

Marsh Posté le 22-07-2005 à 01:54:31    

oui.
 
[  01:52:58  ~ ] fglrxinfo  
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON 9600 Generic
OpenGL version string: 1.3.5140 (X4.3.0-8.14.13)
 
Edit: J'ai regénéré le xorg.conf en choisissant 1400x1050.. car ya pas 1680x1050.
 
résultats meilleurs
[  02:40:35  ~ ] fgl_glxgears  
1786 frames in 5.0 seconds = 357.200 FPS
2237 frames in 5.0 seconds = 447.400 FPS
2305 frames in 5.0 seconds = 461.000 FPS
 
[  02:41:03  ~ ] glxgears  
10627 frames in 5.0 seconds = 2125.400 FPS
11863 frames in 5.0 seconds = 2372.600 FPS
11885 frames in 5.0 seconds = 2377.000 FPS
 
mais bon, je veux etre en 1680x1050 ...je ne me souviens plus comment j'y étais parvenu...
et je n'ai plus le support complet du touchpad non plus (le scroll horizontal et vertical)
 
Edit2: c'est bon pour la résolution, en passant par le Mandrake Control Center, il m'a édité le fichier xorg.conf, et a mis 1680x1050. Par contre il m'avait mis aussi "monitor1" alors au lancement de "dm" ca a merdé. J'ai renommé en "monitor0", rebooté car c'était bloqué... et c'est passé.
Pour les perfs, c'est comme ce qu'il y a juste au dessus.
 
Sinon pour le patch des drivers, ca a bien marché :) Le top serait que le driver ATI marche avec dkms...


Message édité par Profil supprimé le 22-07-2005 à 13:53:47
Reply

Marsh Posté le 22-07-2005 à 14:00:38    

C'est une très bonne nouvelle, je vais essayuer dès que j'ai le temps.

Reply

Marsh Posté le 22-07-2005 à 14:00:38   

Reply

Marsh Posté le 22-07-2005 à 14:02:31    

oui, par contre, j'ai un soucis maintenant. Dès que je quitte ma session, donc au moment de retourner sur GDM, le PC se bloque, voilà l'affichage :
 
http://img293.imageshack.us/img293/2232/pict01174bm.jpg
 
Alors qu'au démarrage du PC, GDM se lance bien...
C'est à chaque déconnexion de la session. Obligé d'éteindre au bouton PC.
Pareil avec 'Entrance' le gestionnaire de login de E17.
Ensuite, si au démarrage du PC, quand je suis devant le gestionnaire de login, je bascule en console (CTRL+ALT+F1) et que je fais un 'service dm stop' OK, puis le 'service dm start' j'ai droit à un écran noir avec un petit tiret blanc en à haut à gauche, et c'est tout : bloqué... allez reboot.
 :cry:  :cry:  :cry:  :cry:  
 
Et comment retrouver toutes les fonctionnalités du touchpad ? J'avais copié les propriétés du touchpad de l'ancien xorg.conf dans celui-là mais ca ne fait rien apparemment..
Dans mon ancien xorg.conf j'avais ca, mais apparemment il le prend plus en compte là..
 
Section "InputDevice"
    Identifier "SynapticsMouse1"
    Driver "synaptics"
    Option "Protocol" "auto-dev"
    Option "Device" "/dev/input/mice"
    Option "EdgeMotionMinSpeed" "200"
    Option "MinSpeed" "0.8"
    Option "MaxSpeed" "1.00"
    Option "BottomEdge" "650"
    Option "EdgeMotionMaxSpeed" "200"
    Option "UpDownScrolling" "0"
    Option "CircScrollTrigger" "2"
    Option "SHMConfig" "on"
    Option "EmulateMidButtonTime" "75"
    Option "CircScrollDelta" "0.1"
    Option "LeftEdge" "120"
    Option "FingerLow" "14"
    Option "HorizScrollDelta" "20"
    Option "MaxTapMove" "110"
    Option "MaxTapTime" "180"
    Option "FingerHigh" "15"
    Option "VertScrollDelta" "20"
    Option "CircularScrolling" "1"
    Option "AccelFactor" "0.015"
    Option "RightEdge" "830"
    Option "TopEdge" "120"
EndSection


Message édité par Profil supprimé le 23-07-2005 à 00:41:29
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed