Modprobe carrega driver nvidia mas o xorg.conf tem erros

1

Eu recentemente atualizei para 12.10. No processo, meu laptop, que é um W520 em um dock, conectado a 2 monitores externos (os mesmos monitores .. Dell U2400). Eu finalmente consegui o driver nvidia-experimental-310 trabalhando com os dois monitores. Tudo foi glorioso por algumas semanas, e então a coisa decidiu atualizar o kernel e eu não percebi que fiz isso quando pedi para fazer o upgrade do apt-get.

Depois de perceber o meu erro, voltei e tentei reinstalar o driver nvidia, pois supus que ele precisava ser construído novamente contra o kernel atual. Eu não consegui usar os drivers nvidia-current ou nvidia-experimental-310 funcionando (eles inicializaram em uma tela preta com um cursor piscando ou, no caso do driver 310, não permitiam que eu ativasse minha segunda tela) .

Consegui colocar o driver nvidia-experimental-304 funcionando, no entanto. Então, após algumas tentativas e erros, atualizei meu arquivo xorg.conf e reiniciei. Agora, no entanto, recebo o seguinte erro no meu arquivo Xorg.0.log:

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

Mas, quando vou a um terminal virtual, e executo o seguinte:

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

Tudo agora funciona como esperado, exceto que o seguinte ainda aparece no meu arquivo Xorg.0.log, mesmo quando o X é iniciado como eu esperaria:

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

Alguém pode me dizer o que estou fazendo de forma incorreta? Eu gostaria de obter o módulo para carregar automaticamente na inicialização, para que eu possa inicializar em X diretamente, sem ter que modprobe manualmente o módulo.

Meu arquivo xorg.conf segue.

Editar

Se eu alterar o driver "nvidia-experimental-304" para "nvidia" no meu arquivo xorg.conf, o sistema será executado no modo de baixa gráfica ao reinicializar, com os seguintes erros no arquivo 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 agora mostra:

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
    
por jwir3 03.12.2012 / 20:30

2 respostas

2

Seu driver deve ser apenas nvidia.

  

Driver "nvidia"

X não carrega módulos do kernel. Carrega módulos X, que chamam um dispositivo. Quando esse dispositivo não está presente, o kernel carrega o módulo. Referência aqui , proteja seus olhos.

Então, definindo Driver "nvidia-experimental-304" o seu carregamento de um módulo X que não existe e ele não pode dizer qual dispositivo de kernel ele deve carregar e então o kernel não tem idéia de qual módulo carregar. A razão pela qual isso funciona se você modprobe primeiro é porque o módulo está carregado. Eu suspeito que "algumas" nvidia coisas não funcionaria dessa forma embora. (ou seja, o módulo está carregado, mas o driver x não é)

Aqui está uma seção válida do dispositivo, por favor, desculpe a formatação.

  

Seção "Dispositivo"
    Identificador "Device1"
    Driver "nvidia"
    Nome do fornecedor "NVIDIA Corporation"
    Nome da placa "GeForce GT 330M"
    BusID "PCI: 1: 0: 0"
    Tela 1
  EndSection

    
por coteyr 03.12.2012 / 20:45
2

Acontece que depois de toda a reconfiguração, o que era realmente necessário era uma reinstalação do lightdm. Os seguintes comandos fizeram o truque (nota: eu tinha a fonte e os cabeçalhos do Linux, mas para maior clareza, estou adicionando as etapas aqui caso alguém mais tenha o mesmo problema e possa não tê-las instalado):

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

Quando iniciei, isso funcionou bem para mim.

    
por jwir3 04.12.2012 / 01:41