[Megoldva] Linux és a TV-k, mint monitor

A helyzet a következő: Van egy intel vga-s (igazából szerintem lényegtelen) alaplap, amire monitorként egy 32"-es Tv kerülne. Többször volt már hasonló projekt, a lap ugyanaz, de a TV-k mindig mások.

A probléma az, hogy a linux nem ismeri fel a TV-t, nem tudja detektálni a képességeit valamiért, így 640, 800 és 1024-es 4:3-as felbontások vannak össz-vissz.
A korábbi tévéknél valahogy mindig megoldottam, hogy átváltson nagyobb felbontásra. A legutóbbi modellnél a .kde/Autostart-ba rakott scripttel, ami xrandr-al hozzáadja a felbontást, majd beállítja a kimenetre minden loginnál. Azért lett így, mert a KDE monitor kezelője ezt sem, és ezután sem tudta kezelni, és az xorg-conf gyártás is kudarcot vallott, el se indult az X, vagy kifagyott indulásnál.
Ezzel a TV-vel viszont akárhogy probálom, nem megy.


xrandr --newmode "1360x768_60.00"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
xrandr --addmode default "1360x768_60.00"
xrandr -s 1360x768
xrandr --dpi 96

Az xrandr is hibát dob:


xrandr: Failed to get size of gamma for output default

Ha meg hozzáadom a gammákat, akkor ilyet ír:


X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  139 (RANDR)
  Minor opcode of failed request:  16 (RRCreateMode)
  Serial number of failed request:  18
  Current serial number in output stream:  18

Így nézne ki most a script:


#!/bin/bash

xrandr --output default --gamma 1:1:1 --newmode "1360x768_60.00"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync
xrandr --output default --gamma 1:1:1 --addmode default "1360x768_60.00"
xrandr --output default --gamma 1:1:1 -s 1360x768
xrandr --output default --gamma 1:1:1 --dpi 96

Eddig Fedora 18-at telepítettem, most mivel nem ment, tettem fel próbaképp 19-et, hátha ez már jobban támogat valami hardvert, de a helyzet semmit sem változott.

Egyéb infó: ez, és a korábbi TV-k is, ha windózra dugom őket, azonnal látják mit tud a TV, minden gond nélkül be tudom állítani a felbontást. Ha erre a lapra egy rendes monitort teszek, az is működik pöccre rendesen. Ha a TV-t másik (saját laptopra) dugom, akkoe is az a helyzet, hogy 1024x768, és sehogy nem tudom fentebb venni. Ha erre a lapra windózt teszek, akkor ezzel is megy a TV rendsen.

Szóval a kérdés, hogy hogy lehetne rendesen működésre bírni a TV-t?

Hozzászólások

Az Intel VGA kártyádat melyik driver hajtja? Ha jól sejtem, akkor vesa és nem intel.

A xrandr értéket honnan szedted? Csak azért kérdezem, mert a múlt héten lőttem be a full hd-s monitoromat linux alatt és vagy 6 órát szívtam a megfelelő adatok kinyerésével. Opensuse 12.3 alatt quadro fx 370-es kártya szivatott, mert nem tudta kiolvasni rendesen a monitor adatait. A megoldás a monitor-edid lett. A kiolvasott értékeket a /etc/X11/xorg.conf.d/10-monitor.conf-ba szerkesztettem be és azóta ööm bodottá...

A monitor-edid egy parancssoros alkalmazás, rpm csomagként fenn van a neten. Kiolvassa a monitor (megjelenítő) eepromban, epromban tárolt konfigurációs adatait. A kimenetet simán copy-paste-eltem x alatt az xorg configjába. Egyedül ezzel sikerült rendes működésre bírni a monitort. Az rpmfind.net-en megtalálod a distrodnak megfelelőt.

Nálam a cvt nem működött, mert csak kalkulált adatokkal dolgozik. A monitor-edid mint írtam, kiolvassa a konkrét értékeket a monitorból.

Na most akkor nem világos, a sima, piszkálatlan "X -configure" által generált konfig mindenféle módosítás nélkül elindul-e.
Ha nem, akkor talán kellene egy Xorg.0.log, amiből kiderül, miért nem indul el, azt meg kellene oldani, és utána megpróbálni beszúrni a kívánt kiegészítést, majd újra megnézni.

Dobd ki a generált konfigból az összes kártyát a Card0 kivételével (fbdev, vesa megy a kukába, csak az intel marad), és az összes rájuk hivatkozó Screen konfigurációt, aztán próbáld még egyszer.

Ja, és első körben elég az összes "(EE)"-t tartalmazó sor az Xorg.0.log-ból...

Egyszerűsítek, próbálkozz vmi ilyesmivel:


Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib64/xorg/modules"
        FontPath     "catalogue:/etc/X11/fontpath.d"
        FontPath     "built-ins"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync 31-75
        VertRefresh 50-76

        # Monitor preferred modeline (60.0 Hz vsync, 47.7 kHz hsync, ratio 16/9) (bad ratio)
        ModeLine "1360x768" 85.5 1360 1424 1536 1792 768 771 777 795 +hsync +vsync

        # Monitor supported modeline (60.0 Hz vsync, 47.4 kHz hsync, ratio 15/9) (bad ratio)
        ModeLine "1280x768" 68.25 1280 1328 1360 1440 768 771 778 790 -hsync +vsync
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection

Section "Device"
        Identifier  "Card1"
        Driver      "intel"
        BusID       "PCI:0:2:1"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1280x768"
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1360x768"
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Card1"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1280x768"
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1360x768"
        EndSubSection
EndSection

[root@localhost log]# grep EE Xorg.0.log 
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    27.085] Initializing built-in extension MIT-SCREEN-SAVER
[    27.654] (EE) No devices detected.
[    27.663] (EE) 
[    27.663] (EE) no screens found(EE) 
[    27.663] (EE) 
[    27.663] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    27.663] (EE) 

--
The Community ENTerprise Operating System

Csináltam egy ilyet, semmi hatása:


Section "Monitor"
        Identifier "Monitor0"
        HorizSync 31-75
        VertRefresh 50-76

        # Monitor preferred modeline (60.0 Hz vsync, 47.7 kHz hsync, ratio 16/9) (bad ratio)
        ModeLine "1360x768" 85.5 1360 1424 1536 1792 768 771 777 795 +hsync +vsync

        # Monitor supported modeline (60.0 Hz vsync, 47.4 kHz hsync, ratio 15/9) (bad ratio)
        ModeLine "1280x768" 68.25 1280 1328 1360 1440 768 771 778 790 -hsync +vsync
EndSection

--
The Community ENTerprise Operating System

A 9.25-ös hozzászólásod alapján rendelkezel xorg.conf-fal, ha jól látom. Erre nincs szükség. Ha mást nem javítottál az xorg.conf.d alatt, telepítéskori állapot szerint el kell indulnia az X-nek.

PS: az 1280-as sort is vedd ki. Egy működő állapotot kell elérned, aztán lehet utána mókolni a többit.

Milyen csatlakozón keresztül próbálod? Nekem volt olyan, hogy DVI-on keresztül sehogy se ment a felbontás felismerés, de sima VGA-n keresztül igen. HDMI-vel szintén jó a tapasztalatom.


[root@localhost ~]# Xorg :1 -configure

X.Org X Server 1.14.3
Release Date: 2013-09-12
X Protocol Version 11, Revision 0
Build Operating System:  3.10.9-200.fc19.x86_64 
Current Operating System: Linux localhost.localdomain 3.11.2-201.fc19.x86_64 #1 SMP Fri Sep 27 19:20:55 UTC 2013 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-3.11.2-201.fc19.x86_64 root=UUID=14331e68-6685-45d8-aa54-7da97547c658 ro rd.lvm.lv=fedora/swap nomodeset rd.md=0 rd.dm=0 rd.luks=0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=hu101 rhgb quiet LANG=hu_HU.UTF-8
Build Date: 16 September 2013  12:43:35AM
Build ID: xorg-x11-server 1.14.3-1.fc19 
Current version of pixman: 0.30.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Fri Oct 11 09:05:09 2013
List of video drivers:
        intel
        modesetting
        vmware
        ati
        openchrome
        nouveau
        radeon
        qxl
        mga
        fbdev
        vesa
(++) Using config file: "/root/xorg.conf.new"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Number of created screens does not match number of detected devices.
  Configuration failed.
(EE) Server terminated with error (2). Closing log file.
[root@localhost ~]#

--
The Community ENTerprise Operating System

Nos, közben megpróbáltuk a TV-t egy ubuntus laptopon, és furi, mert pöccre jól adta ki rá a felbontást, már a splashscreennél is... Az már más kérdés, hogy egy terminálra váltásnál kifagyott, aztán következő indulásnál el se indult, és semmire nem reagált, de hát az én kezem közt mindig ilyen ez a "bugmentes" ubuntu. :)
Ami viszont a lényeg, hogy próbáltam xorg configot generáltatni, hátha itt jó lesz, de ugyanúgy nem sikerült.
Van valami ötlet esetleg arra, hogy hogy menthetném le az ubuntu beállításait?
--
The Community ENTerprise Operating System

Nézgettem a betöltött modulokat, ez az X -configure teljesen hülyeséget generál... Nem is az intel modult használja a kártyához, hanem az i915-öt. (A fedora és az ubuntu is...) Szóval erre nincs mit adni.
--
The Community ENTerprise Operating System

Megvan... :)
A következőt csináltam: módosítottam az /etc/sysconfig/grub-ot a következő képpen (kommentelve a default, telepítő által kreált beállítás, alatta amit módosítottam):


GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
#GRUB_DISABLE_SUBMENU=true
GRUB_DISABLE_SUBMENU=false
#GRUB_TERMINAL_OUTPUT="console"
GRUB_TERMINAL_OUTPUT="gfxterm"
#GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap nomodeset rd.md=0 rd.dm=0 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rd.luks=0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=hu101 rhgb quiet"
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap rd.md=0 rd.dm=0 $([ -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rd.luks=0 vconsole.font=latarcyrheb-sun16 vconsole.keymap=hu101 rhgb quiet"
#GRUB_DISABLE_RECOVERY="true"
GRUB_DISABLE_RECOVERY="false"

grub2-mkconfig, reboot, és tökéletesen megy minden... Szóval konklúzió: ha rendes felbontást akarsz a GUI-n, a bootmanagert is erre kell állítanod. Éljen a grub2 és a kernel mode settings és a hasonló remek technikák...
FullHD-s grub2 menüt mindenkinek! Opa gangnam style...

UI.: Azt ne kérdezzétek, hogy rendes monitorral miért ment ennek ellenére is.
--
The Community ENTerprise Operating System