Xorg with i915 fix

Come fare andare, in maniera molto artigianale, un particolare modello di scheda video intel,
su una Slackware current (xorg 6.9)
più precisamente

VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04) (prog-if 00 [VGA])
        Subsystem: Uniwill Computer Corp: Unknown device 9800
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 169
        Region 0: Memory at ffe80000 (32-bit, non-prefetchable) [size=512K]
        Region 1: I/O ports at ec00 [size=8]
        Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
        Region 3: Memory at ffe40000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at <unassigned> [disabled]
        Capabilities: [d0] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Da quanto ho capito io, i problemi dati da questa scheda video, si verificano solo con la rev 04 del firmware.
Il problema è principalmente l'impossibilità di utilizzare la nostra scheda con i suoi driver (i810), se ci proviamo, freeza il sistema, siamo obbligati ad utilizzare i driver vesa o fbdev, altrimenti il nostro pc sarebbe inutilizabile.

Dopo mille ricerche in rete sono riuscito a trovare qualche risposta nella sezione bug dell'xorg; a quanto pare, è un bug noto, ma ci stanno ancora lavorando per sistemare in maniera definitiva il problema, per il momento viene suggerito di fare una modifica ai sorgenti, in modo da rendere il tutto funzionante, credo, anche se non ne sono del tutto sicuro, che la soluzione definitiva verrà inserita nella versione 7.1.

In pratica bisogna commentare un richiamo ad una funzione nei sorgenti, più precisamente bisogna cercare il file xf86Bus.c
e commentare ValidatePci() ---> /* ValidatePci() */
a questo punto basta ricompilare i sorgenti.

Io ho usato lo slackbuild di Volkerding build 4 (potete trovarlo qui)
solo che ancora non ho capito per quale oscuro motivo, la compilazione non avviene proprio bene; alla fine mancano le libfontconfig; quindi non si avvia cmq X
io l'ho risolta in maniera un po' sporca; cioè usando il mio Xorg6.9 patchato, e le libfontconfig dei tgz ufficiali di slack.

Scaricate i pkg dal mio sito, non ridete della home page senno mi arrabbio!
una vota scaricati i pkg dovete cercare nel vostro sistema le libfontconfig

# updatedb
$locate libfontconfig*
/usr/X11R6/lib/libfontconfig.la
/usr/X11R6/lib/libfontconfig.so.1.0.4
/usr/X11R6/lib/libfontconfig.so
/usr/X11R6/lib/libfontconfig.so.1

le ultime due dovrebbero essere un link simbolico al secondo file;
a questo punto dovete copiarvi da qualche parte ste benedette librerie, senno fra un po' restate freschi.

$ mkdir /home/vostro_utente/librerie
$ cp /usr/X11R6/lib/libfontconfig.* /home/vostro_utente/librerie/

ok ora potete procedere con l'installazione del nuovo xorg;
quindi dal pkgtool rimuovete tutti i pacchetti x11
poi entrate nella cartella dove avete parcheggiato i tgz patchati e installateli

ora il vostro xorg è installato; vi mancano solo le libfontconfig e siete aposto.
dove semplicemente rimetterle nella cartella dove le avevate prese; quindi

$cd /home/vostro_utente/librerie
#cp libfontconfig.* /usr/X11R6/lib/

ora a dovete cancellare la .so e la .so.1, erano dei link prima, ricordate?, dobbiamo rirenderli tali

#cd /usr/X11R6/lib/
#rm /usr/X11R6/lib/libfontconfig.so
#rm /usr/X11R6/lib/libfontconfig.so.1
# ln -s libfontconfig.so.1.0.4 libfontconfig.so
# ln -s libfontconfig.so.1.0.4 libfontconfig.so.1

ora editate il vostro xorg.conf e date uno startx, ora il driver i810 funziona regolarmente.

PS: se possedete un portatile, con monitor a 1280x800, dovete aver compilato 915resolution, che serve a modificare le risoluzioni consentite caricate nel vBIOS

IMPORTANTE : se qualcuno decidesse di ricompilare l'xorg da sè, può contattarmi per avere maggiori spiegazioni
se ne ha bisogno, e se ci riuscisse senza errori sulle libfontconfig, mi contatti,
si potrebbe evitare tutta questa spiegazione per risolvere

Slackdivine.gif