# Nvidia & risoluzione.[AMD64]

## Kernel78

Ciao a tutti ho un problemino...

Ho installato xorg e i driver nvidia (tutta roba stabile) e funziona tutto perfettamente a 1280x1024 (solo a 1280x1024)

Il mio problemino è che ho tentato di cambiare risoluzione abbassandola per poter avere alcuni vecchi giochi a schermo pieno senza il fastidioso bordo nero (monkey 1 sotto scummvm non arriva nemmeno a 1024x768 quindi per vederla a schermo pieno devo abbassare la risoluzione), mi sono accorto che non funzionava perchè non esisteva alcuna riga modes nel mio xorg.conf, ne ho aggiunta una di prova con solo due modalità "1280x1024" e "1024x768".

Riavviando X ottenevo un errore con il monitor nero che mi segnalava un valore fuori range, dopo diverse prove ho scoperto che lasciando solo la risoluzione "1280x1024" lo schermo restava nero, mettendo altre risoluzioni TRANNE "1280x1024" funzionava con le risoluzioni richieste (ho notato anche che non appariva il logo nvidia) e togliendo completamente la definizione delle risoluzioni funziona solo a 1280x1024.

Io non voglio rinunciare ai 1280x1024 visto che la uso quasi sempre ma vorrei poter accedere anche alle risoluzioni più basse per poter giocare fullscreen a vecchi giochi e vorrei poterlo fare senza dover modificare ogni volta la configurazione di X e riavviare il server.

Sapete aiutarmi ?

----------

## MeMyselfAndI

hai provato a crearti delle modeline per le risoluzioni che vuoi usare?

potresti provare a ricreare quelle risoluzioni a meno e poi caricarle all'avvio di xorg.

----------

## Kernel78

 *MeMyselfAndI wrote:*   

> hai provato a crearti delle modeline per le risoluzioni che vuoi usare?
> 
> potresti provare a ricreare quelle risoluzioni a meno e poi caricarle all'avvio di xorg.

 

No, ho provato soltanto a crearmi una riga Modes con diversi valori e con i risultati che ho già riportato  :Sad: 

Ho letto in giro che per creare le modeline si può usare gtf, è la strada che devo seguire o ci sono altri modi ?

----------

## MeMyselfAndI

vai di gtf e buona fortuna!

----------

## Kernel78

Ok, con gtf ho creato 3 ModeLines per 1280x1024 1024x768 800x600, tutte a 60 come frequenza e ho inserito una riga Mode dove le richiamo.

Adesso riesco a cambiare risoluzione, i giochi quando vanno a schermo pieno non hanno più quella fastidiosa cornice nera MA ci sono due cose che ancora mi impediscono di taggare la discussione come risolta.

Sono entrambe di entità trascurabile ma io sono pignolo e voglio che il pc faccia quello che voglio io, non che prenda iniziative sue  :Wink: 

Se cambio risoluzione manualmente (premendo ctrl-alt-numpad +/-) la risoluzione varia ma il desktop diventa più grande del monitor visualizzandomene solo una porzione per volta (devo spostare la visuale portando il mouse contro il bordo verso il quale desidero spostarmi).

La cosa non mi garba particolarmente, gradirei che il cambio di risoluzione faccia un resize del desktop in modo da poterlo vedere tutto senza dover spostare la visuale.

Altro problema/dubbio è:la risoluzione che ho impostato è di 60 ma non riesco a capire se è il valore corretto/migliore o se posso usarne altri.

Questa è la tabella con i modi supportati dal mio monitor.

```
Resolution Horizontal      Vertical       Pixel           Comment

           Frequency (KHz) Frequency (Hz) Frequency (MHz)

640x350    31.47(P)        70.08(N)       25.17           DOS

720x400    31.47(N)        70.08(P)       28.32           DOS

640x480    31.47(N)        60.00(N)       25.18           DOS

640x480    37.86(N)        72.80(N)       31.50           VESA

640x480    37.50(N)        75.00(N)       31.50           VESA

800x600    35.16(P)        56.25(P)       36.00           VESA

800x600    37.88(P)        60.32(P)       40.00           VESA

800x600    48.08(P)        72.19(P)       50.00           VESA

800x600    46.87(P)        75.00(P)       49.50           VESA

1024x768   48.36(N)        60.00(N)       65.00           VESA

1024x768   56.48(N)        70.10(N)       75.00           VESA

1024x768   60.02(P)        75.00(P)       78.75           VESA

1152x864   67.50(P)        75.00(P)       108.00          VESA

1152x870   68.68(N)        75.06(N)       100.00          Macintosh

1152x900   61.80(N)        66.00(N)       94.50           SUN 66

1152x900   71.81(N)        76.14(N)       108.00          SUN

1280x1024  64.00(P)        60.00(P)       108.00          VESA

1280x1024  75.83(N)        71.53(N)       128.00          IBMI

1280x1024  80.00(P)        75.00(P)       135.00          VESA

1280x1024  81.18(N)        76.16(N)       135.09          SPARC2
```

Sapete aiutarmi a capirci qualcosa (o a segnalarmi risorse che possano aiutarmi a capire meglio) ?

Un grazie a tutti.

P.S. incredibile, la copia della tabella da kpdf a qui ha mantenuto perfettamente la struttura  :Very Happy: 

----------

## randomaze

 *Kernel78 wrote:*   

> Se cambio risoluzione manualmente (premendo ctrl-alt-numpad +/-) la risoluzione varia ma il desktop diventa più grande del monitor visualizzandomene solo una porzione per volta (devo spostare la visuale portando il mouse contro il bordo verso il quale desidero spostarmi).

 

Questo solitamente avviene quando il monitor o la scheda video (o meglio, il driver della stessa) non supportano la risoluzione da te richiesta.

 *Quote:*   

> Altro problema/dubbio è:la risoluzione che ho impostato è di 60 ma non riesco a capire se è il valore corretto/migliore o se posso usarne altri.

 

Maggiore é la frequenza di refresh e meglio è per i tuoi occhi che vedono un immagine più stabile. Guardando la tabella da te linkata divresti puntare a queste modalità:

 *Quote:*   

> 
> 
> Questa è la tabella con i modi supportati dal mio monitor.
> 
> ```
> ...

 

----------

## Peach

 *randomaze wrote:*   

>  *Kernel78 wrote:*   Se cambio risoluzione manualmente (premendo ctrl-alt-numpad +/-) la risoluzione varia ma il desktop diventa più grande del monitor visualizzandomene solo una porzione per volta (devo spostare la visuale portando il mouse contro il bordo verso il quale desidero spostarmi). 
> 
> Questo solitamente avviene quando il monitor o la scheda video (o meglio, il driver della stessa) non supportano la risoluzione da te richiesta.

 

oddio... non c'era un'opzione in xorg.conf dove settare se il virtual desktop dev'essere o meno più grande della grandezza di visualizzazione??? non ricordo, però c'è un neurone che mi dice una cosa del genere. bisogna che qualcuno ci va a indagare.

con un lcd/tft/plasma la cosa della frequenza di refresh non vale, chiaramente. solo per i crt: a <=60Hz rischi la vista.

----------

## Kernel78

 *randomaze wrote:*   

>  *Kernel78 wrote:*   Se cambio risoluzione manualmente (premendo ctrl-alt-numpad +/-) la risoluzione varia ma il desktop diventa più grande del monitor visualizzandomene solo una porzione per volta (devo spostare la visuale portando il mouse contro il bordo verso il quale desidero spostarmi). 
> 
> Questo solitamente avviene quando il monitor o la scheda video (o meglio, il driver della stessa) non supportano la risoluzione da te richiesta.
> 
> 

 

Mi pare strano.

Se lancio America's Army configurato per girare a 1024x768 lo vedo a schermo pieno senza bordo nero e anche "spingendo" il cursore contro i bordi del monitor l'inquadratura non si sposta e il gioco resta centrato, è solo sotto kde che mi ritrovo con un virtual screen sempre a 1280x1024 ...

----------

## randomaze

 *Kernel78 wrote:*   

> Se lancio America's Army configurato per girare a 1024x768 lo vedo a schermo pieno senza bordo nero e anche "spingendo" il cursore contro i bordi del monitor l'inquadratura non si sposta e il gioco resta centrato, è solo sotto kde che mi ritrovo con un virtual screen sempre a 1280x1024 ...

 

Perché la modalità video che usi con AA é differente da quella usata con KDE, anche se la risoluzione é la stessa. Il monitor memorizza i settaggi manuale (tra cui quello per eliminare i bordi neri) per modalità video. Non conosco AA (non saprei neanche se abbisogna di X o fa a scelta sua), che tu sappia c'é un modo per avere la modeline in quel momento?

Inoltre, hai controllato il log di xorg quando analizza (e scarta) le modalità video da te impostate?

----------

## Kernel78

 *randomaze wrote:*   

> Perché la modalità video che usi con AA é differente da quella usata con KDE, anche se la risoluzione é la stessa. Il monitor memorizza i settaggi manuale (tra cui quello per eliminare i bordi neri) per modalità video. Non conosco AA (non saprei neanche se abbisogna di X o fa a scelta sua), che tu sappia c'é un modo per avere la modeline in quel momento?

 

AA era solo un esempio, ottengo quello che io definisco "comportamento corretto" anche con scummvm e con dosbox.

In ogni caso non ho la più pallida idea se e come si possa ottenere la modeline in uso in un determinato momento ...

 *Quote:*   

> Inoltre, hai controllato il log di xorg quando analizza (e scarta) le modalità video da te impostate?

 

A quanto vedo li analizza e li accetta ...

```
(II) NVIDIA(0): Validated modes:

(II) NVIDIA(0):     "1280x1024_60"

(II) NVIDIA(0):     "1024x768_60"

(II) NVIDIA(0):     "800x600_60"

```

Se serve posto anche altre parti del log ma non mi sembra ci sia nulla di rilevante, al massimo quando switcho da un modo all'altro trovo

```
(II) NVIDIA(0): Setting mode "1024x768_60"

(II) NVIDIA(0): Setting mode "800x600_60"

(II) NVIDIA(0): Setting mode "1280x1024_60"

(II) NVIDIA(0): Setting mode "1024x768_60"

(II) NVIDIA(0): Setting mode "1280x1024_60"

```

e ogni cambiamento va in porto con l'unico problema che lo schermo virtuale resta fisso a 1280x1024  :Sad: 

----------

## randomaze

 *Kernel78 wrote:*   

> Se serve posto anche altre parti del log ma non mi sembra ci sia nulla di rilevante, 

 

Viene registrato anche lo switch quando usi AA o uno degl altri programmi?

 *Quote:*   

> e ogni cambiamento va in porto con l'unico problema che lo schermo virtuale resta fisso a 1280x1024 

 

Puoi postare l'xorg.conf? ( usa prima la tua firma  :Razz:  )

----------

## MeMyselfAndI

Una domanda: se cambi risoluzione a mano, (ad esempio in gnome c'e' un apposito pannello per farlo - non so te che DM usi ne se ne usi qualcuno in particolare) si verifica ancora questo fastidio?

No perche' se non ricordo male dovrebbe essere giusto un'impostazione del server X il comportamento che tu descrivi ma sinceramente non so come lo si attiva/disattiva

----------

## Kernel78

Non sono sulla macchina e quindi ho qualche problema a lanciarli per vedere se vengono intercettati i cambiamenti della modalità video.

Ho scoperto qui che xrandr serve per impostare la dimensione del desktop e continuando a cercare partendo da questi spunti ho trovato l'opzione

```
 Option "RandR" "on"
```

che dovrebbe fungere al mio caso.

Ho modificato il file xorg.conf che adesso è così

```
Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/OTF"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/CID/"

        FontPath     "/usr/share/fonts/100dpi/"

        FontPath     "/usr/share/fonts/75dpi/"

EndSection

Section "Module"

        Load  "extmod"

        Load  "dbe"

        Load  "record"

        Load  "xtrap"

        Load  "dri"

        Load  "glx"

        Load  "freetype"

        Load  "type1"

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

        Option      "XkbModel"  "pc105"

        Option      "XkbLayout" "it"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "IMPS/2"

        Option      "Device" "/dev/input/mouse0"

        Option      "ZAxisMapping" "4 5 6 7"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "BENQ"

        ModelName    "FP731"

        HorizSync    31-81

        VertRefresh  56-75

        Modeline "1280x1024_60"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

        Modeline "1024x768_60"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync

        Modeline "800x600_60"  38.22  800 832 912 1024  600 601 604 622  -HSync +Vsync

        Option "DPMS"

EndSection

Section "Device"

        Identifier  "Card0"

        Driver      "nvidia"

        VendorName  "nVidia Corporation"

        BoardName   "C51PV [GeForce 6150]"

        BusID       "PCI:0:5:0"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        SubSection "Display"

                Viewport   0 0

                Depth     24

                Modes "1280x1024_60" "1024x768_60" "800x600_60"

        EndSubSection

EndSection

Section "ServerFlags"

        Option "RandR" "on"

EndSection

```

riavviando X e controllando nel log trovo

```
# grep -i randr /var/log/Xorg.0.log

(**) Option "RandR" "on"

(**) RandR enabled

(II) Initializing built-in extension RANDR

```

 che mi fa ben sperare.

Purtroppo mia moglie è uscita poco fa è non ho più nessuno a casa che possa premere ctrl-atl-+ e dirmi se si comporta come voglio io ...

Questa sera vi farò sapere gli esiti.

P.S. uso KDE e c'è una sezione per cambiare la risoluzione e la frequenza (tra quelle impostate in xorg.conf) ma sinceramente non ho provato ad usarlo, questa sera provo anche da li ...

----------

## MeMyselfAndI

Volevo editare il mio post ma mi hai preceduto:

hai guardato questo ?

```

Option "ConstantDPI" "boolean"

    By default on X.Org 6.9 or newer X servers, the NVIDIA X driver recomputes

    the size in millimeters of the X screen whenever the size in pixels of the

    X screen is changed using XRandR, such that the DPI remains constant.

    This behavior can be disabled (which means that the size in millimeters

    will not change when the size in pixels of the X screen changes) by

    setting the "ConstantDPI" option to "FALSE"; e.g.,

        Option "ConstantDPI" "FALSE"

    ConstantDPI defaults to True.

```

Cmq nel "piccolo" README dei driver nvidia credo tu possa trovare tutte le risposte alle tue domande

----------

## Kernel78

Bello galvanizzato mi metto davanti al monitor a fare tentativi ...

```
(WW) NVIDIA(0): Option "ConstantDPI" is not used
```

questo è quanto riesco ad ottenere  :Confused: 

La cosa peggiore è che usando sia xrandr che il centro di controllo di KDE ottengo l'effetto che tanto bramo, un ridimensionamento della risoluzione dello schermo fisico e di quello virtuale  :Crying or Very sad: 

Non so più cosa provare ...

----------

## MeMyselfAndI

Secondo me il problema sta proprio nella combinazione di tasti di xorg che cambia risoluzione in un modo diverso che facendolo tramite xrand; a questo punto non ti conviene crearti uno scriptino e rimappare la combinazione di tasti all'esecuzione dello scriptino ?

EDIT: uhmm la mattina scrivo cose incomprensibili,, perdonami ma 2 esami in due giorni all'uni lasciano il segno:

volevo semplicemente dire che probabilmente xorg usa un metodo alternativo per cambiare risoluzione e non si appoggia ( usando la combinazione di tasti) a xrand o ale metodo usato da kde o gnome....

Ciao

----------

## Kernel78

Se ho capito bene la tua idea mi sembra un geniale workaround.

Mi stai suggerendo di disabilitare il cambio di risoluzione tramite ctrl - alt - +/- e mappare quindi la medesima combinazione di tasti su uno scriptino che si occupi di lanciare xrandr per modificare la risoluzione, giusto ?

In questo modo pur artificiosamente mi ritroverei con la combinazione di tasti che farebbe esattamente quello che voglio  :Very Happy: 

Ok, a questo punto mi rimane solo da sviluppare uno script per lo scopo.

Adesso vorrei tornare un attimo sulla questione della frequenza, randomaze suggeriva di usare la più alta mentre peach puntualizzava che quel discorso non è valido per gli lcd.

Qualcuno sa indicarmi dove possa documentarmi per capire meglio la cosa ?

----------

## MeMyselfAndI

Mi pare che avessi trovato qualcosa in passato cercando in google una cosa come LCD vs CRt;

Non so bene spiegarti le leggi fisiche dietro a tutto questo cmq ha ragione peach: se sei in possesso di un monitor LCD non preoccuparti della frequenza di refresh, semplicemente percheè i monitor lcd non hanno un refresh inteso come sui crt!!

Si dovrebbe parlare di tempo di latenza, ovvero il tempo impiegato da un pixel per cambiare valore nella scala cromatica.

A valori piu bassi (pochi millisecondi) si ha una nitidezza maggiore dell'immagine anche in movimento, a valori più alti (decine di millisecondi) si ha una effetto fantasma sull' immagine.

Se ritrovo il sito dove facevano una bella comparazione tra crt e lcd te lo ripropongo.

Sperando di non aver scritto boiate

 :Very Happy: 

----------

## Peach

 *Kernel78 wrote:*   

> Adesso vorrei tornare un attimo sulla questione della frequenza, randomaze suggeriva di usare la più alta mentre peach puntualizzava che quel discorso non è valido per gli lcd.
> 
> Qualcuno sa indicarmi dove possa documentarmi per capire meglio la cosa ?

 

giusto due link:

http://www.blographik.it/2006/06/21/monitor-lcd-cavo-digitale/

http://www.tomshw.it/forum/archive/index.php/t-1107.html

----------

## randomaze

Un'altra possibilità per cercare la configurazione del monitor potrebbe essere:

```
# ddcxinfo-knoppix -monitor 
```

----------

## Kernel78

 *randomaze wrote:*   

> Un'altra possibilità per cercare la configurazione del monitor potrebbe essere:
> 
> ```
> # ddcxinfo-knoppix -monitor 
> ```
> ...

 

Fortuna che nel titolo del thread ho anche messo bene in vista AMD64  :Wink: 

Scherzi a parte l'hai provato e funziona anche per la mia architettura o mi stai suggerendo di buttarmi e provare ?

P.S. grazie a tutti anche per i link interessantissimi.

----------

## randomaze

 *Kernel78 wrote:*   

> Scherzi a parte l'hai provato e funziona anche per la mia architettura o mi stai suggerendo di buttarmi e provare ?

 

Io lo ho provato su x86 e *sembra* funzionare.

Su amd vedo che ha la keyword -amd64 quindi non ti so dire se effettivamente funziona... certo non penso che rovini l'hardware dato che si limita a leggere una stringa dal monitor e a calcolare i timings.

----------

