Avanti Indietro Indice

4. Configurare XFree86

4.1 Configurazione Normale

Configurare correttamente Xfree per usare il mouse, la tastiera, il monitor e la scheda video era una sorta di pratica mistica, che richiedeva un intenso hacking manuale di un complesso file di configurazione. Non più; la versione 3.2/3.3 ha fatto sì che questo processo diventi quasi banale. Tutto quello che si deve fare è lanciare il programma XF86Setup.

Questo programma conta sul fatto che tutto l'hardware dei PC odierni è equipaggiato con monitor capaci di supportare la EGA/VGA. Il programma chiama il server SVGA16 e lo usa per far partire X a 640x480 in una modalità sicuramente supportata. Dopo di che lancia un programma interattivo che guiderà attraverso una serie di 5 pannelli di configurazione per mouse, tastiera, scheda video, monitor e `altro' (si tratta di varie opzioni per il server). L'intero processo è assolutamente anti-panico.

(Se usi la distribuzione Linux Red-Hat potrai notare che esiste anche un differente programma di configurazione chiamato xf86config. Questo funziona similmente a XF86Setup ma non si usano né l'interfaccia di X né il server VGA16)

Una piccola cosa da tenere a mente è questa: se si usa un Pc moderno come la maggior parte delle persone, la propria tastiera è quella che XF86Setup chiama 'Generic 102-key PC (intl)' piuttosto che quella predefinita 'Generic 101-key PC'. Se si sceglie quella predefinita (101-tasti) il gruppo di tasti all'estrema destra della propria tastiera (il tastierino numerico e compagni) potrebbe smettere di funzionare.

Se non si è sicuri sul tipo di monitor che si ha, si provi tutti quelli della lista in successione. Lo si cerchi partendo dall'alto verso il basso (quelli in alto richiedono velocità di dot-clock più basse e sono meno esigenti nelle richieste hardware). Si torni indietro se si ottiene un disastro o un'immagine seriamente distorta. Le distorsioni minori (immagine leggermente troppo larga, leggermente troppo piccola, o un po' scentrata) non sono un problema; si avrà occasione di correggerle immediatamente affinando i modi video.

E quando il programma lancia xvidtune per permettere di affinare il modo video, non ci si lasci innnervosire dal messaggio d'avviso iniziale. I moderni monitor multisync (a differenza dei loro predecessori a frequenza fissa) non sono facili da danneggiare in questa maniera.

XF86Config assume che il device del proprio mouse sia /dev/mouse. Se questo non dovesse funzionare, ci può essere bisogno di fare un link a /dev/mouse verso un qualsiasi altro /dev/ca[01] sul quale c'è il mouse. Se poi si scopre che XFree86 dà un errore "mouse busy" quando è in esecuzione gpm, può invece essere necessario fare il link verso /dev/fileyS[01].

Il processo di configurazione opera selezionando un server per la tua generica scheda video (come ad esempio XF86_VGA16 , XF86_Mach64 oppure XF86_S3) e configurando XF86Config , file che il server leggerà all'avvio per ottenere i parametri specifici relativi alla tua installazione. La posizione di XF86Config varia a seconda del sistema operativo, ma uno dei posti in cui potrebbe essere è /etc/X11

Nelle vecchie versioni di XFree86, XF86Setup fa un link diretto fra il comando `X' e il server in uso. Mentre nelle versioni recenti, `X' è direttamente linkato a un programma wrapper set-user-id chiamato Xwrapper. L'idea è che tutte le chiamate setuid root vengono localizzate nell' Xwrapper in modo che il server non debba far partire setuid root.

4.2 Risoluzione dei problemi

Occasionalmente, qualcosa potrebbe non andare benissimo quando si lancia per la prima volta l'X server. Ciò è quasi sempre causato da un problema nel file di configurazione. Solitamente, i valori di timing del monitor sono sbagliati, o il dot-clock della scheda video è impostato scorrettamente. I problemi minori possono essere corretti con xvidtune; uno schermo veramente ingarbugliato indica di solito che si devi tornare indietro in XF86setup e scegliere un monitor con prestazioni minori.

Se la propria schermata sembra rotolare, o i contorni non sono ben definiti, questi sono indici evidenti del fatto che i valori di timing del monitor e del dot-clock della scheda sono sbagliati. Ci si assicuri anche di aver specificato il chipset corretto per la propria scheda video, così come le altre opzioni per la sezione Device del file XF86Config. Ci si assicuri soprattutto di usare il giusto X server e che /usr/X11R6/bin/X sia un link simbolico a quel server.

Se tutto ciò non bastasse, si provi a far partire X in modalità ``essenziale'', usando questo comando

X > /tmp/x.out 2>&1 
Poi si può far terminare l'X server (usando la combinazione di tasti ctrl-alt-backspace ed esaminare il contenuto del file /tmp/x.out. L'X server riporterà ogni avviso o errore, ad esempio se la propria scheda video non ha un dot-clock corrispondente al modo supportato dal proprio monitor.

Si ricorda che è possibile usare le combinazioni ctrl-alt-numeric + e ctrl-alt-numeric - per passare tra i modi video elencati nella linea Modes della sezione Screen del file XF86Config. Se il modo a più alta risoluzione non si vede bene, si provi a passare a risoluzioni più basse. Fare questo per lo meno dirà quali parti della propria configurazione di X funzionano correttamente.

Si controllino anche i pomelli che regolano le dimensioni dello schermo sul proprio monitor. In molti casi è necessario aggiustarli quando si fa partire X. Ad esempio, se lo schermo appare leggermente spostato da un lato si usino i controlli del monitor per correggerlo.

Il gruppo USENET comp.windows.x.i386unix è dedicato a discussioni su XFree86, così come lo è comp.os.linux.x. Potrebbe essere una buona idea guardare in questi gruppi per vedere se ci sono post relativi alla propria configurazione video: si potrebbe imbattersi in qualcuno che ha già avuto gli stessi problemi.

4.3 Configurazioni Personalizzate

Se il proprio monitor supporta la risoluzione di 1600x1200 ci sarà bisogno di fare dell'hand-hacking (NDT: modificare e correggere a mano i file di configurazione) sulla configurazione di X per ottenere delle prestazioni ottimali, in quanto la più alta risoluzione che XF86Setup può supportare direttamente è 1280x1024.

Se si vuole fare dell'hand-hacking sulla propria configurazione video, per questa o altre ragioni, si veda L'XFree86 Video Timings HOWTO di LDP, presso: http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html (questo è versione aggiornata in HTML del file `Videomodes.doc' di XFree86).

4.4 Usare i colori a 16 bit

Di default, X utilizza una profondità di colore a 8 bit rendendo disponibili 256 colori. Per aggirare questa restrizione molte applicazioni allocano le proprie mappe di colore, ottenendo di conseguenza degli improvvisi "sbalzi" di colore quando il cursore si muove tra due finestre, poiché ognuna di esse ha una propria mappa di colore.

Se si ha intenzione di usare applicazioni grafiche avanzate, 256 colori potrebbero non essere sufficienti. Può essere necessario passare ad una profondità di colore a 16 bit (65,536 colori). Ma si faccia attenzione che non tutte le applicazioni funzioneranno con colori a 16 bit.

Si può usare la profondità di colore a 16 bit con 65K diversi colori semplicemente lanciando X con


    startx -- -bpp 16

oppure mettendo quest'altra linea:


    exec X :0 -bpp 16

nel proprio file .xserverrc. Comunque, affiché questo funzioni è necessario avere una sezione screen nel proprio XF86Config con


    DefaultColorDepth 16

Se si usa xdm, può essere necessario modificare il file Xservers, che probabilmente è contenuto in /etc/X11/xdm/. Una configurazione tipica ha solo una riga non commentata, simile a


      :0 local /usr/X11R6/bin/X

Si aggiunga -bpp 16 alle opzioni di avvio:


      :0 local /usr/X11R6/bin/X -bpp 16

Inoltre, si dovrà aggiungere una sezione "screen" al proprio XF86Config, e nella sotto-sezione Display bisognerà impostare a 16 il valore di Depth. In generale, basta copiare la sezione a 8-bit e cambiare il valore di Depth.

Più colori significano che la propria scheda video dovrà trasferire più dati nello stesso tempo. Se la propria scheda non può farcela, dovranno essere ridotte o la risoluzione o la frequenza di refresh. Di default XFree riduce la risoluzione. Se si vuole mantenere la risoluzione e ridurre la frequenza di refresh, si deve inserire una Modeline appropriata nel file XF86Config che definisce quella risoluzione con una frequenza di refresh più bassa. Ad esempio, si rimpiazzino i vecchi valori

Modeline "1024x768"  75  1024 1048 1184 1328 768 771 777 806 -hsync -vsync
con
Modeline "1024x768"  65  1024 1032 1176 1344 768 771 777 806 -hsync -vsync.
I numeri magici 75 e 65 sono i rispettivi clock rate che X ha riportato nel proprio file .X.err. Si consulti il file dei monitor nella documentazione di XFree86 per i Modeline adatti al massimo clock rate che la propria scheda video può supportare con 16 bit di profondità di colore.


Avanti Indietro Indice