Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2006-09-20 15:50:01

  jaccki - Członek DUG

jaccki
Członek DUG
Zarejestrowany: 2005-11-15

TV-OUT&NVIDIA: cos dla newbies ;)

Troche sie naszukalem zanim ostatecznie skonfigurowalem wyjscie tv, a poniewaz pamiec ulotna jest postanowilem gdzies zgromadzone rzeczy zapisac. Stad ten poradnik ;) Mam nadzieje, ze komus sie przyda.
Nie jestem informatykiem, wiec pisze tak jak ja to rozumiem, byc moze niekiedy blednie. Poza tym caly ten poradnik jest wlasciwie tlumaczeniem innych znalezionych w sieci, do ktorych postaralem sie podawac przynajmniej linki.
Nastepna rzecz jest taka, ze sprawa dotyczy kart nvidii i to z [b]zainstalowanymi poprawnie sterami producenta![/b]. Jak zrobic, by dzialalo z ati tego nie wiem ale podejrzewam, ze chociaz w czesci moze byc to podobne.

Moja konfiguracja:

Kod:

- Debian (etch)
- jajo dystrybucyjne 2.6.16-2-k7
- karta GF FX5200 (S-VIDEO)
- sterowniki karty 1.0-8762
- Xorg 7.0 
- monitor Philips 107P50
- telewizor: Sony Trinitron

A teraz do rzeczy. Istnieje kilka sposobow na uzywanie wyjscia tv-out. Ponizej przedstawiam te ktore znalazlem. Wiem, ze istnieje tez nvtv (jest nawet w repo debiana) ale poniewaz nie dziala on ze wszystkimi kartami (takze z moja) pomijam go bez zalu ;)

|================================================================|
|=============== [ [b]SPOSOB PIERWSZY - Dwa ekrany[/b] ] ===============|
|================================================================|

Linki:
[url]http://ubuntuforums.org/showthread.php?t=98456[/url]

[b][1.][/b] Robimy kopie bezpieczenstwa pliku konfiguracyjnego [b]xorg.conf[/b]

Kod:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.kopia

Oznaczenia znakow przed poleceniami:
"[b]$[/b]" znaczy, ze polecenie wklepujemy jako zwykly uzyszkodnik
"[b]#[/b]" oznacza, ze polecenie wpisujemy jako root (in. administrator, super user). W tryb ten przechodzimy wpisujac:

Kod:

su [ENTER]

i podajac haslo root'a.

Polecenia wpisuje sie w konsoli ;)

[b][2.][/b] Otwieramy do edycji plik [b]xorg.conf[/b]

Kod:

# mcedit /etc/X11/xorg.conf

lub dla kde

Kod:

# kedit /etc/X11/xorg.conf

lub dla gnome'a

Kod:

# gedit /etc/X11/xorg.conf

Jesli pojawi sie:

Kod:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
kedit: cannot connect to X server :0.0

musimy zezwolic root'owi na dostep do iksow:

Kod:

$ xhost +

pamietajac, by po wykonaniu polecen z powrotem wstukac:

Kod:

$ xhost -

[b][3.][/b] Znajdujemy sekcje [b]"Monitor"[/b] wygladajaca mniej wiecej tak:

Kod:

Section "Monitor"
### Comment all HorizSync and VertSync values to use DDC:
    Identifier             "Monitor0"
    VendorName     "PHL"
    ModelName       "PHILIPS 107P5"
    HorizSync           30.0 - 97.0
    VertRefresh        50.0 - 160.0
    Option                 "DPMS"
EndSection

i zmieniamy ja by wygladala mniej wiecej tak:

Kod:

Section "Monitor"
    Identifier             "Monitor[0]" #CRT
    VendorName     "PHL"
    ModelName       "PHILIPS 107P5"
    HorizSync           30.0-97 0
        VertRefresh        50.0-160.0
    Option                "DPMS"
EndSection

Czyli zmieniamy [b]Identifier[/b] na [b]"Monitor[0]"[/b] i ewentualnie dopisujemy [b]HorizSync[/b] i [b]VertRefresh[/b] jesli ich nie ma. Parametry [i]VendorName[/i] i [i]ModelName[/i] nie maja wiekszego znaczenia wiec jesli ich nie mamy nie nalezy sie przejmowac (dotyczy to takze dalszej czesci poradnika;).
Jesli wartosci [i]HorizSync[/i] i [i]VertRefresh[/i] sa juz podane zostawiamy je bez zmian. W przeciwnym przypadku wartosci te nalezy podac samemu. Do ich odnalezienia wykorzystujemy instrukcje obslugi monitora, strone producenta lub Pana google'a. HorizSync to przedzial odswiezania poziomego, a VertRefresh pionowego.

[b]UWAGA! Wpisanie blednych wartosci HorizSync i VertRefresh moze spowodowac uszkodzenie monitora.[/b]

[b][4.][/b] Dodajemy nasz telewizor jako drugi monitor, czyli ponizej wyedytowanej wczesniej sekcji [i]"Monitor"[/i] dodajemy kolejna (po wyrazeniu [i]"EndSection"[/i]):

Kod:

Section "Monitor" 
    Identifier         "Monitor[1]" #TV 
    HorizSync      30-50
    VertRefresh   60 
EndSection

Jesli chcemy mozemy wyedytowac wartosci [i]HorizSync[/i] i [i]VertRefresh[/i] ale podane wyzej powinny dzialac z wiekszoscia telewizorow.

[b][5.][/b] Przechodzimy do sekcji [b]"Device"[/b] i zmieniamy wartosc [b]Identifier[/b] na [b]"Device[0]"[/b] oraz dodajemy parametr [b]"Screen 0"[/b]

U mnie przed zmianami bylo:

Kod:

Section "Device"
    Identifier              "Card0"
    Driver                   "nvidia"
    VendorName      "nVidia Corporation"
    BoardName        "NV34 [GeForce FX 5200]"
EndSection

a po:

Kod:

Section "Device"
 Identifier               "Device[0]"
 Driver                    "nvidia"
 VendorName        "nVidia Corporation"
 BoardName          "NV34 [GeForce FX 5200]"
 BusID                   "PCI:2:0:0"
 Screen                   0
EndSection

Parametr [b]BusID[/b] nie jest konieczny w przypadku jednej karty graficznej ale jesli chcemy go podac to odpowiednia wartosc znajdujemy wydajac polecenie:

Kod:

$ lspci

[b][6.][/b] Dodajemy nasze TV-OUT jako kolejna sekcje ponizej wyedytowanej wczesniej:

Kod:

Section "Device" 
       Driver          "nvidia" 
       Identifier      "Device[1]" 
       Screen         1 
       Option          "TVOutFormat" "SVIDEO" #or COMPOSITE etc 
       Option          "TVStandard" "PAL-G" #or NTSC etc 
       Option          "ConnectedMonitor" "Monitor[1]" 
       BusID           "PCI:2:0:0" #adjust using 'lspci' or cat /proc/pci 
EndSection

Jesli nasze wyjscie TV-OUT to [b]COMPOSITE[/b] to wpisujemy to zamiast [b]SVIDEO[/b].
Tak jak poprzednio mozemy dodac [i]BusID[/i] jesli chcemy.

[b][7.][/b] Przechodzimy do sekcji [b]"Screen"[/b], która powinna wyglądać mniej więcej tak:

Kod:

Section "Screen"
    Identifier       "Default Screen"
    Device          "Card0"
    Monitor         "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       1
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Nas interesuja tylko parametry: [b]Identifier[/b], [b]Monitor[/b] oraz [b]Screen[/b], ktore zmieniamy w nastepujacy sposob:

Kod:

Section "Screen"
    Identifier        "Screen[0]" 
    Device           "Device[0]" 
    Monitor          "Monitor[0]"
    (...reszta pozostaje bez zmian)
EndSection

[b][8.][/b] Ponizej wyedytowanej w punkcie 7 sekcji dodajemy nowa:

Kod:

Section "Screen" 
   Device               "Device[1]" 
   Identifier            "Screen[1]" 
   Monitor              "Monitor[1]" 
   DefaultDepth 24 
   SubSection "Display" 
     Depth 24 
     Modes "1024x768_60" 
   EndSubSection    
EndSection

Jesli nasz monitor nie obsluguje czestotliwosci odswiezania [b]60Hz[/b] zmieniamy wpis [b]"Modes "1024x768_60""[/b] na [b]"Modes "1024x768_50""[/b]

Jesli wszystko zrobilismy dobrze calosc (modyfikowana przez nas) powinna wygladac mniej wiecej tak:

Kod:

Section "Monitor"
    Identifier                     "Monitor[0]" #CRT
    VendorName            "PHL"
    ModelName              "PHILIPS 107P5"
    HorizSync                  30.0-97 0
        VertRefresh               50.0-160.0
    Option                        "DPMS"
EndSection

Section "Monitor" 
    Identifier                 "Monitor[1]" #TV 
    HorizSync              30-50
    VertRefresh           60 
EndSection

Section "Device"
 Identifier                     "Device[0]"
 Driver                          "nvidia"
 VendorName              "nVidia Corporation"
 BoardName                "NV34 [GeForce FX 5200]"
 BusID                         "PCI:2:0:0"
 Screen                         0
EndSection

Section "Device" 
       Driver                    "nvidia" 
       Identifier               "Device[1]" 
       Screen                  1 
       Option                  "TVOutFormat" "SVIDEO" #or COMPOSITE etc 
       Option                  "TVStandard" "PAL-G" #or NTSC etc 
       Option                  "ConnectedMonitor" "Monitor[1]" 
       BusID                   "PCI:2:0:0" #adjust using 'lspci' or cat /proc/pci 
EndSection

Section "Screen"
    Identifier               "Screen[0]"
    Device                  "Device[0]"
    Monitor                 "Monitor[0]"
    DefaultDepth      24
    SubSection     "Display"
        Depth       1
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen" 
   Device                "Device[1]" 
   Identifier             "Screen[1]" 
   Monitor               "Monitor[1]" 
   DefaultDepth      24 
   SubSection "Display" 
     Depth 24 
     Modes "1024x768_60" 
   EndSubSection    
EndSection

[b][9.][/b] Kolejna rzecza jakiej szukamy w pliku [i]xorg.conf[/i] jest sekcja [b]"ServerLayout"[/b] wygladajaca mniej wiecej tak:

Kod:

Section "ServerLayout"
    Identifier               "Default Layout"
    Screen                  "Default Screen" 0 0
    InputDevice         "Generic Keyboard"
    InputDevice         "Configured Mouse"
EndSection

Zmieniamy ja, by wygladala tak:

Kod:

Section "ServerLayout" 
 Identifier             "Simple Layout" 
 Screen 0             "Screen[0]" 
 Screen 1             "Screen[1]" RightOf "Screen[0]" 
 InputDevice        "Configured Mouse" "CorePointer" 
 InputDevice        "Generic Keyboard" "CoreKeyboard" 
EndSection

Przy czym wyrazenia(w moim przypadku) [b]"Configured Mouse"[/b] i [b]"Generic Keyboard"[/b] bierzemy z wyrazen stojacych przy parametrze [b]Identifier[/b] w sekcjach [b]"InputDevice"[/b], czyli stad:

Kod:

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "CoreKeyboard"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "pl"
EndSection

Kod:

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/psaux"
    Option         "Protocol" "ExplorerPS/2"
    Option         "Emulate3Buttons" "true"
EndSection

Poza tym zamiast [b]RightOf[/b] mozemy wpisac [b]LeftOf[/b] jesli telewzior stoi po lewej stronie monitora. Mozna takze wpisac [b]Above[/b] lub [b]Below[/b].

[b][10.][/b] Zapisujemy nasz [i]xorg.config[/i]. Upewniamy sie, ze wszystko jest podlaczone (kabel podlacza sie przy wylaczonym sprzecie) i uruchamiamy ponownie komputer (ewentualnie restartujemy iksy wciskajac CTRL-ALT-BACKSPACE). Po zalogowaniu sie powinnismy zobaczyc na ekranie telewizora nasz drugi Desktop. Nie jest on klonem tego co mamy na monitorze - ma wlasna rozdzielczosc i mozna go uzywac niezaleznie od pierwszego, np. ogladajac film na telewizorze i serfujac po sieci lub piszac prace w edytorze na naszym monitorze. Przejscie miedzy ekranem telewizora i monitora odbywa sie za pomoca przesuniecia kursora myszy daleko w strone ktora wybralismy wczesniej (jesli zostawilismy RightOf w xorg.conf bedzie to strona prawa, jesli LeftOf - lewa, itd.)

[b][11.][/b] Uruchamianie filmow

Film mozemy uruchomic wybierajac na telewizorze odpowiedni program, tzn. przesuwajac mysz na desktop telewizora i wybierajac z jego menu np. gmplayer'a.

Mozemy tez to zrobic uruchamiajac z ekranu monitora program z parametrem:

Kod:

-display :0.1

np.

Kod:

xclock -display :0.1
mplayer -display :0.1 JakisFilm.avi

lub taki sposob:

Kod:

DISPLAY=:0.1 mplayer JakisFilm.avi

Innym sposobem jest utworzenie pliku (np.[b]/home/mojkatalog/tvplay)[/b] z zawartoscia:

Kod:

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

Jesli chcemy uzywac innego programu niz gmplayer do odtwarzania filmow(standardowo znajduje sie w katalogu [i]/usr/bin[/i]) podajemy do niego sciezke zamiast [i]/usr/bin/gmplayer[/i].
Nastepnie dodamy opcje odtwarzania w telewizorni do menu kontekstowego. Jesli mamy kde, to kilkamy na film prawym przyciskiem myszy i wybieramy z menu [i]"Otworz w..."[/i], a nastepnie [i]"Inne"[/i]. W polu [i]"Otworz za pomoca:"[/i] wpisujemy:

Kod:

sh /sciezka/do/naszego/pliku

czyli np.

Kod:

sh /home/mojkatalog/tvplay

Zaznaczamy [i]"Zapamietaj program skojarzony z tym plikiem"[/i] i klikamy OK. Teraz filmy beda domyslnie otwierane na ekranie telewizora. Jesli chcemy to zmienic ponownie klikamy na filmie=>[i]"Otworz w..."[/i]=>[i]"Inne"[/i] i wybieramy lub wpisujemy program ktorym chcemy domyslnie otwierac filmy np. gmplayer i ponownie zaznaczamy [i]"Zapamietaj program skojarzony z tym plikiem"[/i]. Teraz filmy beda domyslnie otwierane w wybranym przez nas programie, a w menu kontekstowym "Otworz w..." bedziemy mogli wybrac odtwarzanie na telewizorze.(za pomoca sh /home/mojkatalog/tvplay)

Inne sposoby można znaleźć tutaj:
[url]http://ubuntuforums.org/showthread.php?t=23628[/url]

[b][12.][/b] Dostrojenie

Taka konfiguracja powoduje, ze majac kde, za kazdym razem uruchamiaja nam sie dwa Desktopy, dwa Kicker'y itd. Pewnie zuzywa to troche naszych cennych zasobow ;) Poza tym powoduje to kilka innych problemow takich jak np. to, ze Alt-f2 otwiera nam okno "Wykonaj polecenie" raz na ekranie telewziora raz monitora. Inny przyklad to korzystanie z Krusader'a, ktory przy tworzeniu katalogow badz ich kasowaniu przenosi aktywnosc na Desktop telewizora, co jest niewygodne i nieco denerwujace, bo trzeba klikac mycha ;) Itd.

Rozwiacac to mozna wywalajac Kde z ekranu telewziora co osiaga sie poprzez dodanie do pliku [b]~/.kde/share/config/kcmdisplayrc[/b] wpisu w sekcji [b][X11][/b] o takiej tresci:

Kod:

disableMultihead=true

Kolejna rzecz, ktora moze przeszkadzac to uciekanie kursora poza ekran monitora. Kursor mozna zablokowac zmieniajac w pliku [b]/etc/X11/xorg.conf[/b] sekcje [b]"ServerLayout"[/b] na mniej wiecej taka:

Kod:

Section "ServerLayout" 
 Identifier                 "Simple Layout" 
 Screen 0                "Screen[0]" 0 0
 Screen 1                "Screen[1]" 2000 0 
 InputDevice           "Configured Mouse" "CorePointer" 
 InputDevice           "Generic Keyboard" "CoreKeyboard" 
EndSection

Aby przeniesc kursor myszy miedzy naszymi ekranami wykorzystujac tylko klawiature mozemy uzyc programu [b]switchscreen[/b]. Sa dwa takie programy.

[b](a)[/b]Jeden znajduje sie tutaj:
[url]http://homepages.ihug.co.nz/~david.antliff/switchscreen-0.4.tar.gz[/url]

Od razu zaznaczam, ze u mnie nie dzialal on poprawnie. Do jego skompilowania potrzebny byl pakiet:

Kod:

libxtst-dev

A kompiluje sie go wydajac w rozpakowanym katalogu ploecenie:

Kod:

$ gcc -g switchscreen.c -o switchscreen -L /usr/X11R6/lib -lX11 -lXtst -lXext

[b](b)[/b]Drugi, bardziej moim zdaniem przydatny dostepny jest tutaj:

[url]http://users.tkk.fi/~spniskan/switchscreen/switchscreen-0.1.0.tar.gz[/url]

Kompiluje sie po prostu wydajac polecenie

Kod:

$ make

w rozpakowanym katalogu.
Uzycie tez jest proste:

Kod:

switchscreen <numer ekranu>

np.

Kod:

switchscreen 1

Aby uruchomic skrypt [b]togglescreen.sh[/b] (znajdujacy sie w rozpakowanym katalogu) nalezy wczesniej zmienic w nim sciezki do pliku switchscreen. Skrypt ten nie do konca dziala poprawnie. W sytuacji, gdy wylaczylismy kde z ekranu telewizora skrypt nie zorientuje sie gdzie znajduje sie kursor (polecenie switchscreen -p). Gdy desktop kde dziala na tv i monitorze togglescreen zadziala ponownie po kliknieciu mysza na Desktopie.

Skrypt ten zmodyfikowalem metoda "prob i bledow" (nie znam sie kompletnie na tworzeniu skryptow) tak, ze pelni swoja funkcje. Oto on:

Kod:

#!/bin/bash
STOREFILE=~/.switchscreen/.togglescreen
SWITCHSCREEN=~/.switchscreen/switchscreen
LASTSTATUS=~/.switchscreen/.laststatus

CURRENT="`$SWITCHSCREEN -P`"
CURSCR=`echo "$CURRENT" | gawk '{ print $2 }'`
CURPOS=`echo "$CURRENT" | gawk '{ print $4 }'`
LASTSCR="`cat $LASTSTATUS 2>/dev/null`"

echo $CURPOS > $STOREFILE.$CURSCR

if [ "$LASTSCR" = "0" ]; then
    NEWSCR=1
else
    NEWSCR=0
fi

#echo $NEWSCR
#echo $LASTSCR

NEWPOS="`cat $STOREFILE.1 2>/dev/null`"
#echo $NEWPOS
if [ "$NEWPOS" ]; then
    POSOPT="-c $NEWPOS"
else
    POSOPT=""
fi

$SWITCHSCREEN -q $POSOPT $NEWSCR
echo $NEWSCR > $LASTSTATUS

Skrypt ten zaklada, ze rozpakowany katalog ze skompilowanym switchscreen'em znajduje sie w [i]~/.switchscreen[/i]

Do switchscreen lub togglescreen mozna utworzyc dla wygody skroty klawiaturowe. W tym celu nalezy otworzyc edytor menu (prawy przycisk na przycisku menu) i dodac do niego np. skrypt togglescreen. (Dodajemy nowa pozycje, wpisujemy dowolna nazwe, jako polecenie wpisujemy sh i sciezke do naszego skryptu, np [b]sh ~/.switchscreen/togglescreen.sh[/b], dodajemy skrot klawiatury,np. CTRL_ALT_TAB i zapisujemy zmiany)

Linki:
[url]http://www.kde-forum.org/post/57994/lastpost.html#post57994%3C/a%3E[/url]
[url]http://doc.gwos.org/index.php/DualMonitors#Moving_focus_between_screens[/url]
[url]http://users.tkk.fi/~spniskan/switchscreen/[/url]

|================================================================|
|=============== [ [b]SPOSOB DRUGI - Dwa serwery X[/b] ] ===============|
|================================================================|

Linki:
[url]http://en.wikibooks.org/wiki/NVidia/TV-OUT[/url]

Idea jest taka, ze w momencie, gdy bedziemy chcieli obejrzec film na tv odpalimy drugi serwer iksow i na nim odpalimy filma. Wada tego rozwiazania jest taka, ze na raz tylko jedno urzadzenie bedzie moglo byc aktywne (czyli albo tv albo monitor). Przelaczac miedzy nimi bedziemy sie kombinacja klawiszy CTRL-ALT-F7 iCTRL-ALT-F8.

Mamy wiec dzialajacy plik [b]xorg.conf[/b] (czyli bez modyfikacji opisanych w sposobie pierwszym). Koncepcja jest taka, ze nie bedziemy niczego edytowac, a jedynie dodawac nowe rzeczy do pliku konfiguracyjnego.

[b][1.][/b] Oczywiscie pierwsza rzecza, ktora nalezy wykonac jest kopia bezpieczenstwa, czyli:

Kod:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.kopia2

'[b]#[/b]' oznacza, ze polecenie wykonujemy jako root ;)

[b][2.][/b] Otwieramy teraz plik [b]xorg.conf[/b] do edycji podobnie jak przy sposobie pierwszym, czyli np. :

Kod:

# kedit /etc/X11/xorg.conf

[b][3.][/b] Dodajemy nowa sekcje [b]Device[/b], czyli wklejamy do naszego pliku konfiguracyjnego:

Kod:

Section "Device" 
        Identifier  "Card_tv"
        Driver      "nvidia"
        #BusID       "PCI:2:0:0"  # May differ (not needed unless you have two or more cards)
        Option      "TVOutFormat" "SVIDEO"  # Or "COMPOSITE"
        Option      "TVStandard" "PAL-G"
        Option      "ConnectedMonitor" "TV"
EndSection

Jesli potrzebujemy (mamy dwie lub wiecej karty graficzne) odkomentowujemy (kasujemy '#') parametr [b]BusID[/b] i podajemy poprawna wartosc (mozna ja znalezc wydajac polecenie [b]$lspci[/b])
Jesli mamy inne wyjscie tv na karcie niz [b]SVIDEO[/b] wpisujemy je, np. zastepujac [b]SVIDEO[/b] przez [b]COMPOSITE[/b].

[b][4.][/b] Dodajemy nowa sekcje [b]Monitor[/b]:

Kod:

Section "Monitor"
        Identifier         "tv"
        HorizSync      30-50
        VertRefresh   60
EndSection

Podane wyzej wartosci [b]HorizSync[/b] i [b]VertRefresh[/b] sa poprawne dla wiekszosci tv ale jesli potrzbujemy mozemy je zmienic (przyda sie instrukcja do telewizora).

[b][5.][/b] Dodajemy nowa sekcje [b]Screen[/b]:

Kod:

Section "Screen"
        Identifier           "Screen_tv"
        Device              "Card_tv"
        Monitor             "tv"
        DefaultDepth   16
        SubSection      "Display"
                Depth     16
                Modes "1024x768" "800x600"
        EndSubSection
EndSection

[b][6.][/b] Ostatnia rzecza, ktora dodamy do xorg.conf jest sekcja [b]ServerLayout[/b]:

Kod:

Section "ServerLayout"
        Identifier          "tv"
        Screen             0  "Screen_tv" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Musimy jeszcze zmienic dwa wyrazenia [b]"Mouse0"[/b] i [b]"Keyboard0"[/b]. To co mamy wpisac znajdziemy we wlasnie edytowanym pliku [i]xorg.conf[/i] ;)

Szukamy wiec podobnej do tej sekcji:

Kod:

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "CoreKeyboard"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "pl"
EndSection

i to co jest po [b]'Identifier"[/b] wpisujemy zamiast [b]"Keyboard0"[/b] w sekcji [b]ServerLayout[/b] (czyli np. [i]"Generic Keyboard"[/i])

Nastepnie odszukujemy podobna do tej sekcje:

Kod:

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver          "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/psaux"
    Option         "Protocol" "ExplorerPS/2"
    Option         "Emulate3Buttons" "true"
EndSection

i to co jest po [b]'Identifier"[/b] wpisujemy zamiast [b]"Mouse0"[/b] w sekcji [b]ServerLayout[/b] (czyli np. [i]"Configured Mouse"[/i])

Nasza sekcja ServerLayout powinna ostatecznie wygladac podobnie:

Kod:

Section "ServerLayout"
        Identifier         "tv"
        Screen             0  "Screen_tv" 0 0
        InputDevice    "Configured Mouse" "CorePointer"
        InputDevice    "Generic Keyboard" "CoreKeyboard"
EndSection

[b][7.][/b] Zapisujemy zmiany, upewniamy sie, ze wszystko jest podlaczone jak powinno, wlaczamy telewizor i jako root wpisujemy w konsoli:

Kod:

# X :1 -layout tv

Telewizor powinien zaskoczyc i po chwili powinnismy zobaczyc na nim logo nvidii i kursor myszy. Przelaczac sie miedzy tv i monitorem mozemy za pomoca kombinacji klawiszy [b]CTRL-ALT-F7[/b] i [b]CTRL-ALT-F8[/b].

Zeby uruchomic cos na tv wpisujemy w konsoli np.:

Kod:

DISPLAY=:1 xterm

Zeby zakonczyc prace z telewizorem wciskamy (gdy tv jest aktywny) kombinacje [b]CTRL-ALT-BACKSPACE[/b]

Zeby troche sobie uproscic prace z telewizorem tworzymy plik [b]mplayer.tv[/b] w katalogu [b]/usr/local/bin[/b]

Kod:

# touch /usr/local/bin/mplayer.tv

a nastepnie dodajemy do niego dokladnie! taka oto zawartosc:

Kod:

#!/bin/sh
exec /usr/X11R6/bin/xinit /usr/bin/xterm -ut -e 
  /usr/bin/mplayer -stop-xscreensaver -fs -vo sdl "$@" -- /usr/X11R6/bin/X :1 -layout tv

Ustawiamy nasz plik jako wykonywalny:

Kod:

# chmod +x /usr/local/bin/mplayer.tv

Ostatnia rzecza, ktora mozemy chciec zrobic jest zezwolenie zwyklemu uzyszkodnikowi na odpalenie iksow. Ja robie to edytujac plik [b]/etc/X11/Xwrapper.config[/b] i zmieniajac wpis

Kod:

allowed_user=console

na

Kod:

allowed_user=anybody

co moze najlepszym wyjsciem nie jest.

Teraz mozemy odtwarzac filmy za pomoca polecenia:

Kod:

mplayer.tv JakisFilm.avi

Oczywiscie mozemy dodac mplayer.tv do menu kontekstowego, by znalazlo sie w podmenu [i]"Otworz w..."[/i] Opis jak to zrobic zostal podany przy sposobie pierwszym.

|================================================================|
|================= [ [b]SPOSOB TRZECI - Twin View[/b] ] ================|
|================================================================|

Linki:
[url]http://en.wikibooks.org/wiki/NVidia/Twin_View[/url]
[url]ftp://download.nvidia.com/XFree86/Linux-x86/1.0-7676/README.txt[/url]
[url]http://www.ubuntuforums.org/showthread.php?t=85769&highlight=twinvie[/url]
[url]http://www.ublug.org/ubuntu/twinview/twinview-howto-breezy.html[/url]
[url]http://gentoo-wiki.com/TV-Out_with_GeForce[/url]
[url]http://www.sorgonet.com/linux/nv-online/help.html[/url]

Ten sposob wykorzystuje opcje [b]TwinView[/b] kart Nvidii. Dzieki niej bedziemy mogli sklonowac to co mamy na monitorze na tv. Kolejny plus to mozliwosc przesuwania okien miedzy tv i monitorem. Zakladam, ze mamy dzialajacy plik [i]xorg.conf[/i] (bez modyfikacji opisanych wyzej).

[b][1.][/b] Najpierw wykonujemy kopie bezpieczenstwa, czyli:

Kod:

# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.kopia3

'[b]#[/b]' oznacza, ze polecenie wykonujemy jako root ;)

[b][2.][/b] Otwieramy plik [b]xorg.conf[/b] do edycji podobnie jak przy sposobie pierwszym, czyli np. :

Kod:

# kedit /etc/X11/xorg.conf

[b][3.][/b] Znajdujemy sekcje [b]Device[/b], wygladajaca mniej wiecej tak:

Kod:

Section "Device"
    Identifier             "Card0"
    Driver                  "nvidia"
    VendorName     "nVidia Corporation"
    BoardName        "NV34 [GeForce FX 5200]"
EndSection

i dopisujemy do niej kilka opcji, zeby ostatecznie wygladala tak:

Kod:

Section "Device"
    Identifier               "Card0"
    Driver                    "nvidia"
    VendorName       "nVidia Corporation"
    BoardName         "NV34 [GeForce FX 5200]"[b]
    Option                   "NoLogo"
    Option                   "CursorShadow" "on"
    Option                   "TwinView"
    Option                   "TwinViewOrientation" "Clone"
    Option                   "MetaModes" "1280x1024,1024x768"
    Option                   "ConnectedMonitor" "CRT, TV"
    Option                   "TVStandard" "PAL-G"
    Option                   "TVOutFormat" "SVIDEO"[/b]
EndSection

Opcja [b]"NoLogo"[/b]Powoduje, ze logo Nvidii nie bedzie wyswietlane przy starcie Iksow - zawsze to pare sekund mniej ;)
Opcja [b]"CursorShadow" "on"[/b] wlacza cienie pod kursorem.
Opcja [b]"Clone"[/b] powoduje, ze na tv bedziemy mieli kopie tego co na monitorze. Zamiast tego mozemy wpisac: [b]RightOf[/b], [b]LeftOf[/b], [b]Above[/b], [b]Below[/b], zeby uzyskac dodatkowy obszar.
Opcja [b]"MetaModes"[/b] pokazuje pary rozdzielczosci (monitor,tv). W tym przypadku, gdy na monitorze jest [i]1280x1024[/i] na tv bedzie [i]1024x768[/i]. Mozemy to dowolnie zmienic (pary oddzielamy srednikiem). Np "1280x1024,[b]NULL[/b];1024x768,1024x768" Wartosc [i]NULL[/i] mowi, ze obraz nie bedzie wyswietlany (tutaj w przypadku gdy rozdzielczosc na monitorze bedzie ustawiona na 1280x1024)
Opcja [b]"ConnectedMonitor" "CRT, TV"[/b] oznacza, ze mamy podpiety monitor crt i telewizor. Jesli mamy plaski monitor podpiety przez [b]DVI[/b] - "CRT" zastepujemy przez [b]"DFP"[/b].
Opcja [b]"TVOutFormat" "SVIDEO"[/b] oznacza typ wyjscia TV-OUT. Jesli nie mamy S-VIDEO zastepujemy ten wpis przez np. [b]"COMPOSITE"[/b]

[b][4.][/b] Restartujemy Iksy (CTRL-ALT-BACKSPACE) i cieszymy sie obrazem na tv ;)

I to by bylo na tyle. Za ewentualne bledy przepraszam ;)

Offline

 

#2  2006-09-21 07:54:25

  Bodzio - Ojciec Założyciel

Bodzio
Ojciec Założyciel
Skąd: Gorlice
Zarejestrowany: 2004-04-17
Serwis

Re: TV-OUT&NVIDIA: cos dla newbies ;)

Weź to wszystko skopiuj i zapisz do FAQ http://www.dug.net.pl/faq/index.php - na forun to zaraz zniknie


Debian jest lepszy niż wszystkie klony
Linux register users: #359018
[img]http://www.freebsd.org/gifs/powerlogo.gif[/img]
[url=https://goo.gl/photos/5XGKFkvaMimLwM2s9]Beskid Niski[/url]

Offline

 

#3  2006-09-21 12:37:34

  jaccki - Członek DUG

jaccki
Członek DUG
Zarejestrowany: 2005-11-15

Re: TV-OUT&NVIDIA: cos dla newbies ;)

dodane: [url]http://www.dug.net.pl/faq/index.php?kat=5&id=197[/url]

Offline

 

#4  2006-09-21 13:33:20

  Bodzio - Ojciec Założyciel

Bodzio
Ojciec Założyciel
Skąd: Gorlice
Zarejestrowany: 2004-04-17
Serwis

Re: TV-OUT&NVIDIA: cos dla newbies ;)

i tak ma właśnie być - dzięki


Debian jest lepszy niż wszystkie klony
Linux register users: #359018
[img]http://www.freebsd.org/gifs/powerlogo.gif[/img]
[url=https://goo.gl/photos/5XGKFkvaMimLwM2s9]Beskid Niski[/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.016 seconds, 13 queries executed ]

Informacje debugowania

Time (s) Query
0.00013 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00126 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.226.82.90' WHERE u.id=1
0.00083 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.226.82.90', 1732735763)
0.00105 SELECT * FROM punbb_online WHERE logged<1732735463
0.00107 DELETE FROM punbb_online WHERE ident='54.36.148.213'
0.00357 DELETE FROM punbb_online WHERE ident='85.208.96.208'
0.00030 SELECT topic_id FROM punbb_posts WHERE id=41195
0.00086 SELECT id FROM punbb_posts WHERE topic_id=5293 ORDER BY posted
0.00076 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=5293 AND t.moved_to IS NULL
0.00040 SELECT search_for, replace_with FROM punbb_censoring
0.00187 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=5293 ORDER BY p.id LIMIT 0,25
0.00101 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=5293
Total query time: 0.01315 s