jump to navigation

Ottenere ancora di più dalle schede NVIDIA

In Avanzate, per Guru!, Guide il 23/04/07 @ 20:47 trackback

03/05/07: chiarita la sezione sul blacklist del modulo agp e aggiunta l’opzione per xorg.conf
Questo è un piccolo trucco per tutti quelli che hanno una scheda NVIDIA AGP. Io lo uso senza problemi con la mia scarsissima Geforce FX5500 e mi piace pensare che aumenti un po’ le prestazioni ;)

coolbits-logo1.png

Il tutto consiste nell’abilitare il “Fast Writes” e il “Side Band Addressing”, due opzioni disabilitate in maniera predefinita perché potenzialmente instabili o in alcuni casi controproducenti… Insomma vale sempre la solita regola: non confondete “ottimizzare” con “miracolare”.

NB: la procedura è stata provata su Ubuntu Edgy e Feisty, ma dovrebbe andare su qualunque distribuzione recente.

Prima di tutto qualche definizione

Fast Writes - permette la comunicazione diretta tra la CPU e la GPU, senza intervento della RAM

Side Band Addressing - permette di avere a disposizione una banda extra per il controller AGP. Ovviamente chi ha una scheda PCI può tranquillamente ignorare questa opzione.

Dal lato Harware

La prima cosa da fare è abilitare le due opzioni dal BIOS:

agp.png

Ogni BIOS ha un modo specifico di nascondere questa opzione, generalmente si trova sotto le impostazioni Avanzate.

Dal lato software

La prima cosa che potreste voler fare è abilitare il driver NVIDIA per il controller AGP, al posto di quello fornito dal kernel Linux. La procedura è molto semplice, bisogna bloccare il driver del kernel, mettendolo in blacklist:

$: sudo gedit  /etc/modprobe.d/blacklist

aggiungendo questa riga, ad esempio alla fine del file:

# felipe for life
blacklist nvidia_agp

Il nome del modulo da mettere nella “lista nera” cambia a seconda dell’hardware che avete (sis_agp, via_agp…), quindi agite di conseguenza ;)

Anche abilitare FW e SBA è molto semplice, basta mettere mano al file che si occupa di definire le opzioni da passare al driver nvidia:

$: sudo gedit  /etc/modprobe.d/nvidia-kernel-nkc

e aggiungere questa riga:

options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1

Può essere necessario anche aggiungere questa opzione nella sezione “Screen” (o anche Device) di /etc/X11/xorg.conf:

Option         "NvAGP" "1"

Fatto questo dobbiamo riavviare e controllare eventuali miglioramenti alle prestazioni, che sono molto variabili in base all’hardware: in alcuni casi potrebbe essere nettamente percettibile, in altri non è niente di scandaloso notare al contrario un peggioramento.

In genere potreste sperimentare un po’ e vedere cosa funziona meglio nel vostro caso.

Verificare che tutto sia abilitato

Se volete essere sicuri che le vostre opzioni siano state viste dal vostro sistema, potete fare questa semplice prova:

$: cat /proc/driver/nvidia/agp/status

dovrebbe restituirvi qualcosa come:

Status:          Enabled
Driver:          NVIDIA
AGP Rate:        8x
Fast Writes:     Enabled
SBA:             Enabled

A questo punto non mi resta che augurarvi buone sperimentazioni!


PS: grazie a johnny82 per avermi ispirato a scrivere questo post, era tanto che volevo farlo.

Condividi questo articolo:

  • FriendFeed 
  • TwitThis 
  • Facebook 
  • Badzu 
  • LinkedIn 
  • Google 
  • del.icio.us 
  • Wikio IT 
  • DiggIta 
  • Technotizie 
  • OKNotizie 

Pagine forse correlate:


Commenti »

1. franganghi - 23/04/07 @ 21:04

mah, non sono un patito delle prestazioni. tengo presente per quando vorrò farmi una bella vacanza fregandomene dell’upgrade al pc. per ora - gadget a parte - sto bene così dal 2003: Piii 3.0 HT, 1gb RAM, 3-5 dischi s-ata da 200-300 gb l’uno. insomma, grazie per il consiglio Felì, ma passo.

2. Matty - 23/04/07 @ 21:24

Ho seguito la guida, ma continuano a partire i driver AGPGART e non mi abilita nemmeno il fast writes…sapete consigliarmi qualcosa?
Ho Ubuntu Fiesty a 64bit con una FX 5700LE. Ho provato anche ad aumentare la il clock della GPU per curiosità ma il nvidia-settings me lo riporta subito al valore di default…mha…vorrei sfruttare questa scheda ormai molto datata ma anche cercando su google non riesco ad abilitare il FW, i driver AGP nvidia ed aumentare il clock…

P.S.: Complimenti a Felipe per il blog, un riferimento assoluto!

3. Carlo - 23/04/07 @ 21:28

Ciao felipe, anche io ho seguito la guida, le due opzioni adesso risultano abilitate, ma continuano a partire driver AGPGART …

[email protected]:~$ cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: AGPGART
AGP Rate: 8x
Fast Writes: Enabled
SBA: Enabled

Cmq grazie per la guida, vedo qualche leggero miglioramento in termini di risposta al mouse. Avevo verificato prima delle modifiche e Fast Writes e SBA erano effettivamente disabilitate, ma il driver è rimasto uguale. Ciao :)

4. Switch - 23/04/07 @ 21:30

A parte la sezione espressamente dedicata all’ AGP poi è possibile applicare questo tutorial anche in caso di una periferica Pci-ex?

5. Tyrael - 23/04/07 @ 21:32

Per caso sapete se è possibile impostare via software la memoria da passare alla scheda video?
Ho un portatile toshiba con una geforce fx con 32MB. Il bios è piuttosto scarno e non c’è l’opzione per impostare la memoria per l’AGP.

6. ra1n - 23/04/07 @ 21:44

ma per abilitare l’NVAGP non bastava mettere in xorg.conf
Option “NvAGP” “1″

7. Matty - 23/04/07 @ 21:52

@ ra1n
Ho appena provato come hai detto tu e ora ho questo il risultato:

[email protected]:~$ cat /proc/driver/nvidia/agp/status
Status: Disabled

AGP initialization failed, please check the ouput
of the ‘dmesg’ command and/or your system log file
for additional information on this problem.

Tuttavia X è partito correttamente…

8. jak - 23/04/07 @ 22:08

scusa ma hai accennato al fatto che possano essere rischiose come operazioni poichè instabili, ma in che senso???è veritiera come cosa???

ciao

9. ra1n - 23/04/07 @ 22:09

@Matty

non ricordo esattamente come avevo fatto, ma probabilmente bisogna fare anche come dice felipe e blacklistare il modulo agpgart

10. Infinity89 - 23/04/07 @ 22:54

Stesso “problema”….se avete informazioni a riguardo…vi prego commentate!!!! Grazie felipe! notati miglioramenti! GRAZIE!!!! mi stupisco sempre di più di linux…prima o poi andrò al limite hardware????
CIAO!!!!

11. LoPissicologo - 23/04/07 @ 23:25

Piccola postilla tecnica: se utilizzate suspend2, attivare il FastWrite e/o il Side Band Addressing la cosa potrebbe ripercuotersi sulla sospensione su disco o su RAM.
Il condizionale è d’obbligo dato che esiste gente a questo mondo che riesce a far funzionare la sospensione nonostante abbia attivato il tutto, e poveri sfigati (come me) che non ci riescono a meno di non disattivare TOTALMENTE il BUS AGP.
A parte questo li ho attivi da sempre (sulla mia gentoo, ho tagliato la testa al toro ed ho rimosso il modulo agpgart dalla compilazione del kernel, tanto su gentoo il kernel lo si compila comunque) e non ho mai avuto alcun problema di stabilità (cioè due crash del server grafico l’anno, non credo facciano testo come instabilità).
Per quanto riguarda invece la questione “prestazioni”, beh si… in effetti servono. Adesso Doom3 invece di 6.8 fps mi fa 7.6fps. Direi che adesso ci posso giocare tranquillamente (FX5500 dimmmer……).

12. Anonymous - 24/04/07 @ 3:00

Ho notato che seguendo la guida, appena installati i driver, Fast Writes risulta Enabled.
al successivo riavvio Fast Writes risulta Disabled
cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: NVIDIA
AGP Rate: 8x
Fast Writes: Disabled
SBA: Enabled

13. Tyler - 24/04/07 @ 3:39

Anch’io ho il problema del driver, nonostante abbia blacklistato nvidia_agp

14. Roberto Mazzoleni - 24/04/07 @ 8:26

Ma non è che il driver da mettere in blacklist è agpgart? :-P

Io nvidia_agp non ce l’ho caricato adesso…

15. Infinity89 - 24/04/07 @ 9:07

Io li ho messi entrambi ma carica sempre agpgart!

16. oliv - 24/04/07 @ 12:52

Per ottenere questo:

Status: Enabled
Driver: NVIDIA
AGP Rate: 8x
Fast Writes: Enabled
SBA: Enabled

ho “blacklistato” agpgart e via_agp, ho aggiunto Option “NvAGP” “1″ nella sezione Devices di xorg.conf e al boot ho passato l’opzione agp=off

ciao

ps:magari voi non dovete blacklistare via_agp, controllate con lsmod | grep agp

17. oliv - 24/04/07 @ 12:59

Piccolo aggiornamento, non serve passare agp=off.

ciao

18. tyrchyus - 24/04/07 @ 13:39

Felipe abbiamo la stessa scheda video!!!!
o ma che emotion!!!

19. Matty - 24/04/07 @ 14:07

Finalmente sono riuscito ad attivare i driver NVIDIA, proprio passando l’opzione agp=off al boot, solo che continuo ad avere disattivato il Fast Writes, ma attivato l’SBA…qualche consiglio?

20. Carlo - 24/04/07 @ 17:43

Seguendo oliv, con lsmod | grep agp ho trovato il driver sis_agp, mettendo in blacklist solo quest’ultimo è fatta finalmente:

Status: Enabled
Driver: NVIDIA
AGP Rate: 8x
Fast Writes: Enabled
SBA: Enabled

21. davide - 24/04/07 @ 23:59

e per le schede video ATI ?

22. oliv - 25/04/07 @ 10:36

Si, come ha detto Carlo basta aggiungere alla blacklist solo il driver del chipset, che si “scopre” tramite il comando lsmod | grep agp. Poi va modificato xorg e il gioco è fatto!

Voi avete notato miglioramenti?

23. D4ny__89 - 25/04/07 @ 13:48

scusate l’ignoranza, quindi io cosa devo aggiungiere alla blacklist e a xorg ? ecco i risultati del comando lsmod
via_agp 11264 1
agpgart 34888 2 nvidia,via_agp
grazie anticipatamente

24. oliv - 25/04/07 @ 13:56

Nel file blacklist aggiungi:

blacklist via_agp

In xorg.conf, nella sezione Device (quella della scheda video per intenderci):

Option “NvAGP” “1″

25. D4ny__89 - 25/04/07 @ 14:10

niente da fare… Status: Disabled

26. Carlo - 26/04/07 @ 14:57

oliv io non ho toccato il fil xorg.conf :)

27. carcass - 27/04/07 @ 18:51

possibile se digito glxinfo | grep rendering mi si chiude il server X dopo queste modifiche?? possibile???

28. Anonymous - 28/04/07 @ 17:08

Interessante … ma sarebbe più interessante un hack per trasformare una GeForce in una Quadro , visto che la differenza tra i due modelli sta nella attivazione di una parte della circuiteria sulla Quadro che la GeForce ha invece disattivata di default ;-)

29. IllO - 2/05/07 @ 17:53

Tanto per perdere quei 5 minuti, rischiando poi di dover reinstallare visto che non sono molto preparato, ho seguito la guida, risultato:
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Enabled
SBA: Disable

Quindi al primo tentativo ho guadagnato solo l’abilitazione del Fast Write,
ho modificato la blacklist aggiungendo anche “intel_agp”
e xorg.conf con:
Option “NvAGP” “1?

Risultato:
Status: Enabled
Driver: NVIDIA
AGP Rate: 4x
Fast Writes: Enabled
SBA: Disabled

Per SBA credo non ci siano speranze, visto che dal bios non si può scegliere nulla, è probabile che non sia proprio supportato…
Il sistema (portatile) è: Toshiba Satellite pro con Geforce4 420 go 16mb (feisty)
Guadagno:
ad occhio nulla di percettibile, stando ai dati: glxgears indica 1300 FPS (prima erano 1200) sotto
GNOME e 730FPS (prima erano 500) usando Beryl come window manager. Non ho provato con i giochi.
è già tanto che non ho fatto un casino mentre facevo le prove :-)

30. Kaled - 3/05/07 @ 11:28

@IllO
Ho il tuo stesso problema, per cambiare il drive AGPGART in che sezione di xorg.conf devo sostituire con:
Option “NvAGP” “1?
Grazie
Ciao Kaled

31. Luxman - 3/05/07 @ 23:59

Come si può misurare in modo oggettivo il cambiamento di prestazioni dovuto a queste modifiche?

32. IllO - 4/05/07 @ 14:48

@Kaled
opzione aggiunta in questa sezione:
Section “Screen”
Identifier “Default Screen”
Device “nVidia Corporation NV17 [GeForce4 420 Go]”
etc.. etc..
Option “NvAGP” “1″

Il problema che non ho fatto le modifiche separatamente
ma in una volta sola ho modificato la blacklist aggiungendo “intel_agp”
e modificato xorg.conf con l’opzione sopra.
Quindi non so quale delle 2 modifiche abbia avuto effetto… quindi se ti vuoi divertire provale una alla volta e facci sapere!

@Luxman
Un benchmark piacerebbe conoscerlo anche a me…

33. Luxman - 8/05/07 @ 13:44

@IIIO

Dai un’occhiata qui: http://divilinux.wordpress.com/2007/05/06/globs-benchmark/

;D

34. Lorenzo - 9/05/07 @ 10:41

Salve
ho una nvidia gforce fx go5200 con 128 mega di memoria e dando questo comando ottengo queste informazioni

~$ cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Disabled
SBA: Disabled

Inoltre dal NVIDIA X Server Setting leggo le seguenti informazioni:
Sezione GPU
VBIOS Version: 04.34.20.50.ab
Memory: 64 MB
Bus Type: AGP 4X

Perchè la memoria è a 64? come faccio ad abilitare tutta la memoria di 128?
I driver installati sono 1.0-9631
Grazie mille…

35. nutellol - 15/05/07 @ 16:47

questo articolo è succulento, ma gia in passato le ho provate di tutte per sfruttare l agp di nvidia ma non ci sono riuscito. spero di trarre ispirazione dai vostri commenti.
il fatto è che il chipset VIA (andato,di nome e di fatto) KT400 è risultato penoso con i driver agp del kernel e non compatibile con nvidia-agp,insomma all apparenza non c è modo di sfruttarlo al massimo con linux, invece con win è piu responsivo graficamente.
guardando nella lista dei chipset supportati da nvidia-apg il mio non c’è:pc aquistato quasi 7 anni fa.
e con questo mi potrei pure mettere l’anima in pace, ma se riesco a sfruttare gli nvidia-agp giuro che vengo in sicilia a nuoto! ^_^

36. Stefano - 20/07/07 @ 8:18

Ciao, io ho ottenuto questo:

Status: Enabled
Driver: NVIDIA
AGP Rate: 8x
Fast Writes: Enabled
SBA: Enabled

eseguendo tutti i passaggi senza però blacklistare niente ma non ho ottenuto grandi risultati, forse ci sono dei miglioramenti ma sono impercettibili.

37. Gufetto - 13/08/07 @ 21:30

Con i drivers nvidia-glx-new, indispensabili con le ultime schede video e kernels, basta aggiungere in /etc/modprobe.d/nvidia-kernel-nkc “options nvidia_new NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1″, (nvidia_new, non nvidia, altrimenti non funziona) senza blacklistare niente o fare altro (BIOS a parte).
Le ultime versioni dei driver Nvidia ormai preferisco l’agpgart per questioni di stabilità, “NvAGP” “1″ non serve più.

38. Niko - 17/08/07 @ 19:23

NON mi fuziona con l’ultima distro che ho installato PCLinuxOS 2007 :-(
Lo proverò anche con la Kubuntu che l’ho su un’altra partiz…

Non ho potuto modificare il file
/etc/modprobe.d/nvidia-kernel-nkc
perchè in questa distro non c’è!

Mio pc:
M/B Asus A7V400-MX con VIA KM400
CPU AMD Athlon 2700+
RAM 1024MB
nVIDIA GeForce FX 5700LE 256MB
Monitor Philips 107T 17″

Purtroppo non posso attivare dal BIOS il Fast Write xkè Windows non va, ovvero appena finito di caricare il logo di windos il monitor impazzisce, diventa nero e poi… auto-reboot!

Qui sotto riporto l’output che mi da nel teminale:

***********************************************

[[email protected] ~]# lsmod | grep agp
via_agp 9984 1
agpgart 32424 2 nvidia,via_agp
[[email protected] ~]# cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: AGPGART
AGP Rate: 8x
Fast Writes: Disabled
SBA: Enabled
[[email protected] ~]# cat /proc/driver/nvidia/agp/

card host-bridge status
[[email protected] ~]# cat /proc/driver/nvidia/agp/card
Fast Writes: Supported
SBA: Supported
AGP Rates: 8x 4x
Registers: 0×1f000e1b:0×1f000302
[[email protected] ~]# cat /proc/driver/nvidia/agp/
card host-bridge status
[[email protected] ~]# cat /proc/driver/nvidia/agp/host-bridge
Host Bridge: PCI device 1106:3205
Fast Writes: Not Supported
SBA: Supported
AGP Rates: 8x 4x
Registers: 0×1f000a0b:0×00000b02

*********************************************

DOPO LE MODIFICHE ECCO L’OUTPUT:

[[email protected] ~]# lsmod | grep agp
via_agp 9984 1
agpgart 32424 2 nvidia,via_agp

[[email protected] ~]# cat /proc/driver/nvidia/agp/status
Status: Disabled

AGP initialization failed, please check the ouput
of the ‘dmesg’ command and/or your system log file
for additional information on this problem.

Ecco cosa dice:
“…
NVRM: loading NVIDIA UNIX x86 Kernel Module 100.14.11 Wed Jun 13 18:21:22 PDT 2007
NVRM: not using NVAGP, an AGPGART backend is loaded!
…”

[[email protected] ~]# cat /proc/driver/nvidia/agp/card
Fast Writes: Supported
SBA: Supported
AGP Rates: 8x 4x
Registers: 0×1f000e1b:0×00000000

[[email protected] ~]# cat /proc/driver/nvidia/agp/host-bridge
Host Bridge: PCI device 1106:3205
Fast Writes: Not Supported
SBA: Supported
AGP Rates: 8x 4x
Registers: 0×1f000a0b:0×00000000

[[email protected] ~]# glxinfo | grep rendering
direct rendering: Yes

[[email protected] ~]# glxgears
11261 frames in 5.0 seconds = 2252.095 FPS
11393 frames in 5.0 seconds = 2278.444 FPS
11388 frames in 5.0 seconds = 2277.579 FPS
11312 frames in 5.0 seconds = 2262.314 FPS

*********************************************

L’unico cambiamento vistoso che ho notato durante il boot è la visualizzazione del logo nVidia a tutto schermo!
Cmq bello :-)

Spero che qualcuno possa darmi qualche consiglio/idea o che cmq possa essere utile a qualcuno quanto da me scritto sopra.

Ciao a tutti e grazie comunque!

39. Niko - 17/08/07 @ 20:02

Ah, dimenticavo…
ho messo anche agp=off nella riga dei parametri di boot

40. irruenza - 27/08/07 @ 20:17

Ciao, grazie al consiglio di Gufetto sono riuscito ad attivare il FW (usavo il glx-new e non ci sarei mai arrivato a cambiare l’opione nvidia_new)
Ora, per ovviare al problema delle finestre nere con compiz, ho provato ad installare l’ultimo driver tramite envy, il che è andato a buon fine; unico problema è che non funziona più il FW.
Credo che envy non faccia altro ce creare un nuovo nvidia-glx-new.
e allora perchè non riesco più ad attivarlo?
Qualcuno ha qualche idea?
Grazie

41. Brino - 8/09/07 @ 16:11

Ottima guida.

I miei passi:
Praticamente sul mio orrido fisso (nvidia 5200 fx) da BIOS ho attivato il FW,
poi aggiunta la voce in Xorg.xonf e option nel modulo kernel nvidia,

in blacklist ci ho messo nvidia_agp e agpgart. FINE.

RISULTATI:
sono passato da circa 970 FPS in glxgears a 1120, intorno a un 15% di guadagno.
non malaccio :-)

42. Un passante - 18/09/07 @ 0:04

Ho notato che sistematicamente usi sudo gedit anzichè gksu gedit… male.

(commentando accetti implicitamente le Regole di pollycoke, leggile!)