# [SOLVED] XDM crash dopo aggiornamento nvidia-drivers

## guerro

Buongiorno a tutti, qualcuno sa darmi una spiegazione di quanto succede:

- ho un kernel 5.4.109 amd64 (il 5.10.27 mi da problemi di EFI STUB ecc...)

- ho installato plymouth

- utilizzo DRACUT per creare una initram-fs per il bootsplash di plymouth

- ho aggiornato nvidia-drivers da 460.39-r1 a 460.56

Quando riavvio il PC xdm va in crash con i seguenti errori loggati nel file Xorg.0.log

```

X.Org X Server 1.20.10

X Protocol Version 11, Revision 0

[    27.010] Build Operating System: Linux 5.4.97-gentoo x86_64 Gentoo

[    27.010] Current Operating System: Linux cyber-pc 5.4.109-gentoo #2 SMP PREEMPT Sat Apr 3 11:05:28 CEST 2021 x86_64

[    27.010] Kernel command line: root=PARTUUID=E57A42C9-533D-4C27-9029-11BF533D0247 rootfstype=ext4 CONSOLE=/dev/tty1 quiet splash video=efifb:3440x1440-32,mtrr:3,ywrap

[    27.010] Build Date: 12 March 2021  08:18:52AM

[    27.010]  

[    27.010] Current version of pixman: 0.40.0

[    27.011]    Before reporting problems, check http://wiki.x.org

   to make sure that you have the latest version.

[    27.011] Markers: (--) probed, (**) from config file, (==) default setting,

   (++) from command line, (!!) notice, (II) informational,

   (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

[    27.011] (==) Log file: "/home/claudio/.local/share/xorg/Xorg.0.log", Time: Sun Apr  4 09:04:29 2021

[    27.011] (==) Using config directory: "/etc/X11/xorg.conf.d"

[    27.011] (==) Using system config directory "/usr/share/X11/xorg.conf.d"

[    27.012] (==) No Layout section.  Using the first Screen section.

[    27.012] (==) No screen section available. Using defaults.

[    27.012] (**) |-->Screen "Default Screen Section" (0)

[    27.012] (**) |   |-->Monitor "<default monitor>"

[    27.013] (==) No device specified for screen "Default Screen Section".

   Using the first device section listed.

[    27.013] (**) |   |-->Device "Gigabyte GeForce GTX 1080 G1"

[    27.013] (==) No monitor specified for screen "Default Screen Section".

   Using a default monitor configuration.

[    27.013] (==) Automatically adding devices

[    27.013] (==) Automatically enabling devices

[    27.013] (==) Automatically adding GPU devices

[    27.013] (==) Max clients allowed: 256, resource mask: 0x1fffff

[    27.013] (WW) The directory "/usr/share/fonts/TTF/" does not exist.

[    27.013]    Entry deleted from font path.

[    27.013] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".

[    27.013]    Entry deleted from font path.

[    27.013]    (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").

[    27.013] (==) FontPath set to:

   /usr/share/fonts/misc/,

   /usr/share/fonts/OTF/,

   /usr/share/fonts/Type1/,

   /usr/share/fonts/100dpi/

[    27.013] (==) ModulePath set to "/usr/lib64/xorg/modules"

[    27.013] (**) Extension "Composite" is enabled

[    27.013] (II) The server relies on udev to provide the list of input devices.

   If no devices become available, reconfigure udev or disable AutoAddDevices.

[    27.013] (II) Loader magic: 0x55af89613d00

[    27.013] (II) Module ABI versions:

[    27.013]    X.Org ANSI C Emulation: 0.4

[    27.013]    X.Org Video Driver: 24.1

[    27.013]    X.Org XInput driver : 24.1

[    27.013]    X.Org Server Extension : 10.0

[    27.015] (++) using VT number 1

[    27.018] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_33

[    27.019] (II) xfree86: Adding drm device (/dev/dri/card0)

[    27.020] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 10 paused 0

[    27.024] (--) PCI:*(1@0:0:0) 10de:1b80:1458:3702 rev 161, Mem @ 0xde000000/16777216, 0xc0000000/268435456, 0xd0000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/131072

[    27.024] (II) LoadModule: "glx"

[    27.024] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so

[    27.026] (II) Module glx: vendor="X.Org Foundation"

[    27.026]    compiled for 1.20.10, module version = 1.0.0

[    27.026]    ABI class: X.Org Server Extension, version 10.0

[    27.026] (II) LoadModule: "nvidia"

[    27.026] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so

[    27.026] (II) Module nvidia: vendor="NVIDIA Corporation"

[    27.027]    compiled for 1.6.99.901, module version = 1.0.0

[    27.027]    Module class: X.Org Video Driver

[    27.027] (II) NVIDIA dlloader X Driver  460.56  Tue Feb 23 23:25:58 UTC 2021

[    27.027] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs

[    27.027] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)

[    27.027] (II) systemd-logind: releasing fd for 226:0

[    27.028] (II) Loading sub module "fb"

[    27.028] (II) LoadModule: "fb"

[    27.028] (II) Loading /usr/lib64/xorg/modules/libfb.so

[    27.028] (II) Module fb: vendor="X.Org Foundation"

[    27.028]    compiled for 1.20.10, module version = 1.0.0

[    27.028]    ABI class: X.Org ANSI C Emulation, version 0.4

[    27.028] (II) Loading sub module "wfb"

[    27.028] (II) LoadModule: "wfb"

[    27.028] (II) Loading /usr/lib64/xorg/modules/libwfb.so

[    27.029] (II) Module wfb: vendor="X.Org Foundation"

[    27.029]    compiled for 1.20.10, module version = 1.0.0

[    27.029]    ABI class: X.Org ANSI C Emulation, version 0.4

[    27.029] (II) Loading sub module "ramdac"

[    27.029] (II) LoadModule: "ramdac"

[    27.029] (II) Module "ramdac" already built-in

[    27.031] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the

[    27.031] (EE) NVIDIA:     system's kernel log for additional error messages and

[    27.031] (EE) NVIDIA:     consult the NVIDIA README for details.

[    27.032] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the

[    27.032] (EE) NVIDIA:     system's kernel log for additional error messages and

[    27.032] (EE) NVIDIA:     consult the NVIDIA README for details.

[    27.033] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the

[    27.033] (EE) NVIDIA:     system's kernel log for additional error messages and

[    27.033] (EE) NVIDIA:     consult the NVIDIA README for details.

[    27.034] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the

[    27.034] (EE) NVIDIA:     system's kernel log for additional error messages and

[    27.034] (EE) NVIDIA:     consult the NVIDIA README for details.

[    27.034] (EE) No devices detected.

[    27.034] (EE) 

Fatal server error:

[    27.034] (EE) no screens found(EE) 

[    27.034] (EE) 

Please consult the The X.Org Foundation support 

    at http://wiki.x.org

 for help. 

[    27.034] (EE) Please also check the log file at "/home/claudio/.local/share/xorg/Xorg.0.log" for additional information.

[    27.034] (EE) 

[    27.038] (EE) Server terminated with error (1). Closing log file.

```

Ho il sospetto che dopo aver aggiornato i driver nvidia si debba rigenerare anche la initramfs con DRACUT.....   Qualcuno può darmi conferma di questo o darmi qualche altra spiegazione?

Per ora sono ritornato alla versione precedente di Nvidia e xdm ha ripreso a funzionare...

Grazie a tutti

----------

## fedeliallalinea

Non penso che centri qualcosa l'initramfs il kernel e' partito quindi e' ok, quello che sbaglia e far partire X.

```
[    27.031] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the

[    27.031] (EE) NVIDIA:     system's kernel log for additional error messages and

[    27.031] (EE) NVIDIA:     consult the NVIDIA README for details. 
```

Hai provato a vedere cosa dice dmesg al riguardo?

----------

## guerro

Putroppo dmesg è stato sovrascritto dal successivo riavvio con i vecchi driver, ma spulciando il messages ho trovato questo

```

Apr  4 09:00:41 cyber-pc kernel: NVRM: API mismatch: the client has the version 460.56, but\x0aNVRM: this kernel module has the version 460.39.  Please\x0aNVRM: make sure that this kernel modu

le and all NVIDIA driver\x0aNVRM: components have the same version.

Apr  4 09:00:41 cyber-pc kernel: NVRM: API mismatch: the client has the version 460.56, but\x0aNVRM: this kernel module has the version 460.39.  Please\x0aNVRM: make sure that this kernel modu

le and all NVIDIA driver\x0aNVRM: components have the same version.

Apr  4 09:00:41 cyber-pc kernel: NVRM: API mismatch: the client has the version 460.56, but\x0aNVRM: this kernel module has the version 460.39.  Please\x0aNVRM: make sure that this kernel modu

le and all NVIDIA driver\x0aNVRM: components have the same version.

```

@fedeliallalinea dici che potrebbe essere questo??

----------

## fedeliallalinea

Cosa ritornano i comandi uname -r e eselect kernel list?

----------

## guerro

il kernel è 5.4.109

e l'elenco dei kernel è il seguente:

```

  [1]   linux-5.4.109-gentoo *

```

come detto non uso il 5.10.27 perchè mi da problemi nell avvio e nel riconoscimento di alcune periferiche USB...   (cosa su cui dovrò indagare con calma)

----------

## sabayonino

quando aggiorni i drivers nvidia , devi ricompilarli per la versione del kernel in uso in modo che venagno inseriti in lib/modules/<versione-kernel> 

questo dipende a quale versione del kernel  punta  il link /usr/src/linux

i comandi forniti da fedeliallalinea dovrebbero aiutarti in ciò

se si aggiorna il kernel

```
# emerge @module-rebuild
```

dovrebbe aiutare per i moduli di terze parti (nvidia,virtualbox etc)

se uilizzi gentoo-sources , l'useflag symlink abilitata , gestirà il link da solo senza il tuo intervento :

```
equery h symlink

 * Searching for USE flag symlink ... 

[IP-] [  ] app-arch/pbzip2-1.1.12:0

[IP-] [  ] app-arch/pigz-2.4-r1:0

[IP-] [  ] sys-kernel/gentoo-sources-5.10.27:5.10.27
```

PS : Buona Pasqua a tutto il forum

----------

## guerro

C’è solo un piccolo particolare: NON HO AGGIORNATO IL KERNEL, solo i driver nvidia, è questo che è strano: quando si aggiornano i driver, in automatico vengono compilati i moduli per il kernel corrente.

Inoltre ti confermo che quando aggiornato il kernel faccio sempre “emerge @module-rebuild”.

----------

## sabayonino

 *Quote:*   

> quando si aggiornano i driver, in automatico vengono compilati i moduli per il kernel corrente

 

No. vengono compilati per il kernel a cui punta il symlink dei gentoo-sources.

se durante un aggiornamento  vengono installati i sources (con la use symlink attivata)  , i drivers vengono compilati per la versione appena scaricata e non quella in uso (perchè cambia il link che punta alle sorgenti)

```

uname -r

5.4.105-gentoo-dist

eselect kernel list

Available kernel symlink targets:

  [1]   linux-5.4.105-gentoo-dist *

  [2]   linux-5.10.27-gentoo

  [3]   linux-5.11.11-gentoo-dist

gentoo-16 saba # eselect kernel set 3

gentoo-16 saba # emerge @module-rebuild

Calculating dependencies... done!

[ebuild   R    ] app-emulation/virtualbox-modules-6.1.16-r1 

[ebuild     U  ] app-emulation/virtualbox-guest-additions-6.1.18 [6.1.16-r1]

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

app-emulation/virtualbox-modules:0

  (app-emulation/virtualbox-modules-6.1.18:0/6.1::gentoo, ebuild scheduled for merge) USE="(-dist-kernel) -pax_kernel" conflicts with

    ~app-emulation/virtualbox-modules-6.1.16 required by (app-emulation/virtualbox-6.1.16-r1:0/6.1::gentoo, installed) USE="alsa opengl opus pam qt5 sdk udev -debug -doc -dtrace -headless -java (-libressl) -lvm -pax_kernel -pulseaudio -python -vboxwebsrv -vnc" PYTHON_SINGLE_TARGET="python3_8 -python3_7"

    ^                                 ^^^^^^

>>> Verifying ebuild manifests

>>> Emerging (1 of 2) app-emulation/virtualbox-modules-6.1.16-r1::gentoo

 * Fetching files in the background.

 * To view fetch progress, run in another terminal:

 * tail -f /var/log/emerge-fetch.log

 * vbox-kernel-module-src-6.1.16.tar.xz BLAKE2B SHA512 size ;-) ...                                                                                                                                         [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found sources for kernel version:

 *     5.11.11-gentoo-dist

 * Checking for suitable kernel configuration options...                            
```

 *Quote:*   

> * Found sources for kernel version:
> 
>  *     5.11.11-gentoo-dist

 

ma è in esecuzione il 5.4.105.

cosa ritorna 

```
# find /lib/modules -type f -name 'nvidia.ko'
```

o fai prima a ricompilarli ...

----------

## guerro

 *sabayonino wrote:*   

>  *Quote:*   quando si aggiornano i driver, in automatico vengono compilati i moduli per il kernel corrente 
> 
> se durante un aggiornamento  vengono installati i sources (con la use symlink attivata)  , i drivers vengono compilati per la versione appena scaricata e non quella in uso (perchè cambia il link che punta alle sorgenti)
> 
> 

 

L'aggiornamento prevede solo il pacchetto nvidia-drivers, null'altro...     ....il kernel rimane quello corrente ossia 5.4.109 che è puntanto dal symlink.

Comunque riprovo ad aggiornare i pacchetto nvidia-drivers e vedo cosa installa e se sono presenti i moduli per il kernel.

----------

## guerro

RISOLTO!!!!

CONFERMATO IL SOSPETTO!!!

Quando si aggiornano i driver nvidia, E' NECESSARIO ricompilare l'INITRAM con DRACUT per inglobare i nuovi driver nell'immagine che viene caricata, in quanto DRACUT inserisce i driver nvidia nell'immagine di boot e quindi quando i driver hanno diverse versioni vanno in conflitto. (nell'initramfs avevo i vecchi driver che essendo caricati per primi al boot, impediscono il caricamento dei nuovi da parte di XDM).

----------

