Xorg, Nvidia VGA(HD-15) ja DVI video ulostulot

Tervehdys arvon foorumilaiset!

Tilanne on sellainen että koneessani on Nvidia 7300GT näytönohjain PCI-E väyläliitännällä sekä VGA/HD-15) ja DVI video ulostuloilla. Käytän konetta suurimman osan ajasta käyttäen vain DVI liitännäistä LCD-näyttöä ja satunnaisesti samanaikaisesti LCD-TV:tä käyttäen näytönohjaimen VGA-liitäntää.

Ongelmana on näyttösignaalin ohjautuminen VGA-liitäntään mikäli TV on kytkettynä koneen (kun X-server käynnistyy) käynnistyksen aikana. Tavoitteena olisi että videosignaali ohjautuu aina DVI liitännän kautta LCD-näytölle ja voisin ottaa LCD-TV:n käyttöön VGA-liitännän tarpeen mukaan nvidia-settings ajuripaneelin kautta.

Kysymys vielä lyhyesti. Miten saisin näyttösignaalin aina DVI-liitännästä ulos oletuksena olevan VGA-liitännän sijaan? Alla käsin konfiguroitu xorg.conf.

Kiitos vastauksista jo etukäteen!

Section "Files"
FontPath "/usr/share/fonts/default/Type1"
ModulePath "/usr/lib64/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib64/xorg/modules/drivers"
ModulePath "/usr/lib64/xorg/modules"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section “InputDevice”
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option “Protocol” "auto"
Option “Device” "/dev/input/mice"
Option “Emulate3Buttons” "no"
Option “ZAxisMapping” "4 5"
EndSection

Section “InputDevice”
# generated from data in "/etc/sysconfig/keyboard"
Identifier "Keyboard0"
Driver "kbd"
Option “XkbLayout” "fi"
Option “XkbModel” "pc105"
EndSection

Section "Monitor"
Identifier "Monitor0"
ModelName "LCD Panel 1680x1050"
HorizSync 28.0 - 83.0
VertRefresh 56.0 - 75.0
Option "dpms"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
Option “AddARGBGLXVisuals” "True"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes “1680x1050”
# Virtual 1680 1850
EndSubSection
EndSection

Section "Extensions"
Option “Composite” "Enable"
EndSection

Voit ainakin käyttää nvidia-settingsiä apuna käynnistäen sen komennolla:
“sudo nvidia-settings” ja määrittelemällä näytöt siinä ja tämän jälkeen painamalla display configuration välilehdellä “save to X configuration file” jolloin asetusten pitäisi pysyä tallessa.
Tosin buutatessa voi olla että kortti pitää ensisijaisena liitäntänä vga:ta jos siihen on jotain kytketty ja jolloin se tarjoaa aina ensiksi kuvaa sinne, mutta x:n käynnistymisvaiheessa viimeistään tuon pitäisi korjautua kun xorg.conf:sta luetaan oikea asetelma.

Morjens,

mikäli LCD-TV on kytketty kortin VGA liitäntään bootin aikana, käy seuraavasti:

  • DVI-liitäntään kytketty LCD-näyttö on käytössä X-serverin käynnistymiseen asti.
  • X-serverin käynnistymisen jälkeen kuva siirtyy automaagisesti VGA-liitäntään. Tämä ei ole suotavaa, koska TV on yleisesti normaalissa TV käytössä eikä sijaitse aivan tietokoneen vieressä, joten kirjautuminen ja asetusten näprääminen 10 m:n päästä on hankalaa.

Nvidia-settings -ohjelmassa on vaihtoehtona valita jompi kumpi näytöistä oletus näytöksi (Ruksi kohtaan “Set this display as default”). Tästä valinnasta on hyötyä vain mikäli käyttää kahta näyttöä “clone” tai “dual view”-moodissa.

  • “Clone”-moodi on muuten hyvä, mutta pakottaa käyttämään hd-ready LCD-TV matalaa resoluutiota myös LCD-näytöllä.
  • “Dualview”-moodi ilman xinedramaa on muuten jees, mutta ohjelmat tuppaavat häviämään aina LCD-TV:n työpöydälle normaalissa tietokone käytössä. Xinedrama-laajennus tarjoaa säätövaihtoehtoja, mutta jostain kumman syystä 3D-kiihdytys (OpenGL:aa käyttävät ohjelmat) eivät tällöin toimi edes päänäytöllä(LCD-näytöllä).

Tilanne olisi ok, jos videosignaali ohjautuisi oletuksena DVI-liitäntään mikäli sekä DVI että VGA-liitäntä ovat käytössä.
Tässä vaiheessa on hyvä kysyä, että minkä takia hakkaan päätäni seinään ja en yksinkertaisesti kytke LCD-näyttöä VGA-liitäntään ja LCD-TV:tä DVI/HDMI-kaapelilla DVI-liitäntään?
Vastaus on sellainen, että olen jo ostanut ja asentanut kaapelit paikalleen ja haluan laadukkaamman digitaalisen signaalin näytölle jota käytän 95% ajasta.

t: Rationaalinen

ainakin ajurin 180.44 ja 8.10 tai 9.04 ubuntun kanssa käyttäessä twinview tilaa näytöt pysyvät oikeinpäin(kuten nvidia-settingsillä on asetettu) ja ohjelmat eivät jakaannu kahdelle näytölle, vaan aukeavat ensisijaisesti ensimmäiselle näytölle.
Vanhemman ajurin kanssa koin samaa ongelmaa että ohjelmat tahtoivat aukeilla väärälle näytölle, kenties vikaa oli gnomenkin versiossa…

Kiitoksia Petri_din vinkistä!

Käytössä ollut nvidia-177-sarjan ajuri oli hieman vajaavainen ainakin 7300GT kortin kanssa. Uudemmalla 180.40 sarjan ajurilla twinview tila toimii joten sakin niin kuin sen on varmaan tarkoituskin.

Varsinainen työtila asettuu twinview-tilassa päänäytölle ja työpöytä ilman alapalkkia ja taustakuvaa näkyy VGA-liitännän kautta LCD-TV:ssä. Käytettävyys ei ole yhtä hyvä kuin “clone”-tilassa, mutta tällä hetkellä sekin riittää että OpenGL-ohjelmat pyörivät päänäytöllä ja videosoittimen saa raahattua päänäytöltä TV:n puolelle ja soitinta voi käyttää näppäinkomennoilla.

Tällä kertaa täytyy tyytyä tähän.

Bittiavaruutta läpi kahlaamalla löysin kaksi suorituskykyä parantavaa optiota, jotka kannattaa kokeilla 7000-sarjan ja sitä vangempien Nvidian korttien kanssa. OpenGL 3D kiihdytystä käyttävien ohjelmien suorituskyky parani ruudunpäivitysnopeutta (FPS) mittaavan ohjelman mukaan n. 5-20 %, riippuen ohjelmasta. Mittaustulokset eivät ole tieteellisen tarkat vaan näppäilin ja pyörittelin OpenGL -ohjelmia käsivaralla.

xorg.conf :n “Screen” osion (section) aliosioon (subsection) seuraavan optiot:

Option “PixmapCacheSize” "1000000"
Option “AllowSHMPixmaps” “0”

Eli esimerkiksi näin:

Section "Screen"
Identifier "Default Screen"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option “AddARGBGLXVisuals” "True"
SubSection “Display”

    #       Virtual 1680 1850
    Viewport    0 0
    Depth       24
    Modes      "1680x1050"
    Option         "PixmapCacheSize" "1000000"
    Option         "AllowSHMPixmaps" "0"
EndSubSection

EndSection

t: Rationaalinen

Mukava kuulla että neuvosta oli hyötyä, tuota suorituskyvyn paranemista pitääkin kokeilla.