NVIDIA: Se produjo una excepción de GPU durante el inicio del servidor X

NVIDIA: Se produjo una excepción de GPU durante el inicio del servidor X

Mi GPU es la GTX870M. Hice una instalación nueva de Ubuntu 18.04. Todo lo que hice fue:

sudo apt-get update
sudo apt-get upgrade
sudo ubuntu-drivers autoinstall
nvidia-xconfig
reboot

Instaló el controlador nvidia-390. Ahora, cada vez que intento iniciar el servidor X, startxfalla. Todavía puedo usar Wayland. Esto es lo que probé (en modo de recuperación):

startx

Producción:

X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-140-generic x86_64 Ubuntu
Current Operating System: Linux <censored>-PC 4.18.0-22-generic #23~18.04.1-Ubuntu SMP Thu Jun 6 08:37:25 UTC 2019 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-22-generic root=UUID=0d1d9304-4cd6-41f6-80b2-3562578a252e ro recovery nomodeset
Build Date: 27 November 2018  05:27:12PM
xorg-server-hwe-18.04 2:1.20.1-3ubuntu2.1~18.04.1 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.34.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Jun 22 13:47:29 2019
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) NVIDIA: A GPU exception occurred during X server initialization(EE) 
(EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

/var/log/Xorg.0.log:https://pastebin.com/ygxRKPpg

En estos registros, 2 cosas me llamaron la atención:

[   119.994] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[   119.994] (WW) NVIDIA(0): Unable to get display device for DPI computation.

y

[   119.994] (--) NVIDIA(0): Memory: 3145728 kBytes
[   119.994] (II) NVIDIA: Using 6144.00 MB of virtual memory for indirect memory

¿Parece que mi dispositivo de visualización no se detecta correctamente y/o que el servidor X está intentando utilizar demasiada memoria?

dmesgproducción:https://pastebin.com/fcYMPrUB

Partes relevantes:

[  120.275346] NVRM: GPU at PCI:0000:01:00: GPU-c588f20e-6b26-3352-5b81-666db3c970a2
[  120.275348] NVRM: Xid (PCI:0000:01:00): 44, Ch 00000000, engmask 00000101, intr 10000000
[  120.793329] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000008, engmask 00000111, intr 10000000

Comprobé lo que significaba Xid:https://docs.nvidia.com/deploy/xid-errors/index.html

31 GPU memory page fault

44 Graphics Engine fault during context switch

nvidia-smiproducción:

Sat Jun 22 14:23:52 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116                Driver Version: 390.116                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 870M    Off  | 00000000:01:00.0 N/A |                  N/A |
| N/A   83C    P0    N/A /  N/A |      0MiB /  3018MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Se agradece cualquier ayuda, gracias.

Respuesta1

Parece que su controlador no puede encontrar la resolución del monitor. Es posible que tengas que configurarlo manualmente. ¿Has probado esto?

¿Cómo configuro la resolución correcta del monitor con los controladores Nvidia para un monitor que no envía EDID?

Respuesta2

Así es como me dmesgveo:

$ dmesg | grep -i nvidia
[    1.517472] nvidia: loading out-of-tree module taints kernel.
[    1.517477] nvidia: module license 'NVIDIA' taints kernel.
[    1.520410] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    1.524609] nvidia-nvlink: Nvlink Core is being initialized, major device number 242
[    1.524802] nvidia 0000:01:00.0: enabling device (0006 -> 0007)
[    1.524981] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  384.130  Wed Mar 21 03:37:26 PDT 2018 (using threaded interrupts)
[    1.530574] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  384.130  Wed Mar 21 02:59:49 PDT 2018
[    1.531818] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    1.531820] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
[    4.318800] nvidia-uvm: Loaded the UVM driver in 8 mode, major device number 240
[    4.864567] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input9
[    7.517965] nvidia-modeset: Allocated GPU:0 (GPU-30fab9bc-fe6f-ec05-e8e6-c151a1a96121) @ PCI:0000:01:00.0

Tienes dmesgdos líneas adicionales:

[   16.317773] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[   16.504557] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input13

Te dmesgfalta una línea:

[    7.517965] nvidia-modeset: Allocated GPU:0 (GPU-30fab9bc-fe6f-ec05-e8e6-c151a1a96121) @ PCI:0000:01:00.0

Mi sistema es un Skylake 6700HQ con nVidia GTX 970M, por lo que es bastante parecido al tuyo. He estado usando el controlador 384.130con gran éxito desde el primer día y nunca lo cambié. Solo tuve una peculiaridad: Windows enciende el sonido en la tarjeta nVidia, pero Linux no. Entonces tuve que aplicar un parche llamado nvhdapara poder obtener sonido HDMI en mi televisor.

información relacionada