[patches} Korrekte interlaced und framesynchrone Ausgabe für SDTV/HDTV auf VGA/DVI/HDMI/RGB/SCART

  • Zitat

    Original von durchflieger


    Die 1440 Auflösung ist bei digitalen Verbindungen (HDMI, DVI) notwendig da diese ein unteres Limit von ~25Mhz pixel clock haben. Dabei wird im Sender (Graphikkarte) jeder Bildpunkt horizontal verdoppelt und im TV-Empfänger wiederum nur jeder 2 Bildpunkt verwendet so das wieder das urspüngliche Format mit 720 entsteht. Dieses so gewonnene 720x576 Bild wird dann auf die native Panelauflösung vom TV skaliert. Es gibt laut HDMI Spezfikation im digitalen Protokoll spezielle Informationen (Flags) mit denen seitens des Sender signalisiert wird, das mit horizontaler Verdoppellung gesendet wird.
    Und hier liegt vermutlich der Hacken an der Sache. Der radeon Treiber wird dieses Flag nicht gesetzt haben bei der 1440 Auflösung. Damit hängt es dann vom TV ab was er daraus macht. Meine LG LCD-TV's sehen eine 1440 Auflösung offenbar als 720er an auch wenn das Flag nicht gesetzt ist (man da hat sogar mal einer der Entwickler bei LG mitgedacht :-). Dein TV scheint das wohl anders zu interpretieren. Dann bleibt nur noch der Versuch direkt die 720x576 Modeline zu verwenden. Auf den LG's bekomme ich damit auch ein Bild das allerdings nicht so klar ist wie bei 1440 was auch nicht verwunderlich ist da ja ausserhalb der Spezifikation.


    Gruss durchflieger


    Das wird es wohl sein. Ohne das Flag scheint mein Panasonic die 1440 nicht zu akzeptieren, und "normale" 720x576_50i nimmt er auch nicht entgegen. Wieder eine Sackegasse?

  • Zitat

    Original von dortje
    Das wird es wohl sein. Ohne das Flag scheint mein Panasonic die 1440 nicht zu akzeptieren, und "normale" 720x576_50i nimmt er auch nicht entgegen. Wieder eine Sackegasse?


    same here - schade! :(


    //EDIT
    //OT on:


    lt. Manual des displays sind die modi:

    Zitat

    BenQ DV3250 supports 480p, 720p, 576p and 1080i HDTV signals provided by high definition AV equipment such as a HDTV decoder


    und dann steht da wieder auf einer anderen seite im "Datenblatt"

    Zitat

    Interoperability HDTV: 480i / 480p / 576i / 576p / 720p / 1080i


    wie auch immer - leicht verwirrend :schiel


    allerdings gibt's noch einen button auf der RC:

    Zitat

    "i" button: Press this button to let the display automatically adjust frequency, phase and image position in PC or HDTV modes, or search for signal source and properly display the video format in the video mode.

    es ist also noch raum zum experimentieren :monster1


    //OT off:

    Lascala LC17 - tribute to viking ;o) + atric IR / SoC ASUS J3455M-E / OctopusNet S4 / yavdr ubuntu jammy / output: osd2web + kivy-osd2web / branch 'python3' via 6.4" TFT & sat>ip DVB-S/S2 via FullHD / NVidia GT1030 passiv

    2 Mal editiert, zuletzt von ciax ()

  • Folgende Hoffnung habe ich noch: Meine eHD gibt ein (auch für mein TV) korrektes 576i-Bild über HDMI aus. Das bedeutet doch, dass es irgend eine Möglichkeit gibt den (oder die) LCD(`s) mit schlampiger Firmware zu überlisten?


    Frage ist nur, wie kriegt man das raus....


    cu
    biggsmann

  • Zitat

    Originally posted by biggsmann
    Folgende Hoffnung habe ich noch: Meine eHD gibt ein (auch für mein TV) korrektes 576i-Bild über HDMI aus. Das bedeutet doch, dass es irgend eine Möglichkeit gibt den (oder die) LCD(`s) mit schlampiger Firmware zu überlisten?


    in diesem Bereich macht offenbar jeder Hersteller was er will:)


    Mein Fuijitsu-Siemens 5110 FA (ist eigentlich nur Computermonitor) spielt die 576i sogar an analog VGA und digital DVI. GraKa ist die Radeon-X300 PCIe. Allerdings
    eignet sich dieser LCD wegen den internen 60Hz nicht sonderlich gut zum Testen.


  • Ich habe hier folgende Karte:

    Kann ich davon ausgehen, dass die Karte unterstützt wird?


    Danke.

  • Ich hab hier auch auf Lenny aktualisiert, und irgendwie geht bei mir hier gar nichts. :(


    kernel:
    Welchen genauen Kernel nehmt ihr denn her? Nen vanilla, oder den von Debian (der von Debian heißt übrigens anders als in den Anleitungen angegeben)
    Kann das alles hier daran liegen, dass ich mit nem vanilla 2.6.27(.1) rumprobiere?


    drm (via git):
    das baut mir ein Modul, was beim Einfügen aber lauter ungültige AGP-Symbole symbole anzeigt => drm.ko und radeon.ko werden nicht eingefügt.


    xserver-xorg-video:
    Läuft gar nicht durch, da sagt er irgendwas von fehlendem Strichpunkt oder so. Irgendein type ist nicht initialisiert ...
    Das hier müsste aber eigentlich Kernel-unkritisch sein, also was läuft hier schief?. Haben die mittlerweile wieder was am repository geändert?


    Tja, weiter bin ich noch nicht. Tipps?


    [Rant on] genau das meinte ich mit dem Kompilieren. Man verstopft das System mit 100ten libs und dev-Programmen, und am Schluss geht´s doch nicht. Ist's denn wirklich so schwer, die passenden drm.ko, radeon.ko und zumindest das xserver-xorg-vi*.deb hochzuladen?!?


    EDIT
    Ok, jetzt bin ich auf (vanilla-)kernel 2.6.26.6:


    drm:
    Geht scheinbar. Die Module klinken sich ohne Beschwerden ein.
    (allerdings sind die Modul-Daten die selben, wie vor dem patchen; ich hoffe, ich habe alles richtig gemacht)


    xserver-xorg-video-ati vom git, kompiliert mit dpkg-buildpackage:

    Diesmal mit dem patch aus vga-sync-fields-0.0.8 weil der von 0.0.9 gar nicht durch lief. Der 0.0.9er kollidiert irgendwie mit dem debian-patch, der da mit dem ´apt-get source´-paket mitgeliefert wird. Fehler ist aber der selbe wenn man zB beim 0.0.9er den debian-patch ausklammert.


    Tja ohne gepatchten ati-Treiber bin ich verratzt. Hat jemand ein .deb-Paket für mich?

  • > ProSavage


    Tut mir leid. Danke nachträglich für die Tipps. :unsch
    Ich hatte das noch einige Tage probiert, dann sind mir die Prüfungen dazwischen gekommen. Deine Tipps haben aber leider nichts geholfen bzw verändert. Ich hatte dann noch probiert das savage-Kernel-Modul anzupassen, um timings anzupassen und/oder mitzuprotokollieren. Bin aber damit nicht weitergekommen; entweder der Chip benötigt tatsächlich irgendeine Minimum-Frequenz, oder kann das Interlacing nicht ordentlich.
    Jedenfalls hat´s mich irgendwann angekotzt und ich "opfere" jetzt wohl doch meine Radeon 9250 für den vdr-Rechner. Es wäre zwar schön gewesen, die onboard-Karte zu nutzen, aber hilft ja nix.... bei euch scheint´s ja mit der Radeon auch schon richtige *Ergebnisse* zu geben. :)


    xine-lib geht übrigens auch nicht:

    Seit ihr zwei die einzigen, die das zum Laufen bekommen haben, oder bin ich nur zu blöd dafür?! :schiel

  • Öhm, und wie lasst ihr den VDR eigentlich laufen?
    vdr-plugin-softdevice ?
    vdr-plugin-xine ?
    vdr-plugin-xineliboutput ?


    Öhm, und was ist vdr-sxfe, und wird das auch verwendet?
    - tut mir leid, VDR ohne FF-Karte ist völliges Neuland für mich.
    - war ja bisher nicht in zufriedenstellender Qualität möglich. :schiel


    EDIT:
    Hehe! Zumindest konnte ich das xine-lib Problem killen. :applaus
    Wenn man experimental schon in der /etc/apt.conf hat, kann man einfach folgendes machen:
    1. apt-get -t experimental build-dep libxine2-vdr
    [Vorsicht! Da werden 100tausend Sachen auf die Platte gekloppt!]
    2. apt-get -t experimental source libxine2-vdr
    3. Ins xine-lib* Verzeichnis gehen und patchen mit dem xine-lib.patch
    4. Dann bauen mit:
    dpkg-buildpackage -tc -us -uc -b


    ABER ohne den gepatchten xserver hilft mir das gar nix! HÜLFE! [schnüff!]


  • hi, vdr-sxfe ist das frontend zu xineliboutput ;)


    durchflieger & sparkie: ich würde mal sagen, daß es mit dem IGP x1250er onboard (RS600) grundsätzlich funktioniert. leider kann ich den FRC patch aufgrund meines displays (kein 576i, 1080i abgeschnitten) nicht richtig nutzen. :(


    .. wie berechnet eigentlich ihr eure modelines?


    grüße,
    ciax

  • Zitat

    Originally posted by ciax


    .. wie berechnet eigentlich ihr eure modelines?


    Programme fuer das Errechnen von progressiven Modes gibt's eigentlich wie Sand am Meer:
    z.B.
    "videogen"
    "cvt" (coordinated video timing)
    "umc" (universal modeline calculator)
    "gtf" (general timing formula)


    fuer interlaced Modelines hab ich hingegen noch nirgends was Brauchbares gefunden. Darum habe ich mir selber ein Tool geschrieben:
    pal_modeline-0.0.9.sh.gz
    kl. Anleitung dazu


    hier noch nen paar Docs (ich dumpe hier mal paar meiner alten Notizen, es gibt sicher inzwischen Neueres)


    FILES:
    /usr/src/kernel/Documentation/fb/framebuffer.txt
    /usr/src/kernel/Documentation/fb/modedb.txt
    /etc/fb.modes


    Online:
    http://en.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO
    http://en.wikipedia.org/wiki/XFree86_Modeline
    http://xtiming.sourceforge.net/cgi-bin/xtiming.pl
    http://zaph.com/Modeline/
    http://koala.ilog.fr/cgi-bin/nph-colas-modelines
    http://www.dkfz-heidelberg.de/spec/linux/modeline/
    http://www.tkk.fi/Misc/Electronics/faq/vga2rgb/calc.html
    http://www.mythtv.org/wiki/index.php/Modeline_Database

  • Hallo Leute.


    Ich bin heute morgen zum ersten mal dazu gekommen meine frisch ersteigerte Radeon X300SE (RV370, PCIE, Low-Profile, 1xDVI,1xSVIDEO) zu testen. Leider kann ich eure bisherigen Erfahrungen mit pre-Avivo Hardware jetzt bestätigen. Bei mir funktionieren auch nur progressive Modes. Bei interlaced Modes werden diese zwar selektiert jedoch zeigt mein LCD nur "No Signal" an. Da ist wohl im Radeon-Treiber bei Ausgabe über DVI doch noch was sehr im argen mit den interlaced Modes.


    Gruss
    durchflieger

  • Zitat

    Bei interlaced Modes werden diese zwar selektiert jedoch zeigt mein LCD nur "No Signal" an. Da ist wohl im Radeon-Treiber bei Ausgabe über DVI doch noch was sehr im argen mit den interlaced Modes.


    very mysterious :schiel


    um sicher zu gehen, habe ich gerade nochmal gegengetestet:


    ich habe ueber einen DVI->VGA Adapter und VGA2SCART-Kabel keine Probleme einen alten Roehren-TV an die X300 oder eine X300SE anzuschliessen und per SCART mit 720x576_50i zu betreiben.


    Wenn ich an die X300 testweise digital ueber DVI einen LCD dranhaenge laeuft der sowohl mit


    720x576_50i (was er wegen Pixelverdoppelung eigentlich gar nicht braeuchte)
    und mit
    1440x576_50i


    dabei verwende ich eigentlich genau den gleichen System-Stand wie durchflieger. Glaube ich wenigstens:)


    [EDIT]
    natuerlich mit dem im ersten Post erwaehnten 'radeon_interlace.patch.gz'
    [/EDIT]

  • Immerhin bestätigt das, dass es noch Probleme gibt. Ich hatte mitlerweile auch schon alles, mal gar keine Signal wenn ich auf interlaced modi gehe (so ist es meistens), manchmal einfach nur X-server freezes, und manchmal sogar das passende Signal dann am LCDTV. Teilweise ist aber auch einfach das gesamte System eingefroren..

  • Sieht so aus als ob ich das Problem im radeon-Treiber gefunden habe. :strike1
    Der radeon_interlace Patch ist wohl das Problem. Die Korrektur der vertikalen Mode Parameter beim berechnen der crtc Register wie im Patch vollzogen darf nicht angewendet werden da die Werte bereits richtig vorliegen. Allerdings gibt es noch Probleme mit der Field-Order.
    sparkie
    Kann es sein das wir unterschiedliche xserver Versionen haben die dafür verantwortlich sind?

  • Zitat

    sparkie
    Kann es sein das wir unterschiedliche xserver Versionen haben die dafür verantwortlich sind?


    also ich habe die Nachtests deiner Patches genau mit den Versionen durchgefuehrt, wie sie in deinem README_FRC.txt angegeben werden:


    Installation of xorg V7.4 (xserver V1.5):
    gezogen mit
    apt-get -t experimental install xserver-xorg
    apt-get -t experimental source xserver-xorg-video-ati


    [aber ich habe mein Testsystem zum Zeitpunkt deines Release zum letzten Mal ge'update'd. Vielleicht wurden die Packages inzwischen geaendert und wurden inkompatibel zum Interlace-Patch. Ich meine irgendwo gelesen zu haben, das Radeon Team wollte das Interlace Problem endlich mal offiziell fixen.]

  • Zitat

    Original von sparkie
    Offenbar wurde tatsaechlich vor ein paar Tagen was zum Thema 'interlaced modes' commited. Siehe auch:


    Bugzilla – Bug 12626 Interlaced modes broken in latest git


    http://bugs.freedesktop.org/show_bug.cgi?id=12626


    Also im master Branch im git ist dazu nichts zu sehen. Der Patch vom Andy Burns der hier zur Diskussion steht entspricht unserem interlaced patch. Und das ist genau das was bei mir nicht funktioniert.
    Unsere xserver-Versionen liegen auch sehr dicht beieinander. Was vieleicht noch sein könnte ist dass die debian-Maintainer da noch eigene Patches im xserver haben. Könntest du vieleicht mal mit meinem original Stack den du ja vorliegen hast das ganze ausprobieren?

  • Zitat

    Originally posted by durchflieger
    Unsere xserver-Versionen liegen auch sehr dicht beieinander. Was vieleicht noch sein könnte ist dass die debian-Maintainer da noch eigene Patches im xserver haben. Könntest du vieleicht mal mit meinem original Stack den du ja vorliegen hast das ganze ausprobieren?


    ja klar. Ich habe ja damals, als du mir deinen Source-Tree gegeben hast alles kompiliert und angetestet. Soeben habe ich es mir nochmal angeschaut.


    Das einzige nennenswerte Problem, das ich mit deinem Original-Tree habe ist, dass anfangs kein Cursorimage zu sehen ist. Bewege ich
    den Cursor blind in einen xterm, so dass er das CursorImage umladen
    muss, sieht man von da ab das Image normal.


    Keine sonstigen Auffaelligkeiten bei Test mit Windowmanager 'jwm' (Desktop) und mit XV (vdr + xineliboutput). Ich verwende SCART 720x576_50i am Roehren-TV.


    Die Interlaced-Modi mit hoeheren Aufloesungen wie 1080i kann ich wegen fehlendem Equipment nicht testen.
    Da es erst mal grundsaetzlich nur um die interlaced Modi des Xservers geht, habe ich die Funktionfaehigkeit der Framerate Control hier nur angetestet.


    Karte: X300SE im M2NPV-VM


    # lspci -v


    01:00.0 VGA compatible controller: ATI Technologies Inc RV370 5B60 [Radeon X300 (PCIE)]
    Subsystem: ATI Technologies Inc Device 0f02
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f0000000 (32-bit, prefetchable) [size=128M]
    I/O ports at ac00 [size=256]
    Memory at fddf0000 (32-bit, non-prefetchable) [size=64K]
    Expansion ROM at fddc0000 [disabled] [size=128K]
    Capabilities: [50] Power Management version 2
    Capabilities: [58] Express Endpoint, MSI 00
    Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
    Capabilities: [100] Advanced Error Reporting <?>
    Kernel driver in use: radeonfb
    Kernel modules: radeonfb

  • Hier mal als Anlage ein modifizierter radeon interlace patch der bei mir auf der pre-AVIVO X300SE zumindestens mal wieder ein Bild bei den interlaced modes bringt bei den Auflösungen 1440x576_50i und 1920x1080_50i. Allerdings werden offenbar die Fields grundsätzlich vertauscht dargestellt. Das passiert schon z.B. bei normalem xterm-Windows.


    Vieleicht können diejenigen mit pre-AVIVO Hardware das ja mal gegen testen, die bisher kein Glück mit den interlaced modes auf ihren TV-LCD's hatten. Der Patch ersetzt den bisherigen radeon_interlace.patch.

    Gruss durchflieger

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!