le ven 02-11-2001 at 11:57 Jean-Michel Merliot a écrit :
> Le Mardi 30 Octobre 2001 11:25, vous avez écrit :
> > [ epargantion du message ;) ]
> >
> > > > Bonjour à tous,
> > > >
> > > > je viens d'upgrader ma machine en y mettant 1.5 Go de RAM.
> > > >
> > > > J'ai recompilé le kernel pour qu'il prenne en compte la mémoire au delà
> > > > d'un giga ( option 4Gb ).
> > > >
> > > > Tout va bien, la mémoire est reconnue, je n'ai qu'un ( gros ) problème,
> > > > je n'arrive pas à faire marcher ma carte graphique sous X.
> >
> > *
> 
> -- Brit' mode on.
> Cool man, don't bark at me like a f????g pit'
> -- Brit' mode off.
> 
> Ah bon, je pensais avoir été clair, mais ce n'est apparemment pas le cas...
> 
> Donc j'ai une Gforce 2 MX qui fonctionne parfaitement bien avec le driver 
> NVIDIA et 768 Mo de RAM.
> 
> Avec 1.5 Go par contre, XFree 4 se plante.
> 
> J'ai un peu cherché ce qui se passait et le problème se trouve être un appel 
> à get_vm_area dans le driver au niveau de l'implémentation du mmap. Plus 
> précisément, le driver essaie de mapper le frame buffer dans le driver en 
> mode ( je ne sait pas siu cette terminologie est correcte ) kernel, au lieu 
> de faire comme Xfree86 le fait et de se contenter de faire un mmap 
> directement en user mode sur /dev/mem, ce qui peut sembler "quick'n'dirty" 
> mais qui a le mérite de ne pas poser le problème de map mémoire qui se 
> produit dans le driver ( j'ai trouvé tout ça en étudiant le driver NVIDIA et 
> en cherchant sue le net, j'ai trouvé un certain nombre d'info sur vmalloc 
> etc... ).
> 
> Ayant été un peu malade ces derniers temps ( si on vous parle de la gastro de 
> la saison, fuyez, courez, volez, ou preparez vous à gerber.... :-(  ), je 
> n'ai pas pu poursuivre dans ce forum....
> 
> Bref ma conclusion est que le problème vient bien du fait que mapper le frame 
> buffer en kernel mode est ce qu'il ne faut pas faire, vu que l'espace 
> disponible est très restreint et en fait il n'y a pas de place contigüe en 
> mémoire suffisamment grande pour que le kernel puisse mapper le frame buffer.
> 
> Qui aurait cru qu'on en viendrait si vite à râler à cause de l'espace 
> d'adressage restreint ( 32 bits !! ) des x86.... ;-]
> 
> Bref, le problème se trouve dans le driver NVIDIA, mais je n'ai pas exploré 
> le moyen d'y remédier ( Je ne sais pas si il y a moyen de mmap'er directement 
> le frame buffer dans le driver, plutôt que de faire un ioremap comme c'est 
> fait pour le moment. )

Il serait intéressant de faire part de tes conclusions à NVIDIA ( en
anglais de préférence ) afin qu'eux même corrige ce problème par la
suite.

> J'avoue également que mes capacité en matière de driver ne sont au mieux 
> qu'embryonnaires et en tout cas définitivement heuristiques, et donc 
> relativement inefficaces.
> 
> Cela dit, le driver non acceléré fourni avec XFree86 fonctionne parfaitement.
> 
> Voilà, si quelqu'un au fait des arcanes du kernel voit un moyen de remédier à 
> ce ( triste ) état des choses, je peux même bricoler ça directement, j'aurait 
> juste besoin que l'on me mette sur la voie...

hum, Alan Cox a déjà préciser qu'il en avait m.... de répondre pour des
bugs des drivers nvidia. Tu peux poster la question sur la ML cooker
avec un CC à quintela.
 

-- 
http://perso.wanadoo.fr/linux_wizard/index.html 
-
Une femme se soucie de son avenir jusqu'au jour ou elle se marie.
Un homme se soucie de son avenir a partir du jour ou il se marie.
        - Lucky Luke par Morris


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à