Come viene avviata X su Ubuntu?

4

Mi piacerebbe conoscere il processo esatto usato da Ubuntu (se possibile con la posizione del file di configurazione) per avviare X (con lightdm).

Non ho trovato alcuna documentazione precisa, dettagliata e completa di questo processo.

Alcune delle domande che vorrei essere dettagliate sono:

  • Quali script e file di configurazione sono usati (intendo dove sono)?
  • Come personalizzarli in modo pulito?
  • In che modo X determina quale scheda grafica (e quindi il driver) utilizzerà (dal momento che xorg.conf sembra inutile al giorno d'oggi) su computer con schede integrate e discrete?
  • Come forzare X ad usare un driver specifico (per evitare molti messaggi di log inutili)?
  • Quali sono le relazioni tra il driver del kernel linux e il driver grafico xorg?
posta beaufils 16.05.2014 - 18:04

1 risposta

2

Ho iniziato a rispondere a questo (come faccio quando inizio a rispondere a molte domande su AU) perché volevo saperne di più. Hai posto alcune domande abbastanza decenti su come funzionano le cose che confesso, a cui non ho risposto immediatamente. Ho fatto del mio meglio.

Capirai di cosa sto parlando quando guardi man xorg.conf e trovi cose come questa:

VIDEOADAPTOR SECTION
       Nobody wants to say how this works.  Maybe nobody knows ...

Scherzi a parte.

LightDM è avviato da Upstart (il sistema init , avviato dal kernel all'avvio) qui:

/etc/init/lightdm.conf

Che si nutre del comando lightdm che legge (informazioni sui posti, ecc.) da:

/etc/lightdm/lightdm.conf
/etc/lightdm/lightdm.conf.d/*

Quindi avvia X che cerca dopo le configurazioni :

/etc/X11/<cmdline>
/usr/etc/X11/<cmdline>
/etc/X11/$XORGCONFIG
/usr/etc/X11/$XORGCONFIG
/etc/X11/xorg.conf
/etc/xorg.conf
/usr/etc/X11/xorg.conf.<hostname>
/usr/etc/X11/xorg.conf
/usr/lib/X11/xorg.conf.<hostname>
/usr/lib/X11/xorg.conf
/etc/X11/xorg.conf.d/*
/usr/etc/X11/xorg.conf.d/*

Se presente nella configurazione, ecco come X sceglierebbe il layout di driver / monitor / etc ... Se non lo è, le estensioni XRandR più recenti hanno un ruolo importante da giocare nell'indovinare e persistere nelle impostazioni del monitor.

Se non vuoi la migliore ipotesi, puoi forzarla in una direzione di:

Ma se si lascia che xrandr gestisca le cose, una volta effettuato l'accesso, la configurazione proviene da:

~/.config/monitors.xml

Dopo che X inizia c'è un carico di session gubbins (autostarts, ecc.) che iniziano non sono particolarmente rilevanti per il processo grafico ma probabilmente meritano di essere menzionate. Menzionato.

Ci sono due bit che sfuggono alla spiegazione corretta:

  • La relazione tra i driver Xorg e Kernel mi ha fatto andare completamente a bocca aperta. Ho trovato un molto exhausti {ve, ng} libro sull'argomento [PDF!] Ma non ho avuto il tempo di persino graffiarlo.
  • In che modo Xorg / XRandr sceglie il driver giusto.

C'è sicuramente un sacco di discussioni automatiche di quante ce ne fossero in passato.

    
risposta data Oli 17.05.2014 - 00:09

Leggi altre domande sui tag