NVidia ja TV-out

Discussion in 'Linux -keskustelu' started by nabla, Jan 16, 2005.

  1. nabla

    nabla Member

    Joined:
    Jan 3, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    11
    Onko mahdollista saada GF6600GT kortista kuva telkkuun niin, että monitorissa on resoluutiona 1280x960@100Hz ja televisiossa esim. 800x600 (videoitten katseluun) ja sitten telkussa näkyisi sama kuva kuin monitorissa, eli ei mitään laajennettua työpöytää.
    Uusimmilla nvidian ajureilla sain kyllä toimimaan muuten hyvin, mutta monitorille virittämäni virkistystaajuudet katosivat ja tippui 1280x960 tilassa 100Hz:stä 85Hz:iin.
    xorg.conf asetukset olivat jotenkin näin samassa device-sarakkeessa jossa määrittelin näytönohjaimen:

    Option "TwinView" "True"
    Option "TwinViewOrientation" "Clone"
    Option "SecondMonitorHorizSync" "30-50"
    Option "SecondMonitorVertRefresh" "60"
    Option "MetaModes" "1280x960, 800x600"
    Option "TVStandard" "PAL-B"
    Option "TVOutFormat" "SVIDEO"

    Monitorin asetukset ja modelinet olivat siis määritelty erikseen displays -sarakkeessa.
     
  2. nabla

    nabla Member

    Joined:
    Jan 3, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    11
    Noh.. kun ei tule vastauksia niin kysytään näin: Minkälaista viritystä käytät/suosittelet TV-out kanssa?
     
  3. juppe22

    juppe22 Active member

    Joined:
    May 27, 2002
    Messages:
    2,660
    Likes Received:
    0
    Trophy Points:
    66
    Mä käytän tällasta...

    Driver "nvidia"
    Option "RenderAccel" "true"
    Option "AllowGLXWithComposite" "yes"
    Option "Twinview" "True"
    Option "MetaModes" "1024x768, 1024x768"
    Option "ConnectedMonitor" "CRT, TV"
    Option "SecondMonitorHorizSync" "30-50"
    Option "SecondMonitorVertRefresh" "60"
    Option "TwinViewOrientation" "Clone"
    Option "TVOutFormat" "COMPOSITE"
    Option "TVStandard" "PAL-B"

    ...ja ongelmia ei ole ollut jos näytölle ja TV:lle on sama resoluutio...mutta jos pienennän TV:n resoluution vaikka 800x600 tai 640x480, niin sen jälkeen TV:ssä näkyy vain osa tosta koko näytöstä...
     
    Last edited: Jan 23, 2005
  4. anatemus

    anatemus Regular member

    Joined:
    Mar 11, 2002
    Messages:
    472
    Likes Received:
    0
    Trophy Points:
    26
    Olen tässä yrittänyt saada toimimaan kuten windowsillakin: kortti pystyy enintään 800x600 resoon töllölle -> monitorissa 1024x768, tv:ssä "1024x768"-klooni josta näkyy 800x600 (skrollaa hiiren mukana). Media Player Classic (windows) vaihtaa kokoruututilassa 800x600 resoon, jolloin tv:ssäkin näkyy koko kuva.

    Tämän hetken "kehitysversio":

    Option "TwinView" "On"
    Option "MetaModes" "1024x768, 800x600 @1024x768; 800x600,800x600; 640x480,640x480"
    Option "HorizSync" "CRT: 30-70; TV: 30-50"
    Option "VertRefresh" "CRT: 50-160; TV: 60"
    Option "ConnectedMonitor" "CRT,TV"
    Option "TwinViewOrientation" "Clone"
    Option "TVStandard" "PAL-B
    Option "TVOutFormat" "SVIDEO"
    Option "NvAGP" "1"
    Option "AGPMode" "4"
    Option "NoLogo" "1"
    Option "DPMS"
    Option "IgnoreEDID" "1"
    Driver "nvidia"

    Tällä saan toteutettua monitori: 1024x768, tv: 1024x768 @800x600 tilan. Mutta kun painan [CTRL] + [ALT] + [+]/[-], monitorillekin tulee hiiren mukana skrollautuva kuva, tosin samalla resolla kuin tv:ssä.

    Vaihdanko resoa väärällä tavalla, vai mitä ymmärsin väärin?
     
    Last edited: Jan 24, 2005
  5. nabla

    nabla Member

    Joined:
    Jan 3, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    11
    Sainpas ratkaistua oman alkuperäisen kysymykseni =)
    Mointorin virkistystaajuudet sai pysymään 100Hz:ssä yksinkertaisesti käyttämällä monitorille määrittelemää modelinen nimeä, eli lisäsin "1280x960_100" Devises sektion modes kohtaan... pienestä oli kii, mut kauan meni ennenku tajus =P. Nyt Monitorissa on siisti 1290x960, 100Hz työpöytä, ja televisiossa kloonina 800x600, jne.

    Lopputulos:
    ### Monitors -----------------------------------------------

    Section "Monitor"
    Identifier "SyncMaster"
    VendorName "Samsung"
    ModelName "Syncmaster 959NF"
    HorizSync 30-110
    VertRefresh 50-160

    # Monitori 100Hz -------------------------------------------------------------------------
    # 1280x1024 @ 100.00 Hz (GTF) hsync: 108.50 kHz; pclk: 190.96 MHz
    Modeline "1280x1024_100" 190.96 1280 1376 1520 1760 1024 1025 1028 1085 -HSync +Vsync

    # 1280x960 @ 100.00 Hz (GTF) hsync: 101.70 kHz; pclk: 178.99 MHz
    Modeline "1280x960_100" 178.99 1280 1376 1520 1760 960 961 964 1017 -HSync +Vsync

    # 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
    Modeline "1024x768_100" 113.31 1024 1096 1208 1392 768 769 772 814 -HSync +Vsync

    # 800x600 @ 100.00 Hz (GTF) hsync: 63.60 kHz; pclk: 68.18 MHz
    Modeline "800x600_100" 68.18 800 848 936 1072 600 601 604 636 -HSync +Vsync

    EndSection


    ### Devices -----------------------------------------------

    Section "Device"
    Identifier "NVidia"
    Driver "nvidia"
    VendorName "nVidia Corporation"
    BoardName "GeForce 6600 GT"
    BusID "PCI:3:0:0"
    Option "NvAGP" "1"
    Option "NoLogo" "True"

    # TV-out -----

    Option "TwinView" "True"
    Option "ConnectedMonitor" "CRT-0, TV-0"
    Option "TwinViewOrientation" "Clone"

    Option "HorizSync" "CRT-0: 30-110; TV-0: 30-50"
    Option "VertRefresh" "CRT-0: 50-160; TV-0: 60"
    Option "MetaModes" "1280x960_100, 1024x768; 1280x960_100, 800x600; 1280x960_100, 640x480"

    Option "TVStandard" "PAL-B"
    Option "TVOutFormat" "SVIDEO"

    # Cursor -----

    Option "HWcursor" "True"
    Option "CursorShadow" "True"
    Option "CursorShadowAlpha" "64"
    Option "CursorShadowXOffset" "4"
    Option "CursorShadowYOffset" "2"

    EndSection

    ja sitten pitää alkaa selvittää miten näkisi vielä sen videon siellä telkkarissa fullscreenina (..huoh)

     
  6. -jean-

    -jean- Member

    Joined:
    Jun 8, 2004
    Messages:
    29
    Likes Received:
    0
    Trophy Points:
    11
    selvitäppäs samalla, että miten sais niin, että tvssä näkyis vain yksi työpöytä.
    Että toisella työpöydällä vois tehdä jotain muuta, kun joku katsoo videoa :D
     
  7. juppe22

    juppe22 Active member

    Joined:
    May 27, 2002
    Messages:
    2,660
    Likes Received:
    0
    Trophy Points:
    66
    Oletko kokeillut:
    Option "TwinViewOrientation" "RightOf"
    Option "TwinViewOrientation" "LeftOf"

    eli jompikumpi sen clonen tilalle...vai minkälaista tarkotit...??
     
  8. anatemus

    anatemus Regular member

    Joined:
    Mar 11, 2002
    Messages:
    472
    Likes Received:
    0
    Trophy Points:
    26
    @nabla:
    Skaalautuuko koko näyttö tv:lle 800x600 resoon, vai croppaako se monitorin kuvasta 800x600 siivun? Tuohan olisi kätevä, jos saisi skaalaamaan..

    @-jean-:
    Jos juppe22:n vinkki ei ole haluamasi, nvidian ohjeesta löytyy hankalampikin tapa:
    ftp://download.nvidia.com/XFree86/Linux-x86/1.0-6629/README.txt ja kohta APPENDIX R: CONFIGURING MULTIPLE X SCREENS ON ONE CARD

    Omaan ongelmaani päivitystä: Olen nyt aikani kahlannut xorg.conf:in man-sivua, Nvidian omaa asennusohjetta ja xorg:in logia.

    Asetukset edelleen jotakuinkin samat kuin aiemmin. Mutta huomasin, että KDE:n ohjauskeskuksesta resoa vaihdettaessa "virtuaalinen koko" on sama kuin näkyvä koko (ei siis skrollaile hiiren mukana).

    Mitä [CTRL] + [ALT] + [+]/[-] tekee erilailla kuin KDE? Näppäinyhdistelmä olisi paaaaljon kätevämpi...
     
  9. nabla

    nabla Member

    Joined:
    Jan 3, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    11
    Eipä skaalaudu, vaan croppaa juuri niin kuin sanoit. Eipä ollutkaan kovin käytännöllinen tuo edellinen asetukseni.
    Kokeilin sitten tuota sinun -jean-:lle antamasi linkkiä (ftp://download.nvidia.com/XFree86/Linux-x86/1.0-6629/README.txt, APPENDIX R: CONFIGURING MULTIPLE X SCREENS ON ONE CARD)
    jonka jälkeen xorg.conf näytti pääosiltaan tällaiselta:

    #monitori
    Section "Monitor"
    Identifier "SyncMaster"
    VendorName "Samsung"
    ModelName "Syncmaster 959NF"
    HorizSync 30-110
    VertRefresh 50-160
    # 1280x960 @ 100.00 Hz (GTF) hsync: 101.70 kHz; pclk: 178.99 MHz
    Modeline "1280x960_100" 178.99 1280 1376 1520 1760 960 961 964 1017 -HSync +Vsync
    EndSection

    #televisio
    Section "Monitor"
    Identifier "LG"
    VendorName "LG Electronics"
    HorizSync 30-50
    VertRefresh 60
    EndSection

    Section "Device"
    Identifier "nvidia0"
    Driver "nvidia"
    BusID "PCI:3:0:0"
    Option "NvAGP" "1"
    Option "NoLogo" "True"
    Option "ConnectedMonitor" "CRT"

    Screen 0
    EndSection

    Section "Device"
    Identifier "nvidia1"
    Driver "nvidia"
    BusID "PCI:3:0:0"
    Option "NvAGP" "1"
    Option "NoLogo" "True"
    Option "ConnectedMonitor" "TV"
    Option "TVStandard" "PAL-B"
    Option "TVOutFormat" "SVIDEO"
    Option "UseEdidFreqs" "True"

    Screen 1
    EndSection

    Section "Screen"
    Identifier "Screen0"
    Device "nvidia0"
    Monitor "SyncMaster"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1280x960_100"
    EndSubSection
    EndSection


    Section "Screen"
    Identifier "Screen1"
    Device "nvidia1"
    Monitor "LG"
    DefaultDepth 16
    SubSection "Display"
    ViewPort 0 1
    Depth 16
    Modes "800x600"
    EndSubsection
    EndSection

    Section "ServerLayout"
    Identifier "Default"
    Screen 0 "Screen0"
    Screen 1 "Screen1" LeftOf "Screen0"
    InputDevice "mouse" "CorePointer"
    InputDevice "keyboard" "CoreKeyboard"
    EndSection

    Nyt televisiossa näkyy työpöytä kokonaan juuri sillä resotuutiolla minkä "Screen":ssa asetin,
    eikä croppaudu, kuten TwinViewiä käyttäessä. Ongelma (tai hyöty?) on kuitenkin se,
    ettei ikkunoita voi vetää suoraan monitorilta televisioon, vaan suoritettavan ohjelman eteen
    pitää asettaa komentorivillä "DISPLAY=:0.1" jotta ikkuna aukeaisi televisiossa.
    Lisäksi en jostain syystä saanut tv:n panscania asetettua xorg.conf:ssa vaan se piti asettaa
    "nvidia-settings" komennon kautta, ja lisätä komento "nvidia-settings --load-config-only" käynnistyksen
    aikana suoritettavaksi.
    Tein videotiedostojen aukaisua varten scriptin, mikä aukaisee ne mplayerillä suoraan telkussa:

    # !/bin/sh
    DISPLAY=:0.1 /usr/bin/mplayer -fs "$*"

    tai, jos graafisen GUIn haluaa mukaan niin

    # !/bin/sh
    DISPLAY=:0.1 /usr/bin/gmplayer -fs "$*"

    (btw. juppe tai joku.. mikä tuon "# !/bin/sh" merkitys on? =D )
    Lisäksi kannattaa varmaan laittaa mukaan "-monitoraspect 16:9" (tai 4:3), riippuen
    television tai videotiedoston kuvasuhteista.
    Mplayerin muut asetukset laitoin ~/.mplayer/config tiedostoon. Videot on nyt helppo avata televisiossa, klikkaa vain oikealla hiirennapilla videotiedostoa ja valitsee sen käynnistettäväksi tuon scriptin avulla.
     
  10. anatemus

    anatemus Regular member

    Joined:
    Mar 11, 2002
    Messages:
    472
    Likes Received:
    0
    Trophy Points:
    26
    Hmmm... Tuon skriptin kautta avaaminenhan kuulostaa kätevältä, taidanpa itsekin kokeilla tuota =) Eipä tv:n kautta tule muuta koneelta katsottua, kuin videoita. Kiitokset!

    [offtopic]
    Piti kaivaa "# !/bin/sh":n merkitys esille itsekin, kun oli päässyt unohtumaan:

    Koska komentotulkkien komentokieli poikkeaa toisistaan eikä voida olla varmoja, mikä komentotulkki komentotiedoston käyttäjällä on käytössä, on siis jollain muulla tavalla varmistuttava siitä, että komentotulkki on oikea. Tämä onnistuu liittämällä komentotiedoston alkuun rivi, joka kertoo, missä komentotulkissa nämä käskyt suoritetaan
    http://cs.stadia.fi/~kuivanen/linux/kom.php
    [/offtopic]
     
    Last edited: Jan 27, 2005

Share This Page