Posts tagged ‘xorg’

xorg con driver intel: benchmark gtkperf

Sul forum inglese di arch (e non solo lì) diversi utenti si sono lamentati di un calo di prestazioni dei driver video intel.

Ho voluto verificare se il consiglio di utilizzare XAA come AccelMethod sia valido.

Ho usato il bechmark gtkperf per controllare le prestazioni dell’intel 945GME integrata nell’eeepc 901.

Ecco i risultati per quanto riguarda XAA:

GtkEntry – time: 0,15
GtkComboBox – time: 2,30
GtkComboBoxEntry – time: 1,47
GtkSpinButton – time: 0,28
GtkProgressBar – time: 0,21
GtkToggleButton – time: 0,42
GtkCheckButton – time: 0,28
GtkRadioButton – time: 0,66
GtkTextView – Add text – time: 2,07
GtkTextView – Scroll – time: 0,70
GtkDrawingArea – Lines – time: 1,81
GtkDrawingArea – Circles – time: 3,98
GtkDrawingArea – Text – time: 5,76
GtkDrawingArea – Pixbufs – time: 0,28

Total time: 20,37

e per quanto riguarda EXA:
GtkEntry – time: 0,15
GtkComboBox – time: 2,33
GtkComboBoxEntry – time: 1,42
GtkSpinButton – time: 0,27
GtkProgressBar – time: 0,21
GtkToggleButton – time: 0,38
GtkCheckButton – time: 0,28
GtkRadioButton – time: 0,73
GtkTextView – Add text – time: 2,22
GtkTextView – Scroll – time: 0,92
GtkDrawingArea – Lines – time: 2,39
GtkDrawingArea – Circles – time: 5,45
GtkDrawingArea – Text – time: 5,03
GtkDrawingArea – Pixbufs – time: 0,28

Total time: 22,07

Infine, EXA con opzione “MigrationHeuristic” “greedy”

GtkEntry – time: 0,12
GtkComboBox – time: 2,07
GtkComboBoxEntry – time: 1,69
GtkSpinButton – time: 0,28
GtkProgressBar – time: 0,24
GtkToggleButton – time: 0,47
GtkCheckButton – time: 0,24
GtkRadioButton – time: 0,68
GtkTextView – Add text – time: 2,27
GtkTextView – Scroll – time: 0,89
GtkDrawingArea – Lines – time: 2,45
GtkDrawingArea – Circles – time: 5,71
GtkDrawingArea – Text – time: 18,29
GtkDrawingArea – Pixbufs – time: 0,55

Total time: 35,96

Come si può vedere, XAA risulta il più performante, seguito a ruota da EXA, mentre EXA con l’opzione “greedy” risulta molto molto più lento (eppure viene consigliata in certi siti).

Sembra però che con la recente inclusione del GEM di intel (graphics execution manager) nel kernel 2.6.28, EXA (o meglio, il nuovo UXA) migliorerà al punto da essere finalmente più veloce di XAA.

Breve resoconto di “archlinux incontra eeepc 901″

Eccomi a scrivere un paio di righe, ovviamente le sto scrivendo dal piccolo eeepc901 finalmente animato da una aggiornatissima archlinux :)

I dettagli li rimando, lascio solo un breve resoconto dell’installazione e della prima configurazione.

Partizioni Originarie

Il disco principale dell’eeepc (4 GB) si presenta partizionato in 4 partizioni. Le prime due sono utilizzate da xandros (di cui una in sola lettura). Le restanti 2 sono due piccole partizioni di circa 8 MB (mega!), una utilizzata per eventuali aggiornamenti bios (è possibile copiarci li il file del bios e al boot questo verrà aggiornato), e l’altra utilizzata per la funzione fastboot del bios.

Io ho piallato tutto eccetto l’ultima partizione, visto che il fastboot è assai splendido :)

Eventuali aggiornamenti del bios li farò passare da una pennetta usb.

Installazione di arch

Ho usato un masterizzatore dvd usb e l’iso di test 2008.12, per installare un sistema base.

Ho creato un’unica partizione nel disco da 4GB (eccetto quella per il fastboot) e l’ho formattata in ext2.

Niente swap.

Ho in seguito utilizzato la connessione ethernet (il modulo era già presente nel kernel) per compilare il modulo wifi (rt2860, si trova in AUR).

netcfg ha qualche problemino a funzionare. Seguendo il consiglio del wiki di arch ho optato per wicd.

Xorg funziona splendidamente senza dover scrivere nessun file di configurazione. Nota: ricordarsi di installare hal e aggiungerlo ai demoni, altrimenti xorg parte senza le periferiche di input e bisogna riavviare la macchina.

Improving it!

Tra le prime cose che ho fatto, ho montato un tmpfs in /tmp e lì ci ho fatto anche cachare (non è una brutta parola!) firefox.

Oggi ho un po giocato con i kernel di robertek, uno zen ricompilato su misura (oserei dire “striminzito”, sono 5MB) per il 901.

Installato il kernel zen-eee dal suo repo, ho installato anche acpi-eee901, che contiene gli script acpi per gestire i tasti funzione. Contiene anche il programma asusosd, che lanciato all’avvio di openbox mi da un riscontro visivo con un popup quando alzo/abbasso volume e luminosità.

Successivamente ho ricompilato il kernel zen-eee per includere un po di moduli che non so per quale motivo erano stati lasciati fuori.

A breve scrivero di qualche altro pasticcio, e di tutto quello che causa dimenticanza e fretta ho sicuramente dimenticato di dire.

openbox e l’estensione composite: non bene

Sto perdendo qualche mezz’ora per crearmi un ambiente di lavoro gradevole, semplice e veloce. Questo significa passare per openbox.

Durante le mie prove sono incappato in quello che ancora non so se ritenere bug: in presenza di finestre di urxvt il cambio di desktop non è istantaneo. Le finestre vengono disegnate con un sensibile ritardo, una alla volta, e persino la musica salta durante quella frazione di tempo (non mi era mai successo utilizzando uno scheduler decente, CFS o SD).

Certo, si parla di ritardi dell’ordine di 0,5/0,8 secondi per ogni finestra di urxvt aperta. Nemmeno così evidenti se di finestre se ne ha una sola aperta, ma assolutamente insopportabile in presenza di un maggior numero di finestre.

Dopo ulteriori prove mi sono accorto che il problema esisteva anche in caso di finestre di aterm.

Ho installato openbox-git da AUR per vedere se si trattasse di un problema già risolto, senza però ottenere risultati.

Non sapendo dove altro guardare (e dopo aver controllato nelle FAQ di openbox), ho chiesto nel canale IRC.

Lì molto gentilmente mi hanno indirizzato verso la configurazione di xorg, più in particolare un utente lamentava rallentamenti simili al mio in caso di attivazione dell’estensione Composite.

Detto fatto, ho provveduto a disabilitarla:

Section "Extensions"
    Option         "Composite" "Disable"
EndSection

Notare che l’opzione del driver proprietario nvidia:

Option         "AllowGLXWithComposite" "True"

sembra forzare l’attivazione dell’estensione Composite, a meno che questa non venga esplicitamente disabilitata, come ho riportato poco sopra.

Niente da dire, in questo modo non ho assolutamente ritardi nel rendering delle finestre, e persino le finestre che prima non presentavano il problema del ritardo ora sembrano disegnarsi più velocemente.