i810 + xineliboutput: Nur halbes Bild zu sehen

  • Hi,


    Zitat

    Originally posted by herm
    Das hast Du glaub ich falsch verstanden. DOV0STA ist ein Statusregister, und damit read-only


    verstanden schon aber etwas unguenstig ausgedrueckt:)


    Ist schon klar dass DOV0STA ein Statusregister ist. Ich wollte sagen, dass ich nicht den
    Field-Status meine, der unter anderem in DOV0STA angezeigt wird.


    Inzwischen habe ich aber eh rausgefunden wie ich an den 'richtigen' Field Status komme (siehe Post oben).


    Zitat

    Hier mal die wichtigen Stellen in i810_video.c. Hier wird in der Funktion I810PutImage darauf gewartet, daß der Buffer der gefüllt werden soll nicht mehr angezeigt wird. Hier wird bis jetzt nur Bit 20 von DOV0STA ausgewertet.


    ja richtig, genau in I810DisplayVideo() das von I810PutImage() gerufen wird setzt ja mein obiger proof-of-concept-Patch an:


    Code
    overlay->OV0CMD |= 0x00000020; /* hier aktiviere ich den field mode => even Field */
        OVERLAY_UPDATE(pI810->OverlayPhysical); /* Uebergabe an Hardware */
        while (INREG(DOV0STA) & 0x80000000); /* warten bis die Daten gelesen wurden */
        overlay->OV0CMD |= 0x02; /* aktivieren des odd Field */
        OVERLAY_UPDATE(pI810->OverlayPhysical); /* Uebergabe an Hardware */


    das ist natuerlich nur ein simpler Test, da der Busy-Wait mindestens in einen ioctl() umgesetzt werden muss. Aber so bekommst du bereits even + odd Fields auf den Schirm. Das klappt sogar mit meiner PIII 733Mhz- Testkiste ohne Ruckeln. Es fehlt in diesem simplen Test aber noch die Synchronisation mit dem aktuellen CRT-Field.


    Am besten erfolgt der Field-Switch aus dem DRM-Interrupt heraus. Dann muss sich der Xserver gar nicht mehr damit aufhalten.


    Zitat

    Ich habe das Datasheet vom i830. War im Netz nur indirekt zu finden. Soll ichs zumailen (2Mb)?


    WOW!. Aber immer gerne! Vielen Dank schon mal.


    Zitat

    Der i830 ist ähnlich zum i810, ist aber um einige Features erweitert worden. Er hat glaub ich mehrere Overlaybereiche und kann Textured Video. Das macht das ganze aber noch deutlich unübersichtlicher. Wir sollten zuerst den i810 zum Laufen bringen :)


    ja klar. Aber sicherheitshalber hab' ich schon mal eine S100 bestellt. Fuer den Fall, dass wir mit dem i810 zu schnell fertig werden:)


    Zitat

    Ich habe übrigens zum Testen eine Scovery XS (i815), Compaq Deskpro EN (i815) ein No-Name i810-Board und eine S100 (i830). Wär schon Klasse wenn man damit eine 100%-Scart-Ausgabe hinkriegen würde.


    Ich hab' einen NEC Powermate - Intel PIII 733 MHz mit i810 und bald eine S100 zum Test.


    Zitat

    Zu welcher Debian gehört der Xserver-i810 Version 2.3.2? Ich habe Sid drauf mit Version 1.7.2.


    ich hab Debian 5.0 (lenny) und das zeigt:

    Code
    ii  xserver-xorg-video-intel            2:2.3.2-2+lenny2                    X.Org X server -- Intel i8xx, i9xx display driver


    kann auch sein, dass ich das mal mit

    Code
    apt-get -t unstable source xserver-xorg-video-intel


    geholt habe. Die neu kompilierten Binaries kopiere ich sowieso immer an den Packages vorbei:)


    Zitat

    Wie funktioniert das Ganze mit Interrupt? Der XServer merkt sich den zu kopierenden Speicherbereich, zieht einen Interrupt auf, der im DRM einläuft und dort wird dann der Buffer geflippt? Hört sich nach Arbeit an.


    ich habe bereits einen 50Hz VSYNC Interrupt fuer den i810 implementiert. Siehe neuesten Patch von heute: vga-sync-fields-0.0.8.tgz. Irgendwas wurde wohl auch im 'i810_dma.c' schon vorbereitet, siehe Funktion i810_ov0_flip().


    - sparkie

  • Zitat

    Originally posted by herm
    Ich habe das Datasheet vom i830. War im Netz nur indirekt zu finden. Soll ichs zumailen (2Mb)?


    insbesondere nachdem ich jetzt auch 2x S100 auf CF-Card+VGA-Anschluss umgebaut habe, interessieren mich die Datenblaetter um so mehr.


    Koenntest du mir bitte eines zumailen?


    - sparkie

  • Hallo,


    nachdem mein alter VDR den Geist aufgegeben hat musste ich mir nue HW suchen... nach längerer Suche war ich zuversichtlich, dass ein Board mit Intel-Grafik (G45) über den VGA->Scart Adapter auch ein Bild auf den Fernseher zaubern sollte...


    Am Wochenende hab' ich dann das Adapterkabel zusammengebastelt und ausprobiert (mit etwas gutem zureden und Patchen der diversen Min-Clocks im Treiber). Bild ist im Prinzip (für Ausgabe auf den TV) wunderbar, aber leider ist der Desktop doppelt so hoch wie mein Fernseher. Anders herum, ich seh' nur die Hälfte inder Vertikalen. In der Horizontalen scheints OK zu sein.


    Nach etwas Jugend forscht im Treiber bin ich fast der Meinung, dass prinzipielle Interlaced-Unterstützung nur für den i810, aber nicht für >=i830 implementiert ist (zumindest erstmal in Bezug auf einstellen der diversen Register, etc.). Für I810 wird da zumindest irgendein Interlace-Control Register gesetzt, für >=i830 aber nix. Nach dem Register-Datenblatt von der Intel-Seite für den i965 sollten da in dem PIPE?CONFIG Register drei Bits für Interlaced gesetzt werden und wohl auch irgendein vertiakles-Shift Register beteiligt sein. Da ist aber im ganzen Code nix davon zu finden (ich habe 2.4.2 verwendet).


    Nachdem die S100 ja auch den i830 verwendet und ihr da schon am basteln seid, gibt's da irgendwas neues? Ähnliche Probleme?



    Danke steginger

  • Zitat

    Originally posted by steginger
    Nachdem die S100 ja auch den i830 verwendet und ihr da schon am basteln seid, gibt's da irgendwas neues? Ähnliche Probleme?


    ja - es gibt hier genau diese Probleme:)


    720x576@50i habe ich auf i830M noch nicht am laufen. Siehe auch dieser Post.


    auf der xorg ML gibt es einen Patch fuer i915:


    http://www.spinics.net/lists/xorg/msg27373.html


    der laesst sich aber nicht ganz auf den i830M uebertragen.


    Suche am besten mal nach dem Namen 'Krzysztof Halasa' in der xorg ML. Er hat sich schon ziemlich ausgiebig mit VGA2SCART auf Intel beschaeftigt. Hat dort auch ein paar NDA Infos bekommen:


    http://www.spinics.net/lists/xorg/msg28027.html


    Ich habe leider noch nicht Zeit gehabt mir das alles im Hinblick auf i830M anzuschauen. Vielleicht hilft's

  • Hi,


    hab den Patch aus der ML kurz vor deinem Post (trotzdem Danke) doch noch gefunden, nachdem ich schon Stunden gesucht habe...


    Ergebnis:
    Hab' jetzt einen vollständigen X-Desktop in interlaced auf dem TV... :)


    Erste Tests mit mplayer und einem DVB-T Stick bringen erstmal super Qualität bei stehenden Bildern. Bei bewegten ist es etwas anders... manchmal gut, manchmal ruckelig ohne Ende. Wenns ruckelt schauts mir nach meinen DV-Video-Erfahrungen nach falscher Field-Order aus. Hin- und wieder sieht man auch Tearing.
    => Die Beobachtungen kommen mir aus den früheren Posts bekannt vor, muss mich mal auf die Suche machen und nochmal lesen...



    steginger

  • Zitat

    Originally posted by stegingerErgebnis:
    Hab' jetzt einen vollständigen X-Desktop in interlaced auf dem TV... :)


    ist ja interessant!


    mit welcher Graka jetzt eigentlich? Mit welchen Patches? Welche Basis (Xserver etc.)?

  • Das ganze ist ein Gigabyte GA-EG45M-DS2H Board. Ist mit Intel G45 Chipsatz und die OnBoard Grafik schimpft sich x4500HD.


    Das ganze läuft aktuell auf einem Gentoo mit
    - Kernel 2.6.26-gentoo
    - Xorg 7.4
    - Xorg-server 1.5.0
    - xf86-video-intel 2.4.2 (mit einem flicker-patch der bei Gentoo mitkommt)
    - libdrm 2.3.1
    - mesa 7.2
    - den üblichen Modelines (noch verbesserungswürdig)


    Als Patches hab' ich aktuell nur den xf86-video-intel gepatcht mit
    - dem 720x576i Patch zum runtersetzen der diversen Clocks (hier vom Board)
    - dem Interlaced-Patch von Krzysztof (von der Xorg ML)

  • Zitat

    Originally posted by steginger
    Das ganze ist ein Gigabyte GA-EG45M-DS2H Board. Ist mit Intel G45 Chipsatz und die OnBoard Grafik schimpft sich x4500HD.


    klasse! Vielen Dank fuer die Zusammenstellung.


    Gut zu wissen, dann bringt der Patch offenbar ab i915 schon etwas. Und die Suche nach dem 720x576@50i Setup fuer den i830M geht weiter :weinen

  • Zitat

    Originally posted by steginger


    Erste Tests mit mplayer und einem DVB-T Stick bringen erstmal super Qualität bei stehenden Bildern. Bei bewegten ist es etwas anders... manchmal gut, manchmal ruckelig ohne Ende. Wenns ruckelt schauts mir nach meinen DV-Video-Erfahrungen nach falscher Field-Order aus. Hin- und wieder sieht man auch Tearing.


    achso, fast haette ich's vergessen. Den Deinterlacer hast du schon aktiviert?

  • Erst ohne Deinterlacer. Mit ist es eigentlich ganz OK (kein Ruckeln), aber bei Kameraschwenks doch immer noch Tearing zu sehen. Jetzt wo es zumindest mal ansatzweise geht muss ich mal nochmal ein wenig spielen (evtl. auch noch mit den Modelines).


    Das non-plus-ultra wäre wohl jetzt dein frc patch... schaut aber erstmal relativ kompliziert aus.

  • Hatte ich noch nicht gesehen, danke.


    Aber: laut Treiber können die G4* kein Overlay, nur der textured xv Adapter wird angelegt. Und Google bringt erstmal auch nichts, was das Gegenteil für den G45 beweisen würde.


    Schade drum... :(

  • Zitat

    Originally posted by steginger
    Hatte ich noch nicht gesehen, danke.


    Aber: laut Treiber können die G4* kein Overlay, nur der textured xv Adapter wird angelegt. Und Google bringt erstmal auch nichts, was das Gegenteil für den G45 beweisen würde.


    Schade drum... :(


    naja beim 965 hat man anfangs auch geglaubt, der koenne kein Overlay:)


    > Yeah, well, we had a mis-communication with the hardware group which led
    > us to believe that the 965 and G35 didn't have an overlay, but it
    > actually does.
    http://lists.freedesktop.org/a…fx/2008-April/000058.html

Jetzt mitmachen!

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