# [RISOLTO] Problemi Nvidia

## SpakkaByTe

Buonasera a tutti vorrei provare/tentare di installare i driver nvidia ma non capisco come fare

```

uname -a

Linux Ci3m330NeHalem 4.8.15-1 #1 SMP Thu Jan 19 18:06:27 CET 2017 x86_64 Intel(R) Core(TM) i3 CPU M 330 @ 2.13GHz GenuineIntel GNU/Linux

```

```

lspci | grep -i VGA

02:00.0 VGA compatible controller: NVIDIA Corporation GT218M [GeForce 310M] (rev a2)

```

```

glxinfo | grep render

direct rendering: Yes

    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 

    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 

Extended renderer info (GLX_MESA_query_renderer):

OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits)

    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 

    GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_packed_depth_stencil, 

    GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, 

    GL_NV_blend_square, GL_NV_conditional_render, GL_NV_depth_clamp, 

    GL_OES_fbo_render_mipmap, GL_OES_get_program_binary, GL_OES_mapbuffer, 

```

```

lsmod |grep nouveau

nouveau              1548288  3

mxm_wmi                16384  1 nouveau

wmi                    16384  2 mxm_wmi,nouveau

ttm                   102400  1 nouveau

drm_kms_helper        159744  1 nouveau

drm                   364544  6 nouveau,ttm,drm_kms_helper

i2c_algo_bit           16384  1 nouveau

video                  40960  2 nouveau,samsung_laptop

button                 16384  1 nouveau

Ci3m330NeHalem modules.d # lsmod |grep intel

btintel                16384  1 btusb

bluetooth             548864  5 btrtl,btintel,btbcm,btusb

intel_powerclamp       16384  0

kvm_intel             188416  0

kvm                   585728  1 kvm_intel

crc32c_intel           24576  0

snd_hda_intel          36864  2

snd_hda_codec         135168  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek

snd_hda_core           81920  5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek

snd_pcm               114688  4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi

snd                    86016  14 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_seq_device,snd_hda_codec_realtek,snd_pcm

```

spero di non aver fatto casino ho cercato di mettere piu info possibili!Last edited by SpakkaByTe on Mon Jan 23, 2017 4:03 pm; edited 1 time in total

----------

## fedeliallalinea

Per prima cosa benvenuto SpakkaByTe.

Allora per installare nvidia per prima cosa devi mettere in blacklist i driver nouveau (o non selezionarli dal kernel):

```
# echo "nouveau" >> /etc/modprobe.d/nouveau.conf
```

Una volta fatto questo devi dire a xorg di usare nvidia e questo lo fai creando il file /etc/X11/xorg.conf.d/nvidia.conf

```
# cat > /etc/X11/xorg.conf.d/01-nvidia.conf << EOF

Section "Device"

  Identifier   "Device0"

  Driver       "nvidia"

  Option       "NoLogo" "True"

EndSection

EOF
```

A questo punto assicurati che opengl/cl sia settato su nvidia cons

```
# eselect opengl set nvidia

# eselect opencl set nvidia
```

Ora non ti rimane che riavviare l'interfaccia grafica con /etc/init.d/xdm restart

Esiste anche la possibilita' di avere sia nvidia che nouveau e scegliere all'avvio cosa utilizzare, la guida la trovi qua

----------

## SpakkaByTe

 *fedeliallalinea wrote:*   

> Per prima cosa benvenuto SpakkaByTe.
> 
> Allora per installare nvidia per prima cosa devi mettere in blacklist i driver nouveau (o non selezionarli dal kernel):
> 
> ```
> ...

 

Ciao e grazie del benvenuto  :Smile: 

Il problema è che non ho la minima idea di quali driver installare o meglio quale versione visto che la  scheda e molto vecchia questo portatile ha 8 anni circa

----------

## nollo

ciao

metti questo in /etc/portage/make.conf

```
VIDEO_CARDS="nvidia"
```

dovrebbe pensare portage a installare i driver giusti

----------

## SpakkaByTe

 *nollo wrote:*   

> ciao
> 
> metti questo in /etc/portage/make.conf
> 
> ```
> ...

 

Ok grazie mille poi provo  :Smile: 

----------

## fedeliallalinea

 *SpakkaByTe wrote:*   

> Il problema è che non ho la minima idea di quali driver installare o meglio quale versione visto che la  scheda e molto vecchia questo portatile ha 8 anni circa

 

Ah scusa effettivamente ho omesso questa parte. Fai come dice nollo e poi dai un emerge -UDN @world e doovrebbe proporti di installare il pacchetto x11-drivers/nvidia-drivers.

----------

## SpakkaByTe

metto solo

VIDEO_CARDS="nvidia"

o

VIDEO_CARDS="nvidia intel"???

----------

## Maxxx

Però, essendo una vecchia scheda Nvidia probabilmente dovrà installare i driver legacy... non penso che con i driver attuali gli funzioni

----------

## fedeliallalinea

 *SpakkaByTe wrote:*   

> metto solo
> 
> VIDEO_CARDS="nvidia"
> 
> o
> ...

 

Se vuoi solo nvidia la prima se vuoi anche i driver per una scheda intel integrata la seconda.

Come dice Maxxx la tua scheda e' un po' vecchia e ti servono i driver 340.101 (vedi qui), per fare questo deivi mascherare tutte le altre versioni di nvidia-drivers con

```
# echo ">x11-drivers/nvidia-drivers-340.101" >> /etc/portage/package.mask
```

----------

## SpakkaByTe

eheheh era troppo bello se non ci fossero stati errori  :Razz: 

http://pastebin.com/WmvH5JLw

```

Ci3m330NeHalem spakkabyte # modprobe nvidia

libkmod: kmod_config_parse: /etc/modprobe.d/nouveau.conf line 1: ignoring bad line starting with 'nouveau'

modprobe: ERROR: could not insert 'nvidia': No such device

```

----------

## Maxxx

La mia prima volta ho avuto i tuoi stessi problemi con una vecchia nvidia... li ho risolti togliendo tutti i framebuffer dal kernel e reinstallando dopo i driver legacy.

Devi anche seguire la guida 

https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers

ed è molto importante eseguire 

```
nvidia-xconfig
```

----------

## SpakkaByTe

 *Maxxx wrote:*   

> La mia prima volta ho avuto i tuoi stessi problemi con una vecchia nvidia... li ho risolti togliendo tutti i framebuffer dal kernel e reinstallando dopo i driver legacy.
> 
> Devi anche seguire la guida 
> 
> https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers
> ...

 

mi sono perso XD stai parlando con un noob  :Smile: 

----------

## fedeliallalinea

Che versione hai di nvidia-drivers (emerge -pv nvidia-drivers)?

Posta anche il tuo xorg.conf con wgetpaste

----------

## Maxxx

Scusa... in pratica devi ricompilare il kernel eliminando tutte le voci in cui è menzionata la parola framebuffer   :Very Happy:  ...

poi segui la guida Nvidia di Gentoo

https://wiki.gentoo.org/wiki/NVidia/nvidia-drivers

in cui ti dice quali moduli del kernel abilitare.

Ricapitolando, dopo aver eliminato i framebuffer e dopo aver attivato i moduli che ti dice la guida, ricompili il kernel e continui a seguire la guida passo passo.

----------

## SpakkaByTe

 *fedeliallalinea wrote:*   

> Che versione hai di nvidia-drivers (emerge -pv nvidia-drivers)?
> 
> Posta anche il tuo xorg.conf con wgetpaste

 

```
Ci3m330NeHalem spakkabyte # emerge -pv nvidia-drivers

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   #] x11-drivers/nvidia-drivers-340.101:0/340::gentoo  USE="X (multilib) tools -acpi -pax_kernel -static-libs -uvm" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB
```

non trovo xorg.conf

```
spakkabyte@Ci3m330NeHalem /etc/X11 $ ls

Sessions  chooser.sh  startDM.sh  xinit  xorg.conf.d

```

----------

## Maxxx

xorg.conf viene creato dal comando

```
nvidia-xconfig
```

----------

## SpakkaByTe

 *Maxxx wrote:*   

> xorg.conf viene creato dal comando
> 
> ```
> nvidia-xconfig
> ```
> ...

 

ok allora seguo quello che hai detto e la guida

----------

## fedeliallalinea

 *SpakkaByTe wrote:*   

> Ci3m330NeHalem spakkabyte # modprobe nvidia
> 
> libkmod: kmod_config_parse: /etc/modprobe.d/nouveau.conf line 1: ignoring bad line starting with 'nouveau'
> 
> modprobe: ERROR: could not insert 'nvidia': No such device
> ...

 

Come sempre ho letto a meta' l'errore. Il problema probabilmente e' che tu hai come built-in il support a nouveau nel kernel (qundi il file /etc/modprobe.d/nouveau.conf non funziona), questo lo puoi verificare dando il comando grep -i nouveau /usr/src/linux/.config. Se l'output e' CONFIG_DRM_NOUVEAU=y vuol dire che l'hai compilato built-in se invece e' CONFIG_DRM_NOUVEAU=m e' come modulo.

Ora se lo hai compilato con come built-in (ovvero con y) o fai come dice Maxxx e ricompili il kernel senza supporto a nouveau oppure aggiungi al file /etc/default/grub (usi grub?) la linea GRUB_CMDLINE_LINUX_DEFAULT="nouveau.blacklist=1". In teoria esiste gia' la linea GRUB_CMDLINE_LINUX_DEFAULT dovrai giusto scommentarla e aggiungere nouveau.blacklist=1, questo impartisce al kernel di non caricare nouveau (ovviamente dovrai eseguire un grub-mkconfig -o /boot/grub/grub.cfg per aggiornare il grub.cfg. Ovviamente questo solo se usi grub come bootloader.

----------

## SpakkaByTe

 *fedeliallalinea wrote:*   

>  *SpakkaByTe wrote:*   Ci3m330NeHalem spakkabyte # modprobe nvidia
> 
> libkmod: kmod_config_parse: /etc/modprobe.d/nouveau.conf line 1: ignoring bad line starting with 'nouveau'
> 
> modprobe: ERROR: could not insert 'nvidia': No such device
> ...

 

Ci3m330NeHalem X11 # grep -i nouveau /usr/src/linux/.config

# CONFIG_DRM_NOUVEAU is not set

----------

## SpakkaByTe

niente mi da sempre errore

ho ricompilato il kernel seguendo la guida

```
Ci3m330NeHalem X11 # modprobe nvidia

libkmod: kmod_config_parse: /etc/modprobe.d/nouveau.conf line 1: ignoring bad line starting with 'nouveau'

libkmod: kmod_config_parse: /etc/modprobe.d/nouveau.conf line 2: ignoring bad line starting with 'nouveau'

modprobe: ERROR: could not insert 'nvidia': Exec format error

```

----------

## Maxxx

Non lo so se puo' essere utile ma prova a rinominare il file /etc/modprobe.d/nouveau.conf in .old

----------

## fedeliallalinea

 *Maxxx wrote:*   

> Non lo so se puo' essere utile ma prova a rinominare il file /etc/modprobe.d/nouveau.conf in .old

 

O anche rimuoverlo. Tanto se non l'hai compilato come modulo quel file e' inutile

----------

## SpakkaByTe

 *Maxxx wrote:*   

> Non lo so se puo' essere utile ma prova a rinominare il file /etc/modprobe.d/nouveau.conf in .old

 

```
Ci3m330NeHalem spakkabyte # modprobe nvidia

modprobe: ERROR: could not insert 'nvidia': Exec format error

```

----------

## Maxxx

Hai provato a fare

```
emerge @module-rebuild
```

In pratica a riemergere i driver dopo aver ricompilato il kernel?

----------

## SpakkaByTe

non ne esco  :Sad: 

http://pastebin.com/1Bj2NjdU

http://pastebin.com/30QFik0G

----------

## Maxxx

Dice che non hai almeno 20 GB di spazio...

prova a dare soltanto

```
emerge --ask x11-drivers/nvidia-drivers
```

e vedi che ti riemerga la versione 340.101

----------

## SpakkaByTe

come posso liberare spazio?

```
spakkabyte@Ci3m330NeHalem ~ $ df -h

File system     Dim. Usati Dispon. Uso% Montato su

udev             10M  4,0K     10M   1% /dev

/dev/sda4        29G  8,5G     19G  32% /

tmpfs           383M  696K    382M   1% /run

shm             1,9G     0    1,9G   0% /dev/shm

cgroup_root      10M     0     10M   0% /sys/fs/cgroup

/dev/sda1       196G   40G    147G  22% /home

/dev/sda3       240M   36M    188M  16% /boot

```

----------

## Maxxx

Credo che dovresti "spostare" un pò di spazio dalla partizione di /home a quella /... ma questa è una operazione che non ho mai fatto da shell e non sono in grado di consigliarti... non so nemmeno se si possa fare senza riformattare tutto. Su Ubuntu, per esempio, si dovrebbe fare con il programma Gparted da ambiente grafico.

prima di avventurarti in questa cosa, però, ti consiglio di fare 

```
emerge --ask x11-drivers/nvidia-drivers
```

(versione 340.101)

e vedere se ti ridà sempre il problema dello spazio.

Dopo ripeti il passaggio di modprobe

----------

## fedeliallalinea

Per liberare spazio puoi usare eclean (contenuto nel pacchetto app-portage/gentoolkit)

```
# eclean -d distfiles
```

Questo comando elimina i file sorgenti inutili in /usr/portage/distfiles.

Se questo non bastasse puoi provare mettendo davanti al comando la linea I_KNOW_WHAT_I_AM_DOING=yes

```
# I_KNOW_WHAT_I_AM_DOING=yes emerge @module-rebuild
```

questa variabile skippa il test di 20Gb per la compilazione, usandolo potrebbe darti un out of memory error ma magari visto che ne hai giusto 1Gb in meno potrebbe funzionare.

Quello che non sono certo se e' se I_KNOW_WHAT_I_AM_DOING esista per funtoo ma credo di si'.

----------

## SpakkaByTe

```
 glxinfo | grep rendering

direct rendering: Yes

    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 

    GL_NV_parameter_buffer_object2, GL_NV_path_rendering, 
```

```
spakkabyte@Ci3m330NeHalem ~/.wine/drive_c/Program Files (x86)/World of Warcraft/WTF $ glxgears

Running synchronized to the vertical refresh.  The framerate should be

approximately the same as the monitor refresh rate.

302 frames in 5.0 seconds = 60.319 FPS

300 frames in 5.0 seconds = 59.997 FPS

300 frames in 5.0 seconds = 59.999 FPS

300 frames in 5.0 seconds = 59.998 FPS

300 frames in 5.0 seconds = 59.999 FPS

```

come vedo se sta girando i driver nvidia?

sembra sia ok

----------

## SpakkaByTe

```
Ci3m330NeHalem spakkabyte # lsmod | grep nvidia

nvidia              10497069  43

drm                   262826  5 nvidia,drm_kms_helper

i2c_core               22279  5 nvidia,i2c_i801,i2c_smbus,drm_kms_helper,drm

```

----------

## fedeliallalinea

 *SpakkaByTe wrote:*   

> come vedo se sta girando i driver nvidia?

 

Con glxinfo | grep vendor dovresti vedere la riga server glx vendor string: NVIDIA Corporation

----------

## SpakkaByTe

 *fedeliallalinea wrote:*   

>  *SpakkaByTe wrote:*   come vedo se sta girando i driver nvidia? 
> 
> Con glxinfo | grep vendor dovresti vedere la riga server glx vendor string: NVIDIA Corporation

 

```
spakkabyte@Ci3m330NeHalem ~ $ glxinfo | grep vendor

server glx vendor string: NVIDIA Corporation

client glx vendor string: NVIDIA Corporation

OpenGL vendor string: NVIDIA Corporation

```

----------

## fedeliallalinea

Direi che sei sui driver nvidia   :Very Happy: 

----------

## SpakkaByTe

grazie a tutti ragazzi specialmente a @fedeliallalinea e a @Maxxx

----------

