Ovaj mini tutorial namenjen je linux newbie korisnicima koji jos uvek nisu pronikli u nacin instalacije drajvera, finog stelovanja X-windowsa i naravno dobijanja slike sa TV-outa kartice.
1. Instalacija
NVidia je poznata po izuzetno dobroj podrsci za linux, i za to zasluzuju sve pohvale. Nove verzije linux drajvera izbacuju se redovno, tek malo kasne za odgovarajucim windows pandanima, a sto je najlepse od svega brzi su od onih u winu za nekih 10%! Ko ne veruje, neka istestira uz pomoc Quakea 3.
No, vratimo se procesu instalacije. Jos jednom moram da pohvalim NVidiju, jer se njihovi drajveri izuzetno lako kaleme na sistem. U svakom slucaju, preporucljivo je otici na njihov sajt i skinuti SORSOVE drajvera (najbolje najnovije verzije) i NE KORISTITI nikakve *.rpm i sl. Zasto? Zato sto kompajliranje iz sorsa daje sigurno najbrze drajvere, jer ce gcc kompajler napraviti binarne fajlove koji su prilagodjeni procesoru koji se nalazi u vasoj masini. Ovo vazi ne samo za graficku karticu, vec i za sve ostale drajvere i programe.
Proces instalacije je sa zadnjim drajverima trivijalan, cak i smesan; potrebno je samo startovati *.bin fajl. Pojavljuje se setup, odgovori se na par pitanja i tu je instalaciji kraj.
Sve ovo treba raditi bez startovanog X-Wina, najbolje je prebaciti se u runlevel 3 i odatle zavrsiti instalaciju, pa zatim nazad u runlevel 5 da se vide rezultati.
To bi izgledalo otprilike ovako:
-ako je X startovan, otvori se konzola i logujte se kao root:
>su -l
(sad ide unos passworda)
-prebacite se u runlevel 3 (‘pure’ konzola, bez startovanog X windowsa):
# telinit 3
-ulogujte se ponovo kao root;
-startujte *.bin fajl drajvera:
# sh NVIDIA-Linux-x86-1.0-4363.run
-pojavljuje se setup meni, prodjite kroz njega, i posle nekog vremena instalacija je gotova.
Za one koji imaju sorsove starijih drajvera (NVIDIA_GLX i NVIDIA_kernel gzipped fajlovi), instalacija je malo komplikovanija ali i dalje dosta lagana:
-predjite u direktorijum gde su drajveri
-ulogujte se kao root
-raspakujte ih sa:
# tar xzf NVIDIA_kernel-1.0-4191.tar.gz
# tar xzf NVIDIA_GLX-1.0-4191.tar.gz
-prvo se instalira NVIDIA_kernel:
# cd NVIDIA_kernel-1.0-4191
# make
-zatim NVIDIA_GLX:
# cd NVIDIA_GLX-1.0-4191
# make
I to je to sto se tice same instalacije drajvera. Nakon ovoga, potrebno je uneti dve izmene u /etc/X11/XF86Config-4 fajl.
Prvo, u sekciji ‘Modules’ unosi se modul za OpenGL akceleraciju:
Section “Module”
Load “dbe”
# modul za 3d OpenGL akceleraciju, linija koju treba uneti
Load “glx”
SubSection “extmod”
EndSubSection
Load “type1”
Load “freetype”
EndSection
Drugo, u sekciji ‘Devices’ prepravite “nv” na “nvidia”:
Section “Device”
Identifier “Nvidia GeForce MX400”
VendorName “Microstar”
BoardName “MSI 8833 VIVO 32mb”
#ovde promeniti “nv” u “nvidia”
Driver “nvidia”
VideoRam 32768
Option “DPMS” “on”
EndSection
I sad nazad u X (ili ako ste vec u njemu jednostavno ga restartujte):
# telinit 3
ili
# startx
X se budi, ovog puta sa 3d akceleracijom i NVidijinim drajverima, sposoban za Quake 3, UT, Doom itd itd itd.
Ako bude nekih problema, i X nece da se podigne, pogledajte log fajlove (var/log/XF86Config.log.0 i sl.) i naravno man stranicu sa sintaksom XF86Config-4 fajla ( ‘man XF86Config’). Kombinacija ove 2 stvari resava sigurno sve probleme 🙂
2. Skrol dugme misa
Ranije verzije Mandrake-a su ponekad u instalacionom procesu znale da zabrljaju prepoznavanje misa, i skrol nije radio. U MDK 9.x nisam primetio da se ovo desava, ali za one koji nisu imali srece evo kako treba da izgleda ‘InputDevice’ sekcija XF86Config-4 fajla:
Section “InputDevice”
Identifier “Mouse1”
Driver “mouse”
Option “Protocol” “IMPS/2”
Option “Device” “/dev/mouse”
Option “ZAxisMapping” “4 5”
Option “Buttons” “3”
EndSection
Restartujte X i vozite!
3. Frekvencija osvezavanja monitora
Ukoliko vam se cini da X server ne izvlaci iz monitora sve sto ovaj moze(citaj: osvezavanje
ekrana je neprijatno nisko), probajte da rucno izmenite vrednosti frekvencija za horizontalno i vertikalno osvezavanje ekrana u XF86Config. Vrednosti za vas monitor se nalazi u uputstvu koje ste dobili kada je monitor kupljen, a ako je upustvo baceno/zatureno/nije-dobijeno, potrazite ih na netu. Ok, znate vrednosti, sledece je njihovo unosenje u sekciju ‘Monitor’. Evo primera za moj Hansol 710DT:
Section “Monitor”
Identifier “mymonitor”
VendorName “Hansol”
ModelName “Hansol 710DT”
# HorizSync is in kHz unless units are specified.
# OVDE PROMENITE HORIZONTALNU FREQ
HorizSync 30-95
# VertRefresh is in Hz unless units are specified.
# OVDE IDE VERTIKALNA FREQ
VertRefresh 47-160
EndSection
Posle izmena, normalno restart X-a kako bi izmene imale dejstvo.
Sada ce X, na osnovu zadate rezolucije i ovih frekvencija automatski podesiti osvezavanje na najbolju mogucu vrednost. Medjutim, najbolja njemu mozda nije najbolja i vama 🙂 Ako se desi nesporazum, onda smanjujte/povecavajte vrednosti sve dok X ne uradi zeljenu stvar. Nekada davno ovakve operacije su bilo izuzetno rizicne, i nije bila nikakva retkost da ljudi preteraju sa ovim vrednostima i bukvalno uniste svoje monitore. Ali danas X nije nimalo destruktivan, najgore sto moze da se desi je da ne moze da se podigne ili se dize sa totalno izdeformisanom nesinhronizovanom slikom. Vracanjem frekvencija ( i naravno restartom) stvari se normalizuju.
4. Ukljucenje TwinView moda i aktiviranje TV Out-a
Izuzetno detaljno uputstvo o tome kako nastelovati TV izlaz (i uopste sve vezano za NVidia kartice u linuxu) nalazi se na NVidijinom sajtu, obavezno pogledati:
ftp://download.nvidia.com/XFree86/Linux-x86/1.0-4496/README.txt
U README-u nema sta nema, ljudi su napisali bukvalno SVE, pa cu ja samo da dam nekoliko kratkih napomena i primer XF86Config fajla u kome TV out podrska 100% radi (znaci, moj XF86Config-4 :)) )
Dakle, da bi TwinView radio, u ‘Screen’ sekciji XF86Config-4 fajla MORAJU OBAVEZNO da se specificiraju sledeci parametri i opcije:
Option “TwinView”
Option “SecondMonitorHorizSync” “hsync range(s)”
Option “SecondMonitorVertRefresh” “vrefresh range(s)”
Option “MetaModes” “list of metamodes”
Ono sto nije obavezno, ali moze da bude korisno su sledece opcije:
Option “TwinViewOrientation” “relationship of head 1 to head 0”
Option “ConnectedMonitor” “list of connected display devices”
Ove opcije su specificne za TV Out, i ako se kao drugi monitor kaci TV, moraju da budu definisane:
Option “TVOutFormat” “tv out format”
Option “TVStandard” “standard of TV device”
Kada se radi o tv outu, moraju se definisati frekvencije drugog uredjaja (u ovom slucaju TV-a) :
Option “SecondMonitorHorizSync” “30-50” #vrednosti za PAL standard
Option “SecondMonitorVertRefresh” “60”
Ako zelite da na TV-u imate ‘virtuelni ekran’, tj da kretanjem misa slika na TVu skroluje gore-dole i levo-desno,
morate da definisete takozvani “Panning Domain” u metamodovima:
Option “MetaModes” “1152×864,800×600 @1152×864; 1024×768,800×600 @1024×768”
U metamodovima se prva rezolucija odnosi na primarni displej a druga na sekundarni (u ovom slucaju TV), druga na TV-out.
Ja imam 2 metamoda, i sa ctrl + alt + NUMPAD+ i ctrl + alt + NUMPAD- direktno iz X-a menjam rezoluciju na monitoru sa 1152×864 na 1024×768 i nazad, a na TVu je zakucano uvek 800×600. Naravno vi mozete dodati koliko god hocete metamodova
I konacno evo sad kompletne ‘Screen’ sekcije, provereno funkcionalne:
Section “Device”
Identifier “Nvidia GeForce MX400”
VendorName “Microstar”
BoardName “MSI 8833 VIVO 32mb”
Driver “nvidia”
VideoRam 32768
#ovde pocinje deo koji se tice TV Outa
# TwinView za NVidia kartice, PAL rezim
Option “TwinView”
# Hor i Ver sinhronizacija za TV – PAL
Option “SecondMonitorHorizSync” “30-50”
Option “SecondMonitorVertRefresh”
“60”
#orijentacija (Clone, RightOf, LeftOf, Above, Below)
Option “TwinViewOrientation” “Clone”
#metamodovi
Option “MetaModes” “1152×864,800×600 @1152×864; 1024×768,800×600 @1024×768”
#redosled povezanih uredjaja, prvi je CRT – monitor, drugi je TV
Option “ConnectedMonitor” “crt,TV”
#TV standard i format za video out (COMPOSITE ili SVIDEO, i PAL-B,NTSC-M,PAL-G itd itd)
Option “TVOutFormat” “COMPOSITE”
Option “TVStandard” “PAL-B”
#kraj
Option “DPMS” “on”
EndSection
Restartujte X, i uzivajte u TV Outu.
Za sam kraj evo kompletnog XF86Config-4 fajla, koji je generisao XFDrake, a ja ispravio u skladu sa tutorialom.
# File generated by XFdrake.
# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************
Section “Files”
RgbPath “/usr/X11R6/lib/X11/rgb”
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.
FontPath “unix/:-1”
EndSection
# **********************************************************************
# Server flags section.
# **********************************************************************
Section “ServerFlags”
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
#NoTrapSignals
# Uncomment this to disable the server abort sequence
# This allows clients to receive this key event.
#DontZap
# Uncomment this to disable the / mode switching
# sequences. This allows clients to receive these key events.
#DontZoom
# This allows the server to start up even if the
# mouse device can’t be opened/initialised.
AllowMouseOpenFail
EndSection
# **********************************************************************
# Input devices
# **********************************************************************
# **********************************************************************
# Keyboard section
# **********************************************************************
Section “InputDevice”
Identifier “Keyboard1”
Driver “Keyboard”
Option “AutoRepeat” “250 30”
Option “XkbRules” “xfree86”
Option “XkbModel” “pc105”
Option “XkbLayout” “us”
EndSection
# **********************************************************************
# Pointer section
# **********************************************************************
Section “InputDevice”
Identifier “Mouse1”
Driver “mouse”
Option “Protocol” “IMPS/2”
Option “Device” “/dev/mouse”
Option “ZAxisMapping” “4 5”
Option “Buttons” “3”
# ChordMiddle is an option for some 3-button Logitech mice
# Option “ChordMiddle”
EndSection
Section “Module”
# This loads the DBE extension module.
Load “dbe”
# modul za 3d OpenGL akceleraciju
Load “glx”
# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection “extmod”
#Option “omit xfree86-dga”
EndSubSection
# This loads the Type1 and FreeType font modules
Load “type1”
Load “freetype”
EndSection
# **********************************************************************
# Monitor section
# **********************************************************************
# Any number of monitor sections may be present
Section “Monitor”
Identifier “mymonitor”
VendorName “Hansol”
ModelName “Hansol 710DT”
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR’S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 30-95
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR’S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 47-160
# This is a set of extended mode timings typically used for laptop,
# TV fullscreen mode or DVD fullscreen output.
# These are available along with standard mode timings.
# Sony Vaio C1(X,XS,VE,VN)?
# 1024×480 @ 85.6 Hz, 48 kHz hsync
ModeLine “1024×480” 65.00 1024 1032 1176 1344 480 488 494 563 -hsync -vsync
# 768×576 @ 79 Hz, 50 kHz hsync
ModeLine “768×576” 50.00 768 832 846 1000 576 590 595 630
# 768×576 @ 100 Hz, 61.6 kHz hsync
ModeLine “768×576” 63.07 768 800 960 1024 576 578 590 616
EndSection
# **********************************************************************
# Graphics device section
# **********************************************************************
Section “Device”
Identifier “Generic VGA”
Driver “vga”
EndSection
Section “Device”
Identifier “Nvidia GeForce MX400”
VendorName “Microstar”
BoardName “MSI 8833 VIVO 32mb”
Driver “nvidia”
VideoRam 32768
# Clock lines
Option “TwinView”
Option “SecondMonitorHorizSync” “30-50”
Option “SecondMonitorVertRefresh” “60”
Option “TwinViewOrientation” “Clone”
Option “MetaModes” “1152×864, 800×600 @1152×864; 1024×768, 800×600 @1024×768; 800×600, 800×600 @800×600”
Option “ConnectedMonitor” “crt,TV”
Option “TVOutFormat” “COMPOSITE”
Option “TVStandard” “PAL-B”
# Uncomment following option if you see a big white block
# instead of the cursor!
# Option “sw_cursor”
Option “DPMS” “on”
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
Section “Screen”
Identifier “screen1”
Device “Nvidia GeForce MX400”
Monitor “mymonitor”
DefaultColorDepth 24
Subsection “Display”
Depth 8
Modes “1152×864” “1024×768” “800×600” “640×480”
ViewPort 0 0
EndSubsection
Subsection “Display”
Depth 15
Modes “1152×864” “1024×768” “800×600” “640×480”
ViewPort 0 0
EndSubsection
Subsection “Display”
Depth 16
Modes “1152×864” “1024×768” “800×600” “640×480”
ViewPort 0 0
EndSubsection
Subsection “Display”
Depth 24
Modes “1152×864” “1024×768” “800×600” “640×480”
ViewPort 0 0
EndSubsection
Subsection “Display”
Depth 32
Modes “1152×864” “1024×768” “800×600” “640×480”
ViewPort 0 0
EndSubsection
EndSection
Section “ServerLayout”
Identifier “layout1”
Screen “screen1”
InputDevice “Mouse1” “CorePointer”
InputDevice “Keyboard1” “CoreKeyboard”
EndSection
########end of config file
To bi bilo sve, nadam se da nece biti nikakvih problema.
ps. BTW, ovo nikako nije sve sto se tice X Servera i njegovih podesavanja. Da li vas nerviraju
ruznjikavi fontovi koje prikazuje X Font Server? Cemu X Font Server kad sam X lepo renderuje
fontove? Kako se dozvoljava
i ogranicava pristup X Serveru? Razmisljajte, kopajte po netu,
experimentisite
Poz
Salac
[email protected]
August 2003