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ù; con le recenti versioni questo processo è
diventato quasi banale. La faccenda si è molto semplificata dal momento
che non ci sono più server separati per differenti tipi di schede,ma
solo dei moduli che vengono caricati da un server comune. 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/ttyS[01].
Il processo di configurazione opera selezionando un server per la
propria generica scheda video e configurando XF86Config
, file che
il server leggerà all'avvio per ottenere i parametri specifici
relativi alla propria 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 partire setuid root.
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.
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).
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 a 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.