web-dev-qa-db-fra.com

Modprobe charge le pilote nvidia mais xorg.conf contient des erreurs

J'ai récemment mis à niveau vers 12.10. Dans le processus, mon ordinateur portable, qui est un W520 dans une station d'accueil, connecté à 2 moniteurs externes (les mêmes moniteurs .. Dell U2400). J'ai finalement réussi à faire fonctionner le pilote nvidia-experimental-310 avec les deux moniteurs. Tout a été glorieux pendant quelques semaines, puis la chose a décidé de mettre à niveau le noyau et je ne savais pas que c'était le cas lorsque je lui ai demandé de faire la mise à niveau apt-get.

Après avoir réalisé mon erreur, je suis retourné et j'ai essayé de réinstaller le pilote nvidia, car je supposais qu'il devait être construit à nouveau avec le noyau actuel. Je n'ai pas pu faire fonctionner les pilotes nvidia-current ou nvidia-experimental-310 (ils ont démarré sur un écran noir avec un curseur clignotant ou, dans le cas du pilote 310, ne me permettaient pas d'activer mon deuxième écran) .

J'ai réussi à faire fonctionner le pilote nvidia-experimental-304. Donc, après quelques essais et erreurs, j'ai mis à jour mon fichier xorg.conf et redémarré. Maintenant, cependant, j'obtiens l'erreur suivante dans mon fichier Xorg.0.log:

[    16.023] (EE) Failed to load module "nvidia-experimental-304" (module does not exist, 0)

Mais, lorsque je vais sur un terminal virtuel et que j'exécute ce qui suit:

# modprobe nvidia-experimental-304
# /etc/init.d/lightdm restart

Tout fonctionne maintenant comme prévu, sauf que ce qui suit apparaît toujours dans mon fichier Xorg.0.log, même lorsque X démarre comme je m'y attendais:

[    16.023] (EE) Failed to load module "nvidia-experimental-304" (module does not exist, 0)

Quelqu'un peut-il me dire ce que je fais mal? J'aimerais que le module se charge automatiquement au démarrage, afin que je puisse démarrer directement dans X, sans avoir à modprobe manuellement le module.

Mon fichier xorg.conf suit.

Modifier

Si je change le pilote "nvidia-experimental-304" en "nvidia" dans mon fichier xorg.conf, le système s'exécute en mode graphique faible au redémarrage, avec les erreurs suivantes dans le fichier xorg.conf:

[    17.147] (**) NVIDIA(0): Enabling 2D acceleration
[    17.163] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
[    17.163] (EE) NVIDIA(0):     system's kernel log for additional error messages and
[    17.163] (EE) NVIDIA(0):     consult the NVIDIA README for details.
[    17.163] (EE) NVIDIA(0):  *** Aborting ***
[    17.163] (EE) NVIDIA(0): Failing initialization of X screen 0

syslog affiche maintenant:

Dec  3 12:55:03 corellia kernel: [   33.405620] e1000e 0000:00:19.0: irq 50 for MSI/MSI-X
Dec  3 12:55:03 corellia kernel: [   33.431116] nvidia: module license 'NVIDIA' taints kernel.
Dec  3 12:55:03 corellia kernel: [   33.431118] Disabling lock debugging due to kernel taint

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 304.64  (buildd@papaya)  Fri Nov  9 10:49:08 UTC 2012

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Dell U2410"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia-experimental-304"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro 1000M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-5"
    Option         "metamodes" "DFP-5: nvidia-auto-select +1920+0, DFP-6: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection
1
jwir3

Votre pilote devrait être nvidia.

Pilote "nvidia"

X ne charge pas les modules du noyau. Il charge X modules, qui appellent un périphérique. Lorsque ce périphérique n'est pas présent, le noyau charge le module. Référence ici , gardez vos yeux.

Ainsi, en définissant le pilote "nvidia-experimental-304", vous chargez un module X qui n'existe pas et il ne peut pas dire quel périphérique du noyau il doit charger, puis le noyau n'a aucune idée du module à charger. La raison pour laquelle cela fonctionne si vous modprobe d'abord est parce que le module est chargé. Je soupçonne que "certaines" choses nvidia ne fonctionneraient pas de cette façon. (c'est-à-dire que le module est chargé mais pas le pilote x)

Voici une section de périphérique valide, veuillez excuser le formatage.

Section "Appareil"
Identifiant "Device1"
Pilote "nvidia"
Nom du fournisseur "NVIDIA Corporation"
BoardName "GeForce GT 330M"
BusID "PCI: 1: 0: 0"
Écran 1
FinSection

2
coteyr

Il s'avère qu'après toute la reconfiguration, ce qui était réellement nécessaire était une réinstallation de lightdm. Les commandes suivantes ont fait l'affaire (remarque: j'avais la source Linux et les en-têtes, mais pour plus de clarté, j'ajoute les étapes ici au cas où quelqu'un d'autre aurait le même problème et pourrait ne pas les avoir installés):

Sudo apt-get remove --purge nvidia-experimental-304 nvidia-settings-experimental-304
Sudo apt-get install linux-source linux-headers-($uname -r)
Sudo apt-get install nvidia-experimental-304 nvidia-settings-experimental-304
Sudo apt-get install --reinstall lightdm

Quand j'ai démarré, cela a bien fonctionné pour moi.

2
jwir3