14.2. Ottimizzazione della configurazione di X

X.Org è un'implementazione open source di X Window System ulteriormente sviluppata dalla X.Org Foundation, che si occupa inoltre dello sviluppo di nuove tecnologie e standard per X Window System.

Per utilizzare al meglio l'hardware disponibile, ad esempio mouse, schede grafiche, monitor e tastiere, è possibile ottimizzarne la configurazione manualmente. Di seguito vengono illustrati alcuni aspetti delle procedure di ottimizzazione. Per informazioni sulla configurazione di X Window System, esaminare i file contenuti nella directory /usr/share/doc/packages/Xorg e man xorg.conf.

[Warning]Avvertimento

È opportuno prestare la massima attenzione alle operazioni che si eseguono durante la configurazione di X Window System. In nessun caso avviare X Window System prima di aver completato la configurazione. L'errata configurazione del sistema può infatti causare danni irreparabili all'hardware, in particolare ai monitor a frequenza fissa. Gli autori della presente pubblicazione e SUSE Linux declinano qualsiasi responsabilità per eventuali danni. Le informazioni riportate sono state attentamente verificate. Tuttavia ciò non costituisce garanzia alcuna che tutti i metodi descritti siano esenti da errori e che non comportino il danneggiamento dell'hardware.

Per default, il file xorg.conf viene creato dai programmi SaX2 e xorgconfig in /etc/X11. Si tratta del file di configurazione principale di X Window System in cui sono incluse tutte le impostazioni relative alla scheda grafica, al mouse e al monitor.

Nelle sezioni seguenti viene descritta la struttura del file di configurazione /etc/X11/xorg.conf. Il file è costituito da diverse sezioni, ognuna delle quali relativa a uno specifico aspetto della configurazione. Ogni sezione inizia con la parola chiave Section <designation> e termina con EndSection. Le sezioni si presentano nella forma seguente:

Section designation
  entry 1
  entry 2
  entry n
EndSection
 

I tipi di sezione disponibili sono elencati nella Tabella 14.1, "Sezioni incluse nel file /etc/X11/xorg.conf".

Tabella 14.1. Sezioni incluse nel file /etc/X11/xorg.conf

Tipo

Descrizione

File

In questa sezione vengono descritti i percorsi utilizzati per i font e la mappa colori RGB.

ServerFlags

In questa sezione vengono impostati gli switch generali.

InputDevice

In questa sezione viene definita la configurazione dei dispositivi di input, ovvero tastiere e dispositivi speciali quali touchpad e joystick. I parametri principali di questa sezione sono Driver e le opzioni che definiscono Protocol e Device.

Monitor

In questa sezione viene descritto il monitor utilizzato. I singoli elementi di questa sezione sono il nome, a cui viene fatto riferimento più avanti nella definizione di Screen, bandwidth e i limiti della frequenza di sincronizzazione (HorizSync e VertRefresh). Le impostazioni sono espresse in MHz, kHz e Hz. In genere, il server rifiuta qualsiasi modeline non conforme alle specifiche del monitor. Ciò impedisce che vengano inviate per errore al monitor frequenze troppo elevate.

Modes

I parametri modeline per le risoluzioni dello schermo vengono memorizzati in questa sezione. Tali parametri possono essere calcolati da SaX2 in base ai valori forniti dall'utente e in genere non è necessario modificarli. È tuttavia possibile intervenire manualmente se, ad esempio, si desidera collegare un monitor a frequenza fissa. Per informazioni sul significato dei singoli valori numerici, esaminare i file HOWTO in /usr/share/doc/howto/en/XFree86-Video-Timings-HOWTO.

Device

In questa sezione viene definita una scheda grafica specifica a cui viene fatto riferimento mediante un nome descrittivo.

Screen

Questa sezione riunisce Monitor e Device, che consentono di specificare tutte le impostazioni necessarie per X.Org. Nella sottosezione Display è possibile specificare le dimensioni dello schermo virtuale (Virtual), nonché ViewPort e Modes utilizzati per lo schermo.

ServerLayout

In questa sezione viene definito il layout di una configurazione singola o multihead e vengono associati i dispositivi di input InputDevice e quelli di visualizzazione Screen.

Monitor, Device e Screen sono illustrati più avanti. Per ulteriori informazioni sulle altre sezioni, vedere la documentazione relativa a X.Org e xorg.conf.

È possibile includere diverse sezioni Monitor e Device nel file xorg.conf, nonché più sezioni Screen. La sezione ServerLayout successiva determina quale sezione verrà utilizzata.

14.2.1. Sezione Screen

La sezione Screen include a sua volta le sezioni Monitor e Device e definisce la risoluzione e l'intensità dei colori da utilizzare. Una sezione Screen può presentarsi in modo analogo a quella riportata nell'Esempio 14.1, "Sezione Screen del file /etc/X11/xorg.conf".

Esempio 14.1. Sezione Screen del file /etc/X11/xorg.conf


Section "Screen"
  DefaultDepth  16
  SubSection "Display"
    Depth       16
    Modes       "1152x864" "1024x768" "800x600"
    Virtual     1152x864
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  EndSubSection
  SubSection "Display"
    Depth       32
    Modes "640x480"
  EndSubSection
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  EndSubSection
  Device        "Device[0]"
  Identifier    "Screen[0]"
  Monitor       "Monitor[0]"
EndSection

La riga Identifier, in questo caso Screen[0], consente di assegnare alla sezione un nome a cui è possibile fare riferimento in modo univoco nella sezione ServerLayout successiva. Le righe Device e Monitor consentono di specificare la scheda grafica e il monitor appartenenti alla definizione. Si tratta di collegamenti alle sezioni Device e Monitor con i rispettivi nomi o identificatori. Queste sezioni vengono descritte in dettaglio più avanti.

Utilizzare l'impostazione DefaultDepth per selezionare la profondità di colore che deve essere utilizzata dal server se non ne viene specificata una all'avvio. A ogni impostazione di profondità del colore corrisponde una sottosezione Display. La parola chiave Depth consente di assegnare la profondità di colore valida per la sottosezione. I valori consentiti per Depth sono 8, 15, 16 e 24. I valori validi dipendono dal modulo del server X.

Dopo aver specificato il valore relativo alla profondità di colore, nella sezione Modes viene impostato un elenco di risoluzioni. L'elenco viene letto dal server X da sinistra a destra e per ogni risoluzione viene eseguita la ricerca della Modeline appropriata nella sezione Modes. Modeline dipende dalle caratteristiche del monitor e della scheda grafica. Le impostazioni incluse in Monitor consentono di determinare la Modeline risultante.

La prima risoluzione rilevata è la modalità di default. Per passare al valore successivo a destra nell'elenco, premere Ctrl-Alt-+ sul tastierino numerico. Per passare al valore successivo a sinistra, premere Ctrl-Alt- sul tastierino numerico. In questo modo è possibile modificare la risoluzione mentre X è in esecuzione.

L'ultima riga della sottosezione Display con Depth 16 fa riferimento alle dimensioni dello schermo virtuale. Il valore massimo consentito non dipende dalla risoluzione massima del monitor, ma dipende dalla quantità di memoria installata nella scheda grafica e dalla profondità di colore desiderata. Poiché le schede grafiche più recenti dispongono di una considerevole quantità di memoria video, è possibile creare desktop virtuali di grandi dimensioni. Tuttavia, se si utilizza la maggior parte della memoria video per il desktop virtuale, potrebbe non essere più possibile utilizzare le funzionalità 3D. Se la scheda dispone di 16 MB di RAM video, ad esempio, è possibile impostare la risoluzione dello schermo virtuale su un valore massimo pari a 4096x4096 pixel con profondità di colore a 8 bit. È comunque sconsigliabile riservare tutta la memoria disponibile allo schermo virtuale, in particolare con le schede accelerate, poiché la memoria della scheda viene utilizzata anche per la memorizzazione nella cache di font e immagini.

14.2.2. Sezione Device

Nella sezione Device viene descritta una scheda grafica specifica. xorg.conf può contenere un numero illimitato di voci Device, a condizione che a ognuna venga assegnato un nome specifico tramite la parola chiave Identifier. Di norma, se si dispone di più schede grafiche, le sezioni vengono semplicemente numerate in progressione, ovvero Device[0], Device[1] e così via. Nel file seguente viene illustrata una parte della sezione Device di un computer in cui è installata la scheda grafica PCI Matrox Millennium.

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

Se si utilizza SaX2 per eseguire la configurazione, la sezione Device si presenterà in modo analogo a quella nell'esempio precedente. Driver e BusID dipendono dall'hardware installato nel computer e vengono rilevati automaticamente da SaX2. BusID identifica lo slot PCI o AGP in cui è installata la scheda grafica e corrisponde all'ID visualizzato tramite il comando lspci. Per il corretto funzionamento del server X, il valore deve essere in formato decimale. Tuttavia, nell'output del comando lspci tale impostazione viene visualizzata in formato esadecimale.

Utilizzare il parametro Driver per specificare il driver da utilizzare per la scheda grafica. Nel caso della scheda Matrox Millennium, il modulo driver è denominato mga. Nel server X viene quindi eseguita una ricerca in ModulePath definito nella sezione Files nella sottodirectory drivers. In un'installazione standard, si tratta della directory /usr/X11R6/lib/modules/drivers. Al nome del file viene aggiunto il suffisso _drv.o. Nel caso del driver mga viene quindi caricato il file mga_drv.o.

È possibile impostare opzioni aggiuntive per controllare il funzionamento del server X o del driver. Ad esempio, l'opzione sw_cursor, impostata nella sezione Device, consente di disattivare la gestione hardware del cursore e attivare la gestione software. Le opzioni effettivamente disponibili dipendono dal modulo del driver ed è possibile individuarle nei file di descrizione di tali moduli nella directory /usr/X11R6/lib/X11/doc. Le opzioni generali valide vengono inoltre descritte nella documentazione (man xorg.conf e man X.Org).

14.2.3. Sezioni Monitor e Modes

Nelle sezioni Monitor e Modes viene descritto un monitor in modo analogo alle sezioni Device. Il file di configurazione /etc/X11/xorg.conf può contenere un numero illimitato di sezioni Monitor. Nella sezione Server Layout viene indicata la sezione Monitor rilevante.

È consigliabile che le definizioni dei monitor vengano impostate solo da utenti esperti. Le righe modeline rappresentano una parte importante delle sezioni Monitor. Le modeline consentono infatti di impostare i valori di temporizzazione orizzontale e verticale relativi alle rispettive risoluzioni. Nella sezione Monitor vengono memorizzate le proprietà del monitor, in particolare le frequenze consentite.

[Warning]Avvertimento

Se non si conoscono approfonditamente le funzioni di schede grafiche e monitor, è consigliabile non modificare le modeline poiché valori errati potrebbero causare gravi danni al monitor.

Prima di sviluppare descrizioni di monitor personalizzate, è consigliabile leggere con attenzione la documentazione disponibile in /usr/X11/lib/X11/doc. A questo proposito, la sezione relativa alle modalità video è di particolare importanza poiché contiene informazioni dettagliate sul funzionamento dell'hardware e sulle modalità di creazione delle modeline.

Nei sistemi attuali, l'impostazione manuale delle modeline non è necessaria. Se si utilizza un monitor di tipo multisync, le frequenze consentite e le impostazioni di risoluzione ottimali vengono rilevate automaticamente dal server X tramite DDC (Direct Display Channel), come illustrato nella sezione sulla configurazione di SaX2. Se per qualsiasi motivo ciò non risulta possibile, utilizzare una delle modalità VESA (Video Electronics Standards Association) incluse nel server X. Queste modalità sono compatibili praticamente con tutte le combinazioni di monitor e schede grafiche.