X.Orgin asetukset

Linux.fista
Siirry navigaatioon Siirry hakuun

Lähes jokaiselle Linux-käyttäjälle tulee joskus eteen tilanne, jossa X:n asetukset eivät ole kunnossa ja graafinen ympäristö ei toimi.

X.org:in asetustiedosto sijaitsee lähes aina polussa /etc/X11/xorg.conf

xorgconfig

Helpohko keino kaikkien perusasetusten tekemiseen on X.orgin mukana tuleva xorgconfig-ohjelma, joka kyselee tiedot mm. hiirestä, näppäimistöstä ja näytöstä ja luo niiden tietojen pohjalta xorg.conf-tiedoston. Ohjelman voi käynnistää konsolista komennolla xorgconfig.

xorg.conf

Rakenne

Asetustiedosto noudattaa seuraavanlaista rakennetta

Section "Osio"
 Option "Asetus" "Arvo"
 Option "Asetus"
 #Kommentti
 Foo "bar"
EndSection

Tässä ohjeessa ei käydä läpi asetustiedoston kaikkia kohtia, joten tämän ohjeen perusteella ei voi kirjoittaa tyhjästä toimivaa tiedostoa. Tee siis muutokset valmiiseen tiedostoon (muista kuitenkin ottaa varmuuskopio aina ensin).

Moduulit

xorg.conf-tiedoston alussa on yleensä osio Section "Module" jossa ladataan erilaisia moduuleja komennolla Load "moduuli". Yleensä moduuleja on listattu useita, ja usein niiden merkitys on myös kerrottu kommenteilla.

Tätä osiota täytyy muuttaa yleensä silloin, kun asennetaan näytönohjaimen ajurit. Esimerkiksi NVIDIA:n näytönohjainta käytettäessä on ladattava moduuli glx mutta ei saa ladata moduulia dri.


Syöttölaitteet

Osioissa tyyppiä Section "InputDevice" määritellään syöttölaitteet, eli ainakin näppäimistö ja hiiri. Suomalaista näppäimistöä käytettäessä täytyy usein kertoa näppäimistönasettelusta omalla parametrilla. Rullahiiri vaatii myös omaa säätöä.

Esimerkki tavallisesta näppäimistöstä:

Section "InputDevice"
   Identifier	"Keyboard1"          #Kutsumanimi
   Driver	"kbd"                #Ajuri
   Option "AutoRepeat" "500 30"
   #Suomalaiset asetukset
   Option "XkbModel"	"pc105"
   Option "XkbLayout"	"fi"
EndSection

Vastaavasti tavallinen kolmenappinen (kaksi nappia + rullan painamismahdollisuus) rullahiiri esitellään seuraavasti

Section "InputDevice"
   Identifier	"Mouse1"
   Driver	"mouse"
   Option "Protocol"    "Auto"      #Tunnistetaan protokolla automaattisesti
   Option "Device"      "/dev/input/mice"  #Hiiren laite    
   #Rullalla vierittäminen
   Option "ZAxisMapping"    "4 5"
EndSection

Esitellyistä laitteista valitaan lopuksi vielä ServerLayout-osiossa käytettävät.

Näytönohjain

Osiossa Section "Device" määritellään käytettävä näytönohjain. 3d-kiihdytyksen käyttöön tarvitsee usein asentaa binääriajureita. Esimerkki kertoo enemmän kuin tuhat sanaa:

Section "Device"
   Identifier  "GeForce"            #Nimi (vapaavalintainen)
   Driver      "nvidia"             #Käytettävä ajuri (vaatii nvidia-nimisen kernel-moduulin)
EndSection

Simppeliä, eikö?

Näyttö

Näytön asetukset ovat tärkeät, sillä väärät saattavat jopa rikkoa näyttösi! Etenkin vaaka- ja pystytahdistusarvot ovat tärkeät.

Näytön tiedot määritellään osiossa Section "Monitor". Näytölle annetaan tunniste (Identifier) sekä vaaka- ja pystytahdistusarvot (VertRefresh ja HorizSync). Oikeat tahdistusarvot löytyvät esimerkiksi näytön ohjekirjasta tai Internetistä valmistajan sivuilta.

Esimerkki Philips 107e kuvaputkinäytön esittelystä:

Section "Monitor"
   Identifier  "Philips 107E"          #Nimi
   HorizSync   30-70                   #Pystytahdistus
   VertRefresh 50-160                  #Vaakatahdistus
EndSection


Laitteet käyttöön

Kun näytönohjain, näyttö yms. laitteet on nyt esitelty, täytyy vielä kertoa, mitä laitteita haluamme käyttää (kaikkia esiteltyjä ei tarvitse käyttää).

Ensinnäkin osiossa Section "Screen" kerrotaan käytettävä näytönohjain ja näyttö. Lisäksi määritellään resoluutiot. Myös screenille on annettava nimi, joka puolestaan annetaan myöhemmin ServerLayoutille.

Esimerkki Section "Screen" -osiosta:

Section "Screen"
   Identifier  "Screen 1"       #"Screenin" nimi
   Device      "GeForce"        #Käytettävä näytönohjain
   Monitor     "Philips 107E"   #Käytettävä näyttö
   DefaultDepth 24              #Oletusvärimäärä
   #Resoluutiot
   Subsection "Display"
       Depth       16             #16-bittiä
       Modes       "1280x1024" "1024x768" "800x600" "640x480"     #Sallitut resoluutiot
       ViewPort    0 0
   EndSubsection
   Subsection "Display"
       Depth       24             #24 bittiä
       Modes       "1152x864"     #Sallitut resoluutiot
       ViewPort    0 0
   EndSubsection
EndSection

Tiedoston lopussa valitaan sitten (jo edellä mainostetussa) ServerLayout-osiossa käytettävät asetukset tähän tapaan:

Section "ServerLayout"
   #Vaihteeksi tunniste
   Identifier  "Simple Layout"
   Screen "Screen 1"    #Käytettävä screeni
   InputDevice "Mouse1" "CorePointer"          #Käytettävä hiiri (CorePointer)
   InputDevice "Keyboard1" "CoreKeyboard"      #Käytettävä näppis (CoreKeyboard)
EndSection

Kaksi näyttöä

Kahta (tai useampaa) näyttöä voidaan käyttää X:n kanssa muutamalla eri tavalla. Nvidian korteilla voidaan käyttää Nvidian omaa TwinView-teknologiaa. Muissa tapauksissa, esimerkiksi käytettäessä useampaa erillistä näytönohjainta, voidaan käyttää Xineramaa.

NVidia

Nvidian asennuspaketin sisältämä nvidia-xconfig -komento osaa muokata xorg.conf:n käyttämään Nvidian ajuria. Nvidia-xconfig on mukana vasta ajuripaketin versiossa 1.0-8178 tai uudemmissa, joten käytä mieluiten aina uusinta ajuriversiota. Vanhemmatkin ajuripakettiversiot osasivat asettaa xorg.conf:in, mutta niiden toiminta oli selvästi kehittymättömämpää.

Vinkki: lisäämällä Device Sectioniin seuraavan rivin

Option "Coolbits" "1"

saa lisää näytönohjaimen asetuksien muokkausmahdollisuuksia nvclock-nimisen työkalun avulla.

Ongelmatilanteet

Mikäli järjestelmä Nvidian ajurien asennuksen jälkeen rupeaa kaatuilemaan X:n käynnistyksen yhteydessä, voi vika olla siinä, että ajurit on määritelty käyttämään käyttöjärjestelmän omia AGP-ajureita Nvidian AGP-ajureiden sijaan. Tällöin rivin

Option "NvAGP" "1"

lisääminen Device-osioon saattaa auttaa. Tosin Nvidian asennusohjelma lisää tämän itsekin Screen-osioon versiosta 1.0-8178 alkaen.

Ongelmat saattavat johtua myös viallisesta BIOS:sista. Esimerkkinä Asus A8V Deluxe biossin 1007-version päivittäminen 1017-versioon poistaa ongelmat AGPGART:n kanssa ja nvidian ajurit alkavat toimimaan myös asetuksella.

Option "NvAGP" "3"

Jonka jälkeen

cat /proc/driver/nvidia/agp/status

Antaa tuloksen

Status:          Enabled
Driver:          AGPGART
AGP Rate:        8x
Fast Writes:     Enabled
SBA:             Enabled

Ja ajureiden tehokkuus parantuu huomattavasti.


Radeon (Xinerama) kahdella näytöllä

xorg.conf tiedostoon tarvitsee luoda kaksi laitetta joita aijotaan käyttää virtuaali näytöissä. Tässä esimerkissä molemmat ulosotot löytyvät samasta kortista. Molemmille laiteille annetaan myös niiden ruutunumero "Screen".

       Section "Device"
       Identifier  "Videocard0"
       Driver      "radeon"
       VendorName  "Videocard vendor"
       BoardName   "ATI Technologies Inc RV350 AP [Radeon 9600]"
       BusID       "PCI:3:0:0"
       Screen      0
       EndSection
       Section "Device"
       Identifier  "Videocard1"
       Driver      "radeon"
       VendorName  "Videocard Vendor"
       BoardName   "ATI Technologies Inc RV350 AP [Radeon 9600]"
       BusID       "PCI:3:0:0"
       Screen      1

Seuraavaksi määrittele tietokoneeseesi kytkemät näytöt. Suosittelen näyden generic ajureiden tilalla köyttämään juuri sinun näytöillesi sopivia tietoja.

   Section "Monitor"
   Identifier    "Main Monitor"
   Option        "DPMS"
   HorizSync    28-51
   VertRefresh    43-60 
   EndSection

   Section "Monitor"
   Identifier    "Second Monitor"
   Option        "DPMS"
   HorizSync    28-51
   VertRefresh    43-60
   EndSection

Seuraavaksi määritellään myös Screen osio. Screen osioon tulee myös määritykset kahdelle Screenille.

Screen yksi.

       Section "Screen"
       Identifier "Screen0"
       Device     "Videocard0"
       Monitor    "Main monitor"
       DefaultDepth     24
       SubSection "Display"
               Viewport   0 0
               Depth     16
               Modes    "800x600" "640x480"
       EndSubSection
       SubSection "Display"
               Viewport   0 0
               Depth     24
               Modes    "1024x768" "800x600" "640x480"
       EndSubSection
       EndSection

Ja Screen kaksi.

       Section "Screen"
       Identifier "Screen1"
       Device     "Videocard1"
       Monitor    "Second Monitor"
       DefaultDepth     24
       SubSection "Display"
               Viewport   0 0
               Depth     24
               Modes    "1024x768" "800x600" "640x480"
       EndSubSection
       EndSection


Lopuksi lisää vielä ennen "ServeLayout" osaa seuraavat rivit. Itse "ServerLayout" kohdasta voit vaikkapa kommentoida (#-kommenttimerkki) pois Xinema rivin.

       Section "ServerFlags"
       Option "Xinerama" "on"
       EndSection

"ServeLayout"-rivit

       Section "ServerLayout"
       Identifier     "Multihead layout"
       Screen         0 "Screen0" 
       Screen         1 "Screen1" RightOf "Screen0"
       InputDevice    "Mouse0" "CorePointer"
       InputDevice    "Keyboard0" "CoreKeyboard"
       #       Option      "Xinerama" "on"
       #       Option      "Clone" "off"
       EndSection


Lopuksi käynnistä X-systeemi uudestaan. (Esim. reboot)