Ero sivun ”X.Orgin asetukset” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(mitäs se nyt keskustelusivulle meni???)
 
p (Foliohattu siirsi sivun X.orgin asetukset uudelle nimelle X.Orgin asetukset)
 
(55 välissä olevaa versiota 13 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
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.
Linux-käyttäjälle voi joskus tulla eteen tilanne, jossa [[X]]:n asetukset eivät ole kunnossa ja graafinen ympäristö ei toimi. Tällöin X:n [[asetustiedosto]]a on yleensä muokattava käsin, mikäli järjestelmään ei sisälly mitään tekstitilassa toimivaa asetusvelhoa, jolla voisi automaattisesti korjata asetukset.
 
Asetusten toimimattomuuden syynä on usein se, että asetustiedostossa on yritetty määrittää liikaa asioita, jolloin olosuhteiden muuttuessa X herkästi lakkaa toimimasta. Yleensä kannattaa antaa X:n itse automaattisesti määrittää mahdollisimman monet asetukset, jolloin riski väärien asetusten olemassaololle pienenee.
 
X-palvelimen uudemmat versiot osaavat tunnistaa laitteiston niin hyvin, että vikatilanteessa usein riittää asetustiedoston siirtäminen toiselle nimelle, jolloin X käynnistyy kokonaan ilman asetustiedostoa.
 
Minimaalisissa tai kokonaan puuttuvissa asetuksissa on haittana se, että esimerkiksi näytön asetukset saattavat tunnistua väärin, mikäli näyttö ei X:n käynnistyksen aikana ole päällä. Tähän on yleensä ratkaisuna X:n uudelleenkäynnistäminen, mikä [[graafinen kirjautumisohjelma|graafisen kirjautumisohjelman]] käytössä ollessa kannattaa tehdä näppäinyhdistelmällä Ctrl+Alt+Peruutusnäppäin (''Backspace'').
 
Näytönohjaimen vaihtuessa riittää usein muuttaa pelkkä ajurimoduulin nimi, mikäli näytönohjaimet ovat suunnilleen samantehoiset eikä sallittuihin resoluutioihin haluta muutoksia. 3D-toimintoja varten tarvitaan yleensä enemmän muutoksia.


[[X.org]]:in asetustiedosto sijaitsee lähes aina polussa <tt>/etc/X11/xorg.conf</tt>
[[X.org]]:in asetustiedosto sijaitsee lähes aina polussa <tt>/etc/X11/xorg.conf</tt>
Käytettävää asetustiedostoa voi vaihtaa [[komentorivi]]ltä ''-config''-[[valitsin|valitsimella]], esimerkiksi <tt>X -config /etc/X11/xorg.conf.bak</tt>. XFree86:ssa, johon X.org pohjautuu, asetustiedosto löytyi polusta <tt>/etc/X11/XF86Config</tt>.


==Rakenne==
== Asetustiedoston tarve ==
Uusimmat X.orgin versiot osaavat tunnistaa laitteiston ja tehdä asetukset niin hyvin, että hyvinkin pelkistetty asetustiedosto riittää. Asetuksia on tehtävä <tt>xorg.conf</tt>-tiedostoon vain, jos automaattisesti tehdyt asetukset eivät toimi oikein. Tässä artikkelissa käydään läpi asetustiedoston rakennetta ja eri asetusten vaikutusta hyvinkin laajasti. Ongelmatapauksissa asetustiedostoon voidaan lisätä tarvittavia asetuksia tämän ohjeen mukaan, jolloin X käyttää näitä asetuksia eikä yritä tehdä niitä automaattisesti.
 
==Asetustiedoston automaattinen luonti==
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ää komentoriviltä komennolla <tt>xorgconfig</tt>. Xorgconfigin luoma tiedosto sisältää runsaasti kommentteja asetusten muokkauksen helpottamiseksi.
 
Myös komentoa <tt>X -configure</tt> voi käyttää uuden asetustiedoston luomiseen.
 
Nvidian kaupallisten [[binääriajurit|binääriajureiden]] käyttäjille suositellaan komentoa <tt>nvidia-xconfig</tt>, joka luo yleensä täysin valmiin asetustiedoston.
 
==X:n sulkeminen ja uudelleenkäynnistäminen==
X:n joutuu yleensä käynnistämään uudelleen, jotta uudet asetukset tulisivat voimaan. Toisaalta joissakin vikatilanteissa asetustiedostoja ei pääse muokkaamaan, koska X ei toimi, mutta kuitenkin varaa näytön.
 
Graafisessa tilassa näppäinyhdistelmä Ctrl+Alt+Peruutusnäppäin (''Backspace'') sulkee X:n, riippuen asetustiedostosta. X:n voi sulkea myös komentoriviltä, jolle pääsee esimerkiksi eri [[virtuaalikonsoli]]lta (Ctrl+Alt+F1). Komentoriviltä voi myös käynnistää sopivan editorin (esim. [[emacs]], [[vi]] tai [[nano]]), jolla muokata asetustiedostoa (gnomen ja kde:n editorit eivät välttämättä toimi tekstitilassa).
 
Katso tarkemmin artikkelissa [[X Window System#X:n sulkeminen ja uudelleenkäynnistäminen|X Window System]].
 
==xorg.conf==
===Rakenne===
Asetustiedosto noudattaa seuraavanlaista rakennetta
Asetustiedosto noudattaa seuraavanlaista rakennetta
  Section "Osio"
  Section "Osio"
Rivi 12: Rivi 39:
  EndSection
  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).
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==
===Moduulit===
xorg.conf-tiedoston alussa on yleensä osio <tt>Section "Module"</tt> jossa ladataan erilaisia moduuleja komennolla <tt>Load "moduuli"</tt>. Yleensä moduuleja on listattu useita, ja usein niiden merkitys on myös kerrottu kommenteilla.
xorg.conf-tiedoston alussa on yleensä osio <tt>Section "Module"</tt> jossa ladataan erilaisia moduuleja komennolla <tt>Load "moduuli"</tt>. Yleensä moduuleja on listattu useita, ja usein niiden merkitys on myös kerrottu kommenteilla.


Tätä osiota täytyy muuttaa yleensä silloin, kun asennetaan [[Binääriajurit|näytönohjaimen ajurit]]. Esimerkiksi NVIDIA:n näytönohjainta käytettäessä on ladattava moduuli glx mutta ei saa ladata moduulia dri.
Tätä osiota täytyy muuttaa yleensä silloin, kun asennetaan [[Binääriajurit|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===
==Syöttölaitteet==
Osioissa tyyppiä <tt>Section "InputDevice"</tt> määritellään syöttölaitteet, kuten näppäimistö ja [[hiiri]]. Suomalaista näppäimistöä käytettäessä täytyy usein kertoa näppäimistönasettelusta omalla parametrilla. Hiiri ja näppäimistö tunnistuvat nykyään yleensä automaattisesti, jolloin syöttölaitteita koskevat kohdat voi jopa kokonaan poistaa xorg.confista.
Osioissa tyyppiä <tt>Section "InputDevice"</tt> 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ä:
Esimerkki tavallisesta näppäimistöstä:
  Section "InputDevice"
  Section "InputDevice"
     Identifier "Keyboard1"          #Kutsumanimi
     Identifier "Keyboard1"          #Kutsumanimi
     Driver "kbd"                #Ajuri
     Driver     "kbd"                #Ajuri
     Option "AutoRepeat" "500 30"
     Option "AutoRepeat" "500 30"
     #Suomalaiset asetukset
     #Suomalaiset asetukset
     Option "XkbModel" "pc105"
     Option "XkbModel"   "pc105"
     Option "XkbLayout" "fi"
     Option "XkbLayout" "fi"
  EndSection
  EndSection
Fi:n sijaan voi ongelmatilanteessa yrittää käyttää sen kanssa identtistä se-näppäinkarttaa.


Vastaavasti tavallinen kolmenappinen (kaksi nappia + rullan painamismahdollisuus) rullahiiri esitellään seuraavasti
Tavallinen kolmenappinen (kaksi nappia + rullan painamismahdollisuus) rullahiiri esitellään seuraavasti
  Section "InputDevice"
  Section "InputDevice"
     Identifier "Mouse1"
     Identifier "Mouse1"
     Driver "mouse"
     Driver     "mouse"
     Option "Protocol"    "Auto"      #Tunnistetaan protokolla automaattisesti
     Option "Protocol"    "Auto"      #Tunnistetaan protokolla automaattisesti
     Option "Device"      "/dev/input/mice"  #Hiiren laite   
     Option "Device"      "/dev/input/mice"  #Hiiren [[laitetiedostot|laitetiedosto]]
     #Rullalla vierittäminen
     #Rullalla vierittäminen
     Option "ZAxisMapping"    "4 5"
     Option "ZAxisMapping"    "4 5"
    #Kolmannen näppäimen emulointi kahta päänäppäintä painamalla
    #Suositeltava erityisesti hiirissä, joissa ei ole painettavaa rullaa
    Option "Emulate3Buttons"
  EndSection
  EndSection


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


==Näytönohjain==
===Näytönohjain===
Osiossa <tt>Section "Device"</tt> määritellään käytettävä näytönohjain. Esimerkki kertoo enemmän kuin tuhat sanaa:
Osiossa <tt>Section "Device"</tt> määritellään käytettävä näytönohjain ja sen ajuri. Usein tässä osiossa on myös määriteltynä tiettyyn fyysiseen laitteeseen viittaava BusID-asetus. Tämä asetus on kuitenkin vikaherkkä ja myös tarpeeton, mikäli samanaikaisesti ei haluta käyttää useampaa eri näytönohjainta. 3d-kiihdytyksen käyttämiseksi on usein asennettava [[Binääriajurit|binääriajureita]]. Esimerkki kertoo enemmän kuin tuhat sanaa:
  Section "Device"
  Section "Device"
     Identifier  "GeForce"            #Nimi (vapaavalintainen)
     Identifier  "GeForce"            #Nimi (vapaavalintainen)
     Driver      "nvidia"            #Käytettävä ajuri (vaatii nvidia-nimisen kernel-moduulin)
     Driver      "nvidia"            #Käytettävä ajuri (vaatii nvidia-nimisen ajurimoduulin)
  EndSection
  EndSection
Simppeliä, eikö?


==Näyttö==
===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 asetuksia määriteltäessä on oltava tarkkana, sillä väärät asetukset saattavat jopa rikkoa näytön. Etenkin vaaka- ja pystytahdistusarvot ovat tässä suhteessa tärkeät. X.org osaa tosin yleensä automaattisestikin tunnistaa sopivat tahdistusarvot, joten niitä ei välttämättä kannata edes yrittää määrittää. Tällöin näytön asetukseksi riittää yleensä pelkkä tunniste.


Näytön tiedot määritellään osiossa <tt>Section "Monitor"</tt>. 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.
Näytön tiedot määritellään osiossa <tt>Section "Monitor"</tt>. Näytölle annetaan tunniste (Identifier) sekä mahdollisesti 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ä:
Esimerkki Philips 107e kuvaputkinäytön esittelystä:
Rivi 62: Rivi 91:
  Section "Monitor"
  Section "Monitor"
     Identifier  "Philips 107E"          #Nimi
     Identifier  "Philips 107E"          #Nimi
     HorizSync  30-70                  #Pystytahdistus
     HorizSync  30-70                  #Vaakatahdistus
     VertRefresh 50-160                  #Vaakatahdistus
     VertRefresh 50-160                  #Pystytahdistus
  EndSection
  EndSection


 
===Laitteet käyttöön===
==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ää).
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ää).


Rivi 99: Rivi 127:
     InputDevice "Keyboard1" "CoreKeyboard"      #Käytettävä näppis (CoreKeyboard)
     InputDevice "Keyboard1" "CoreKeyboard"      #Käytettävä näppis (CoreKeyboard)
  EndSection
  EndSection
ServerLayouteja voi halutessaan määritellä useampia, jolloin käytettävä layout määritellään ''-layout''-valitsimella X:n käynnistyksen yhteydessä.
Esimerkki toimivasta xorg.confista i810-piirisarjan näytönohjaimella, Compaqin P70-näytöllä, rullahiirellä sekä standardilla näppäimistöllä:
Section "Module"
    Load        "dbe"
    Load        "freetype"
EndSection
Section "InputDevice"
    Identifier  "nappaimisto"
    Driver      "kbd"
    Option "XkbModel"  "pc105"
    Option "XkbLayout"  "fi"
    Option "AutoRepeat" "500 30"
EndSection
Section "InputDevice"
    Identifier  "hiiri"
    Driver      "mouse"
    Option "Protocol"    "Auto"
    Option "Device"      "/dev/input/mice"
    Option "ZAxisMapping"  "4 5 6 7"
    Option "Emulate3Buttons"
EndSection
Section "Monitor"
    Identifier  "p70"
EndSection
Section "Device"
    Identifier  "integroitu"
    Driver      "i810"
EndSection
Section "Screen"
    Identifier  "naytto"
    Device      "integroitu"
    Monitor    "p70"
    DefaultDepth 24
    Subsection "Display"
        Depth      16
        Modes      "1024x768" "800x600"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth      24
        Modes      "1024x768" "800x600"
        ViewPort    0 0
    EndSubSection
  EndSection
Section "ServerLayout"
    Identifier  "kokoonpano"
    Screen "naytto"
    InputDevice "hiiri" "CorePointer"
    InputDevice "nappaimisto" "CoreKeyboard"
EndSection
Oletuksena tuleva minimaalinen xorg.conf X.org 1.3:a käyttävässä [[Fedora]] 7:ssä:
Section "ServerLayout"
        Identifier    "Default Layout"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "fi"
EndSection
Section "Device"
        Identifier  "Videocard0"
        Driver      "i810"
EndSection
Section "Screen"
        Identifier "Screen0"
        Device    "Videocard0"
        DefaultDepth    24
EndSection
== Kaksi näyttöä ==
''Pääartikkeli: [[Monen näytön järjestelmät]]''
Kahta (tai useampaa) näyttöä voidaan käyttää X:n kanssa muutamalla eri tavalla. Näytönohjaimen ajurista riippumattomia keinoja ovat [[RandR]] sekä vanhempi [[Xinerama]]. Nvidian korteilla voidaan käyttää Nvidian omaa [[TwinView]]-teknologiaa.
=== RandR ===
Useamman näytön asettamista RandRin avulla on neuvottu artikkelissa [[RandR]].
=== Radeon ([[Xinerama]]) kahdella näytöllä ===
xorg.conf-tiedostoon tarvitsee luoda kaksi laitetta, joita aiotaan käyttää virtuaalinä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ääritellään tietokoneeseen kytketyt näytöt:
        Section "Monitor"
        Identifier    "Main Monitor"
        Option        "DPMS"
        EndSection
        Section "Monitor"
        Identifier    "Second Monitor"
        Option        "DPMS"
        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 "ServerLayout" osaa seuraavat rivit. Itse "ServerLayout" kohdasta voit vaikkapa kommentoida (#-kommenttimerkki) pois Xinerama rivin.
        Section "ServerFlags"
        Option "Xinerama" "on"
        EndSection
"ServerLayout"-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 uudelleen esimerkiksi kirjautumalla ulos ja painamalla [[graafinen kirjautumisohjelma|kirjautumisruudussa]] näppäinyhdistelmää Ctrl+Alt+Backspace.
Xineraman avulla on mahdollista käyttää myös useampaa kuin kahta näyttöä. Ohjeet tähän löytyvät artikkelista [[Xinerama]].
=== Nvidia (TwinView) kahdella näytöllä ===
Katso artikkelia [[TwinView]].
== NVidia ==
Nvidian [http://www.nvidia.com/object/unix.html 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 Window System|X]]:n käynnistyksen yhteydessä, voi vika olla siinä, että ajurit on määritelty käyttämään käyttöjärjestelmän omia [[wikipedia:fi:AGP|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 BIOSista. Esimerkkinä Asus A8V Deluxe BIOSin 1007-version päivittäminen 1017-versioon poistaa ongelmat AGPGART:n kanssa, jolloin Nvidian ajurit alkavat toimimia myös asetuksella
Option "NvAGP" "3"
Tämän 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.
HUOM! Nvidian ajuripaketti kannattaa ensisijaisesti asentaa [[jakelu]]n omaa [[paketinhallinta]]a ja työkaluja käyttäen. Nvidian sivuilta saatavaa pakettia ei kannata asentaa muulloin kuin silloin, jos muuta menetelmää ei ole saatavilla.
==Katso myös==
*[[Fdi]]
*[[Näytön kalibrointi]]
*[[RandR]]
*[[TwinView]]
*[[Xinerama]]
*[[Glxgears]]
[[Luokka:Ohjeet]] 
[[Luokka:Asetustiedostot]]
[[Luokka:X]]

Nykyinen versio 1. lokakuuta 2020 kello 04.54

Linux-käyttäjälle voi joskus tulla eteen tilanne, jossa X:n asetukset eivät ole kunnossa ja graafinen ympäristö ei toimi. Tällöin X:n asetustiedostoa on yleensä muokattava käsin, mikäli järjestelmään ei sisälly mitään tekstitilassa toimivaa asetusvelhoa, jolla voisi automaattisesti korjata asetukset.

Asetusten toimimattomuuden syynä on usein se, että asetustiedostossa on yritetty määrittää liikaa asioita, jolloin olosuhteiden muuttuessa X herkästi lakkaa toimimasta. Yleensä kannattaa antaa X:n itse automaattisesti määrittää mahdollisimman monet asetukset, jolloin riski väärien asetusten olemassaololle pienenee.

X-palvelimen uudemmat versiot osaavat tunnistaa laitteiston niin hyvin, että vikatilanteessa usein riittää asetustiedoston siirtäminen toiselle nimelle, jolloin X käynnistyy kokonaan ilman asetustiedostoa.

Minimaalisissa tai kokonaan puuttuvissa asetuksissa on haittana se, että esimerkiksi näytön asetukset saattavat tunnistua väärin, mikäli näyttö ei X:n käynnistyksen aikana ole päällä. Tähän on yleensä ratkaisuna X:n uudelleenkäynnistäminen, mikä graafisen kirjautumisohjelman käytössä ollessa kannattaa tehdä näppäinyhdistelmällä Ctrl+Alt+Peruutusnäppäin (Backspace).

Näytönohjaimen vaihtuessa riittää usein muuttaa pelkkä ajurimoduulin nimi, mikäli näytönohjaimet ovat suunnilleen samantehoiset eikä sallittuihin resoluutioihin haluta muutoksia. 3D-toimintoja varten tarvitaan yleensä enemmän muutoksia.

X.org:in asetustiedosto sijaitsee lähes aina polussa /etc/X11/xorg.conf Käytettävää asetustiedostoa voi vaihtaa komentoriviltä -config-valitsimella, esimerkiksi X -config /etc/X11/xorg.conf.bak. XFree86:ssa, johon X.org pohjautuu, asetustiedosto löytyi polusta /etc/X11/XF86Config.

Asetustiedoston tarve[muokkaa]

Uusimmat X.orgin versiot osaavat tunnistaa laitteiston ja tehdä asetukset niin hyvin, että hyvinkin pelkistetty asetustiedosto riittää. Asetuksia on tehtävä xorg.conf-tiedostoon vain, jos automaattisesti tehdyt asetukset eivät toimi oikein. Tässä artikkelissa käydään läpi asetustiedoston rakennetta ja eri asetusten vaikutusta hyvinkin laajasti. Ongelmatapauksissa asetustiedostoon voidaan lisätä tarvittavia asetuksia tämän ohjeen mukaan, jolloin X käyttää näitä asetuksia eikä yritä tehdä niitä automaattisesti.

Asetustiedoston automaattinen luonti[muokkaa]

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ää komentoriviltä komennolla xorgconfig. Xorgconfigin luoma tiedosto sisältää runsaasti kommentteja asetusten muokkauksen helpottamiseksi.

Myös komentoa X -configure voi käyttää uuden asetustiedoston luomiseen.

Nvidian kaupallisten binääriajureiden käyttäjille suositellaan komentoa nvidia-xconfig, joka luo yleensä täysin valmiin asetustiedoston.

X:n sulkeminen ja uudelleenkäynnistäminen[muokkaa]

X:n joutuu yleensä käynnistämään uudelleen, jotta uudet asetukset tulisivat voimaan. Toisaalta joissakin vikatilanteissa asetustiedostoja ei pääse muokkaamaan, koska X ei toimi, mutta kuitenkin varaa näytön.

Graafisessa tilassa näppäinyhdistelmä Ctrl+Alt+Peruutusnäppäin (Backspace) sulkee X:n, riippuen asetustiedostosta. X:n voi sulkea myös komentoriviltä, jolle pääsee esimerkiksi eri virtuaalikonsolilta (Ctrl+Alt+F1). Komentoriviltä voi myös käynnistää sopivan editorin (esim. emacs, vi tai nano), jolla muokata asetustiedostoa (gnomen ja kde:n editorit eivät välttämättä toimi tekstitilassa).

Katso tarkemmin artikkelissa X Window System.

xorg.conf[muokkaa]

Rakenne[muokkaa]

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[muokkaa]

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[muokkaa]

Osioissa tyyppiä Section "InputDevice" määritellään syöttölaitteet, kuten näppäimistö ja hiiri. Suomalaista näppäimistöä käytettäessä täytyy usein kertoa näppäimistönasettelusta omalla parametrilla. Hiiri ja näppäimistö tunnistuvat nykyään yleensä automaattisesti, jolloin syöttölaitteita koskevat kohdat voi jopa kokonaan poistaa xorg.confista.

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

Fi:n sijaan voi ongelmatilanteessa yrittää käyttää sen kanssa identtistä se-näppäinkarttaa.

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 laitetiedosto
   #Rullalla vierittäminen
   Option "ZAxisMapping"    "4 5"
   #Kolmannen näppäimen emulointi kahta päänäppäintä painamalla
   #Suositeltava erityisesti hiirissä, joissa ei ole painettavaa rullaa
   Option "Emulate3Buttons"
EndSection

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

Näytönohjain[muokkaa]

Osiossa Section "Device" määritellään käytettävä näytönohjain ja sen ajuri. Usein tässä osiossa on myös määriteltynä tiettyyn fyysiseen laitteeseen viittaava BusID-asetus. Tämä asetus on kuitenkin vikaherkkä ja myös tarpeeton, mikäli samanaikaisesti ei haluta käyttää useampaa eri näytönohjainta. 3d-kiihdytyksen käyttämiseksi on usein asennettava binääriajureita. Esimerkki kertoo enemmän kuin tuhat sanaa:

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

Näyttö[muokkaa]

Näytön asetuksia määriteltäessä on oltava tarkkana, sillä väärät asetukset saattavat jopa rikkoa näytön. Etenkin vaaka- ja pystytahdistusarvot ovat tässä suhteessa tärkeät. X.org osaa tosin yleensä automaattisestikin tunnistaa sopivat tahdistusarvot, joten niitä ei välttämättä kannata edes yrittää määrittää. Tällöin näytön asetukseksi riittää yleensä pelkkä tunniste.

Näytön tiedot määritellään osiossa Section "Monitor". Näytölle annetaan tunniste (Identifier) sekä mahdollisesti 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                   #Vaakatahdistus
   VertRefresh 50-160                  #Pystytahdistus
EndSection

Laitteet käyttöön[muokkaa]

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

ServerLayouteja voi halutessaan määritellä useampia, jolloin käytettävä layout määritellään -layout-valitsimella X:n käynnistyksen yhteydessä.

Esimerkki toimivasta xorg.confista i810-piirisarjan näytönohjaimella, Compaqin P70-näytöllä, rullahiirellä sekä standardilla näppäimistöllä:

Section "Module"
    Load        "dbe"
    Load        "freetype"
EndSection
Section "InputDevice"
    Identifier  "nappaimisto"
    Driver      "kbd"
    Option "XkbModel"   "pc105"
    Option "XkbLayout"  "fi"
    Option "AutoRepeat" "500 30"
EndSection
Section "InputDevice"
    Identifier  "hiiri"
    Driver      "mouse"
    Option "Protocol"    "Auto"
    Option "Device"      "/dev/input/mice"
    Option "ZAxisMapping"   "4 5 6 7"
    Option "Emulate3Buttons"
EndSection
Section "Monitor"
    Identifier  "p70"
EndSection
Section "Device"
    Identifier  "integroitu"
    Driver      "i810"
EndSection
Section "Screen"
    Identifier  "naytto"
    Device      "integroitu"
    Monitor     "p70"
    DefaultDepth 24
    Subsection "Display"
        Depth       16
        Modes       "1024x768" "800x600"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1024x768" "800x600"
        ViewPort    0 0
    EndSubSection
  EndSection
Section "ServerLayout"
    Identifier  "kokoonpano"
    Screen "naytto"
    InputDevice "hiiri" "CorePointer"
    InputDevice "nappaimisto" "CoreKeyboard"
EndSection

Oletuksena tuleva minimaalinen xorg.conf X.org 1.3:a käyttävässä Fedora 7:ssä:

Section "ServerLayout"
        Identifier     "Default Layout"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "fi"
EndSection

Section "Device"
        Identifier  "Videocard0"
        Driver      "i810"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
EndSection

Kaksi näyttöä[muokkaa]

Pääartikkeli: Monen näytön järjestelmät

Kahta (tai useampaa) näyttöä voidaan käyttää X:n kanssa muutamalla eri tavalla. Näytönohjaimen ajurista riippumattomia keinoja ovat RandR sekä vanhempi Xinerama. Nvidian korteilla voidaan käyttää Nvidian omaa TwinView-teknologiaa.

RandR[muokkaa]

Useamman näytön asettamista RandRin avulla on neuvottu artikkelissa RandR.

Radeon (Xinerama) kahdella näytöllä[muokkaa]

xorg.conf-tiedostoon tarvitsee luoda kaksi laitetta, joita aiotaan käyttää virtuaalinä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ääritellään tietokoneeseen kytketyt näytöt:

       Section "Monitor"
       Identifier    "Main Monitor"
       Option        "DPMS"
       EndSection
       Section "Monitor"
       Identifier    "Second Monitor"
       Option        "DPMS"
       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 "ServerLayout" osaa seuraavat rivit. Itse "ServerLayout" kohdasta voit vaikkapa kommentoida (#-kommenttimerkki) pois Xinerama rivin.

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

"ServerLayout"-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 uudelleen esimerkiksi kirjautumalla ulos ja painamalla kirjautumisruudussa näppäinyhdistelmää Ctrl+Alt+Backspace.

Xineraman avulla on mahdollista käyttää myös useampaa kuin kahta näyttöä. Ohjeet tähän löytyvät artikkelista Xinerama.

Nvidia (TwinView) kahdella näytöllä[muokkaa]

Katso artikkelia TwinView.

NVidia[muokkaa]

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[muokkaa]

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 BIOSista. Esimerkkinä Asus A8V Deluxe BIOSin 1007-version päivittäminen 1017-versioon poistaa ongelmat AGPGART:n kanssa, jolloin Nvidian ajurit alkavat toimimia myös asetuksella

Option "NvAGP" "3"

Tämän 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.

HUOM! Nvidian ajuripaketti kannattaa ensisijaisesti asentaa jakelun omaa paketinhallintaa ja työkaluja käyttäen. Nvidian sivuilta saatavaa pakettia ei kannata asentaa muulloin kuin silloin, jos muuta menetelmää ei ole saatavilla.

Katso myös[muokkaa]