Instaluję znajomemu Mdk10.2 (to jego i mój pierwszy linux, ja używam go od miesiąca). Męczę się już 2 tygodnie, powiedział że jeśli nie skończę konfigurować tv-out do niedzieli to każe mi samemu wywalić linuksa i zainstalować win xp.
Karta to geforce 4 mx 440. Jądro systemu jest oryginalne, 2.6.11-6mdk. Przedstawię teraz historię moich wysiłków:
Zainstalowałem najnowsze stery ze strony nvidii - 7667. Po restarcie KDE włączyło się i działa prawidłowo, ale konsola nie. Prawie cały ekran pokryty jest migającymi znaczkami. System reaguje na komendy (np. mogę zamknąć X), ale nadal na wszystkiech 6 ekranach jest taki sam śmietnik.
Ten problem opisany jest na forum nvnews, zalecają instalację starszych o 2 wydania sterów 7174 sprzed paru miesięcy. U mnie nie dało to żadnej poprawy.
Problem opisany jest też szczegółowo na
http://www.rengels.de/computer/linux/linux-nvidia.htmlPróbowałem wszystkich rozwiązań, które mnie dotyczą (ostatnie 3).
1. De-activating the framebuffer support (e.g. by removing "vga" in your kernel start parameters") seems to solve the problem in many case, although not for me and my GeForce 4.
- Nie wiem, gdzie w menuconfig jest ta opcja vga.
2. Another possibility seems to set EXACTLY the same video mode that your are running in X. Sounds kinda hard.
- nie rozumiem tego
3. Using vesafb-tng from Michael Januszewski seems to work.
- Wszedłem na stronę projektu. Pobrałem patcha i próbuję go nałożyć (pierwszy raz w życiu robię coś takiego). Wynik jest następujący:
# cat /home/wojtek/download/vesafb-tng-0.9-rc7-r1-2.6.13-rc1.patch | patch -p1
patching file Documentation/fb/vesafb.txt
patching file arch/i386/boot/video.S
Hunk #1 succeeded at 168 (offset 4 lines).
Hunk #2 succeeded at 206 (offset 4 lines).
Hunk #3 succeeded at 285 (offset 4 lines).
Hunk #4 succeeded at 500 (offset 4 lines).
Hunk #5 succeeded at 577 (offset 4 lines).
Hunk #6 succeeded at 611 (offset 4 lines).
patching file drivers/video/Kconfig
Hunk #1 FAILED at 493.
Hunk #2 succeeded at 337 (offset -168 lines).
1 out of 2 hunks FAILED -- saving rejects to file drivers/video/Kconfig.rej
patching file drivers/video/Makefile
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file drivers/video/Makefile.rej
patching file drivers/video/fbmem.c
Hunk #2 succeeded at 1204 with fuzz 1 (offset 47 lines).
patching file drivers/video/fbmon.c
Reversed (or previously applied) patch detected! Assume -R? [n] y
Hunk #1 succeeded at 518 (offset 2 lines).
Hunk #2 succeeded at 593 with fuzz 1 (offset 3 lines).
Hunk #3 succeeded at 1197 with fuzz 2 (offset 19 lines).
Hunk #4 FAILED at 1274.
1 out of 4 hunks FAILED -- saving rejects to file drivers/video/fbmon.c.rej
The next patch would create the file drivers/video/vesafb-thread.c,
which already exists! Assume -R? [n] y
patching file drivers/video/vesafb-thread.c
The next patch would create the file drivers/video/vesafb-tng.c,
which already exists! Assume -R? [n] y
patching file drivers/video/vesafb-tng.c
The next patch would create the file include/video/vesa.h,
which already exists! Assume -R? [n] y
patching file include/video/vesa.h
(jak to robiłem to chyba nie wszędzie dałem yes w pytaniach typu The next patch would create the file which already exists!, ale zdaje się że patchowałem te same źródła drugi raz)
Widzę, że nie wszystko ok, ale próuję kompilować jądro. Wchodzę do menuconfig. Sterownik vga sam się ustawił na vesafb-tng, ale nie wiem gdzie mam zrobić "Don't forget to add the video option and remove the vga option from the kernel parameters.", które jest w instrukcjach instalacji patcha. Mimo to kontynuuję instalację jądra wg wskazówek z
http://www.linuxquestions.org/questions/showthread.php?s=&threadid=73436Po restarcie wybieram nowe jądro w lilo. System zaczyna się ładować, ale tekst leci na czarnym tle a nie domyślnym mdk-owym. Po chwili wyskakuje Kernel panic z komunikatem "no init passed to kernel" (nie zapisałem dokładnie tego komunikatu, mea culpa), kursor miga ale komp nie reaguje. Wybór pozostałych opcji skutkuje podobnie, ale wyświetla się niebieskie tło startowania (mimo to kernel panic).
Włożyłem płytę instalacyjną i wybrałem instalację uzupełniającą systemu. "Jakoś" ruszyło, naprawdę jestem tym zaskoczony.
Poniżej plik etc/X11/xorg.conf który obecnie pracuje w systemie:
# File generated by XFdrake.
# **********************************************************************
# Refer to the XF86Config man page for details about the format of
# this file.
# **********************************************************************
Section "Files"
# 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
Section "ServerFlags"
#DontZap # disable
(server abort)
#DontZoom # disable / (resolution switching)
AllowMouseOpenFail # allows the server to start up even if the mouse does not work
EndSection
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "pl"
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "6 7"
EndSection
Section "Monitor"
Identifier "monitor1"
VendorName "Plug'n Play"
ModelName "TELEVIEW"
HorizSync 30-80
VertRefresh 50-80
# Monitor preferred modeline (60.0 Hz vsync, 64.0 kHz hsync, ratio 5/4)
ModeLine "1280x1024" 108 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection
Section "Device"
Identifier "device1"
VendorName "nVidia Corp."
BoardName "NVIDIA GeForce4 (generic)"
Driver "nv"
Option "DPMS"
EndSection
Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultColorDepth 24
Subsection "Display"
Depth 8
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 15
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 16
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 24
Virtual 1024 768
EndSubsection
EndSection
Section "ServerLayout"
Identifier "layout1"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
Screen "screen1"
EndSection
Oraz plik skonfigurowany wedle wskazówek z http://www.rhguide.terramail.pl/xnvidia_art.html, którego oczywiście nie używam na razie (bo wtedy mam te durne problemy z konsolą)
# File generated by XFdrake.
# **********************************************************************
# Refer to the XF86Config man page for details about the format of
# this file.
# **********************************************************************
Section "Files"
# 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
Section "ServerFlags"
#DontZap # disable (server abort)
AllowMouseOpenFail # allows the server to start up even if the mouse does not work
#DontZoom # disable / (resolution switching)
EndSection
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "glx" # 3D layer
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "pl"
Option "XkbOptions" "compose:rwin"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "6 7"
EndSection
Section "Monitor"
Identifier "monitor1"
VendorName "Plug'n Play"
ModelName "TELEVIEW"
HorizSync 30-80
VertRefresh 50-80
# Monitor preferred modeline (60.0 Hz vsync, 64.0 kHz hsync, ratio 5/4)
ModeLine "1280x1024" 108 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection
#========= Sekcja Device dla TwinView =========
Section "Device"
Identifier "NV AGP TwinView" # identyfikacja potrzebna w ServerLayout
Driver "nvidia" # nazwa sterownika
Option "DPMS" "false"
Option "TwinView" # uaktywnia TwinView (bez tego poniższe opcje nic nie zmienią)
Option "ConnectedMonitor" "CRT, TV" # Typy podłączonych monitorów
Option "TwinViewOrientation" "Clone" # Sposób wyświetlania na 2 ekranie
Option "SecondMonitorHorizSync" "30-50" # Odpowiednie parametry dla TV
Option "SecondMonitorVertRefresh" "60" # Odpowiednie parametry dla TV
Option "TVStandard" "PAL-B" # Narzucenie standardu TV
Option "MetaModes" "1024x768, 800x600" # Rozdzielczości na monitorze i TV
EndSection
#========= Sekcja Device dla monitora =========
Section "Device"
Identifier "NV AGP normal"
Driver "nvidia"
Option "DPMS" "false"
EndSection
#========== Sekcja Screen dla TwinView ==============
Section "Screen"
Identifier "Screen AGP TwinView"
Device "NV AGP TwinView" # nazwa urządzenia jakie chcemy użyć (id w sekcji device)
Monitor "monitor1" # musi odpowiadać id monitora z sekcji monitor
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "800x600" "640x480" # deklaracja MetaModes musi się zgadzać z tym
EndSubSection
EndSection
#========= Sekcja Screen dla monitora ===========
Section "Screen"
Identifier "Screen AGP normal"
Device "NV AGP normal"
Monitor "monitor1"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection
#=========== Serwer Layout dla monitora ============
Section "ServerLayout"
Identifier "normal"
Screen "Screen AGP normal"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
EndSection
#========== Serwer Layout dla TwinView ===========
Section "ServerLayout"
Identifier "TV"
Screen "Screen AGP TwinView"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
Option "BlankTime" "0" # te 4 opcje dotyczą oszczędzania energii dot. monitora; (0 - wyłączone)
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection
Moje pytanie - co ja mam zrobić?
1. Czy można włączać i wyłączać tryb TV bez wyłączania X? Domyślam się że możnaby ustawić tak, że zawsze wyświetla na obu, a po prostu tego nie używać. Ale czy to nie obciąża karty, nie spowalnia systemu?
2. Wiem że jest program nv-tv-out. Strona http://www.bolec.pozman.pl/index.php?show=podstrony/linux/tv&menu=linuxmenu pisze o nim bardzo zachęcająco, ale czy to będzie działać jak powinno?
3. Jakieś inne pomysły? gdzie popełniam błędy? Ostatecznie mogę próbować pracować bez konsoli, ja jakoś wytrzymam (w końcu tylko instaluję tu system), a znajomemu nie robi to różnicy, nie będzie jej i tak używał.
Ponieważ nie wiem, gdzie będzie lepiej, postuję to na forum w kategorii karty graficzne i w x-serwer. Proszę o wyrozumiałość, a administratorów o usunięcie jednego z wątków. Wiem, że nigdy się nie pisze "proszę o szybką odpowiedź", dlatego przypomnę, że do niedzieli muszę to wszystko skończyć!!
Dzięki z góry za wszelką pomoc!