[solved] graphTFT via TFT + xine-/liboutput via LCD --> 2 Monitore unterschiedlich ansteuern (?)

  • hallo,


    nach nun schon längerem hin und her bin ich mir nicht mehr ganz sicher, ob folgende anforderung überhaupt mittels xorg.conf und einer grafikkarte zu bewerkstelligen ist :sure


    Folgendes Szenario:


    Ich würde gerne über VGA den graphTFT output auf ein kleines TFT übertragen (funktioniert bereits via FB - "fbdev" in der xorg.conf, obwohl das wenig sinn macht, oder) UND über DVI (bzw. HDMI zu DVI) den TV-output mittels xine/xine-plug auf den fernseher übertragen. Separat funktioniert das schon - zumindest GraphTFT aufs TFT und auch X via fglrx-treiber auf den fernseher (ebenfalls TFT).


    Hardware GPU: ist ein ATI x1250 onboard mit VGA, DVI, HDMI, TV-out (ich weiß, die ATI-linux treiber hinken nach).


    ich frage mich, ob entgegen einer Dualscreen-Config die beiden Monitore einzeln für sich mit veschiedenen inhalten arbeiten können - so quasi:




    irgendwie kommt mir vor, daß ich hier etwas durcheinander bringe (sei's der fbdev treiber in der xorg.conf, den ich eventuell gar nicht brauche ? - oder daß ich dafür überhaupt 2 separate GPUs benötige).
    wenn mir jemand, der sich mit der themaitk "X, xorg.conf, .." etwas besser auskennt, einen hinweis geben kann (vielleicht auch, damit ich's gleich wieder aufgebe ?( ). oder könnte so eine konstellation funktionieren, aber wie wäre super!


    sorry für die doch vermutlich etwas "dumme" frage! :schiel


    danke & gruß, ciax

    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

    7 Mal editiert, zuletzt von ciax ()

  • Bei mir sieht das so aus (auch Desktop am tv und kleines tft im vdr)


    ist halt für nvidia, sollte aber bei dir auch in diese Richtung gehen


    cu peje

  • hallo peje! danke für dein beispiel! hab mich in etwa daran gehalten und hab nun auch am kleinen TFT (640x480) sowie am TV (1280x768 ) eine ausgabe - leider halt mit:


    Code
    Section "ServerLayout"
    ...
    Screen 0 "Screen0"
    Screen 1 "Screen1" RightOf "Screen0"
    ...
    EndSection


    der ATI treiber nimmt die optionen "UseDisplayDevice" "CRT", "DFP", .. nicht an, was aber nicht so schlimm sein sollte. es wird ausschließlich in den "devices" sections der ATI-treiber "fglrx" genutzt. leider blendet sich graphTFT via framebuffer über die X-ausgabe ein.


    irgendwie bringe ich es nicht auf die reihe, ans kleine display nur die graphTFT ausgabe via framebuffer zu leiten und am TV den Desktop (bzw. die xine/xine-plug ausgabe) zu haben. :§$%


    hab auch probiert via xorg.conf ausschließlich den TV-TFT anzusprechen. dann bleibt das kleine TFT im vdr "milchig/grau-schwarz" und am TV blendet sich wieder graphTFT (entsprechend der höheren x-resolution "verzerrt" und doppelt) über framebuffer ein. ohne X ist graphTFT auf beiden schirmen sauber sichtbar :(


    hat wirklich niemand eine derartige "konfiguration" am laufen? gibt's doch nicht, daß die 2 TFTs nicht halbwegs unabhängig voneinander (über die onboard GPU mit "hunderten schnittstellen/ausgängen") zum laufen zu bringen sind?? :schiel


    gruß, ciax

    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

    Einmal editiert, zuletzt von ciax ()

  • hallo,


    nur mal so ein gedanke am rande - so etwas gibt's doch? ein bildschirm mit X und ein kleinerer mit einer textconsole. an einem pc. man müßte dann nur den framebuffer auf eine bestimmte konsole binden (zB. da wo die textconsole ist) ... naja, ich steh jetzt mal an :tdw

  • also ich hab das graphtft mittels graphtft-fe über X am laufen (mit DISPLAY=0:1), und am tv dann den anderen screen. Mit framebuffer gings bei mir nicht. Musst halt vielleicht das graphtft mit der Option device=none starten.
    cu peje

  • hi,


    denke, daß du mich auf genau die richtige spur geführt hast. das mit FB sollte ich aufgeben und die ganze sache lokal via X und dem graphtft-fe probieren - wollte früher einmal nicht qt/gtk-libs mischen - auf eine von beiden basiert das graphtft-fe/nur mit einer von beiden übersetzt's, glaub ich ...


    hattest einmal fast das gleiche problem, wie ich etz: link


    danke vorab! :] - ciax


    ps: .. automatisiert läuft das auch im vollbild unter X auf den displays? (nach reboot) ?


    pps: .. sollte das thema ändern :)

    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 ()

  • Hallo,


    ich weiss nicht so recht, ob ich hier bei dem Thema richtig bin. Ich bekomme auf mein Display kein Bild via GraphTFT.


    Bei mir läuft als Ausgabegerät allerdings eine FF-Karte. Dazu habe ich jetzt noch eine Nvidia 5200FX verbaut und möchte vom dortigen Composite-Ausgang (gelbe Cinch/RCA-Buchse) das OSD-Menü auf das Display bringen.


    Nvidia-Framebuffer ist im Kernel aktiviert und wird beim Booten mitgegeben. Beim Plugin habe ich in der Konfiguration das passende Device mit -d /dev/fb0 angegeben.


    Muss ich da sonst noch etwas machen? Geht das überhaupt ohne installierten xserver (weil Ihr ja hier Eure xorg.conf gepostet hattet, die bei mir ja nicht existiert, da ich den xserver nicht installiert habe)? Nur wie gebe ich dem Plugin dann die korrekte Auflösung des Displays mit. Ist zusätzlich zum Framebuffer auch noch der Nvidia-Treiber erforderlich (muss es dann der proprietäre sein)?


    Danke schonmal, denn das Thema verkommt bei mir langsam zur Dauerbaustelle.

  • zum fb kann ich leider nix sagen, hab das graphtft mit X am laufen.
    Ja es läuft automatisiert, ich lass nach vdr kde starten und im Autostart ist dann ein script welches graphtft-fe startet....
    cu peje

  • hallo!


    ich grabe diesen thread wieder aus der versenkung. erst mal danke an "peje" für die anregung, graphtft via X laufen zu lassen! das thema hab ich entsprechend angepasst, da sich nun die sachlage etwas verändert hat.


    status:


    ** umstieg auf nvidia (solange bis ATI vernüftige treiber bereit stellt)
    ** via xorg/xorg.conf werden zwei displays (graphTFT/graphtft-fe --> TFT DISPLAY=:0.1 bzw. xineliboutput/vdr-sxfe --> LCD DISPLAY=:0.0) angesteuert.
    ** Framebuffer wird nicht mehr genutzt


    das ganze läuft auch sauber durch manuelles starten der entsprechenden komponenten, nur tue ich mir leider extrem hart, die sache zu automatisieren (nach reboot). :wow


    derzeit wird X via xinit von der konsole gestartet, dann graphtft-fe auf :0.1 geschickt und vdr-sxfe auf :0.0 gestartet.


    wünschen würde ich mir, daß ein rudimentärer X-server (xinit) automatisch inklusive der oben dargestellten konstellation gestartet wird. das ist hier einfacher gesagt als getan.


    folgende versuche wurden unternommen:


    Code
    xinit -e /path/to/vdr-sxfe --display=:0.0 .. + entsprechende vdr-sxfe spezifische parameter


    --> bild läuft auf display :0.0 ("--display=:0.0" könnte man sich sparen)


    Code
    xinit -e /path/to/graphtft-fe .. + entsprechende parameter


    --> graphTFT output wird auf display :0.0 angezeigt.


    soweit so gut - wie bekomme ich nun graphTFT-fe auf das zweite display (DISPLAY=:0.1)? wie kann man xinit vorab mitteilen, daß graphtft-fe am 2. display laufen sollte? (angaben wie "export DISPLAY=:0.1" bzw -- lt. xinit manual -- "-display :0.1" greifen nicht ... "-display :0.1" gilt nur für das xterm).


    es wurde auch probiert, graphtft-fe über "Frank Jung's" script (in dem $DISPLAY entsprechend gesetzt werden kann --> link/posting wbreu bzw. duc: klick1 & klick2 ) aufzurufen. leider passiert da gar nichts. nur direkt aus einem xterm läuft es sauber am 2. display.


    auch über die config-datei "xinitrc" können die beiden programme (sxfe/graphtft-fe) nicht an den entsprechenden schirmen ausgegeben werden - weder über erwähntes script noch direkt über die binarys :(


    jetzt stellt sich mir die frage, ob es zwingend notwendig ist, die sache über gnome bzw. kde und "autostart" laufen zu lassen, oder ob's doch mit der abgespeckten version mittels "xinit" möglich ist?? :schiel


    eventuell kann man ja "xinit -e" zwei programme mitgeben und doch irgendwie die variable DISPLAY für's graphtft-fe mitgeben. warum wird "Frank Jung's" script nicht bei übergabe mittels "xinit -e" ausgeführt (braucht dies eventuell ein xterm, in dem es ausgeführt werden kann)? wie funktioniert sowas? welche einstellungen wären in "xinitrc" (ich verwende hier die globale unter /etc/X11/xinit/ ) notwendig?


    durchforstet habe ich schon das ganze forum und bin unter anderem auf folgende links gestoßen - allerdings hilft mir dabei keiner mit dem problem "graphtft-fe" am 2. bildschirm weiter - für vdr-sxfe würd's ja passen.


    VDR mit DVI/VGA
    Howto: Automatisches xinit vdr-sxfe
    Start X-Server mit vdr-xineliboutput?


    für anregungen wär' ich echt dankbar!! :tup - vielleicht findet sich ja ein X-spezialist hier im forum :monster2 , der mir diesbzgl. ein wenig unter die arme greifen kann --> :streichel


    danke & gruß,
    ciax

  • Hallo ciax,


    les dir mal bitte den Thread durch:


    graphtft


    da gibts ein kleines Skript, das das graphtft-fe automatisch auf den zweiten Schirm legt.


    Wie sieht deine xorg.conf aus, hast du zwei Screens?




    Gruß
    Wolfgang

  • hi wolfgang,


    du bist wirklich immer sehr schnell beim reagieren :) -- mit dem script habe ich es schon probiert (hab ich im posting auch erwähnt - ich weiß, es ist etwas lang zum durchlesen).


    manuell funktionert auch alles perfekt: 1) xinit - 2) DISPLAY=:0.1 graphtft-fe bzw. "graphtft_start.sh" - 3) vdr-sxfe


    über xorg (xorg.conf) werden die beiden displays sauber angesteuert ...


    mein problem ist, daß ich nicht weiß und bis jetzt nicht ermitteln konnte, wie ich mittels xinit (also nur dem unverschnörkelten X) die beiden programme wie gewünscht auf die beiden screens ausgeben kann. keine ahnung wie mit "xinit -e program" zwei programme mitegeben werden können bzw. dabei für's graphtft $DISPLAY gesetzt wird. auch mittels "xinitrc" war ich bis jetzt erfolglos :tdw


    schönen gruß,
    ciax

  • hi nochmal,


    was mir gerade eingefallen ist, wäre ein kleiner umweg. das problem besteht bzgl. graphtft-fe und $DISPLAY. aus einem xterm heraus kann man einfach durch vorangestelltes "DISPLAY=:x.y graphtft-fe" den output auf sein gewünschtes display umleiten. der aufruf sollte bei "automatisierung" auch so geschehen - das stellt sich in meinem fall nicht so einfach dar. bei vdr-sxfe gibt es dazu einen eigenen parameter (--display=:x.y), der den output umleitet (dieser parameter greift also immer).


    nichts hindert mich doch daran, daß ich mittels umstellen der xorg.conf die beiden screens (TFT und LCD) vertausche - sprich: TFT ist via DISPLAY 0.0 erreichbar und LCD via DISPLAY 0.1. somit könnte graphtft auf dem default-screen gestartet werden und vdr-sxfe schmeiße ich auf DISPLAY 0.1


    ist also ein versuch wert, denke ich :]


    was hier noch nicht läuft, ist der aufruf via xinit und dazu passender xinitrc, aus der die beiden programme zum start bereit gestellt werden. eventuell sieht hier noch jemand einen fehler verpackt? :schiel




    xinitrc sample file aus der man-page:


    xinitrc für start von vdr-sxfe sowie graphtft-fe

    Code
    #!/usr/bin/env bash
    /path/to/graphtft-fe -h localhost -e 2 -n -W 640 -H 480 -f -r &
    /path/to/vdr-sxfe --display=:0.1 --reconnect xvdr+tcp://localhost


    hinter dem letzte programm sollte kein "&" stehen, da sich ansonsten X wieder verabschiedet ... (lt. man)


    so sollte es doch greifen (tut's aber bis jetzt nicht) :(


    hier wäre ein (relativ) guter link/howto zu X/xinitrc und co: --> klick



    gruß, ciax

  • Zitat

    Originally posted by ciax
    nichts hindert mich doch daran, daß ich mittels umstellen der xorg.conf die beiden screens (TFT und LCD) vertausche - sprich: TFT ist via DISPLAY 0.0 erreichbar und LCD via DISPLAY 0.1. somit könnte graphtft auf dem default-screen gestartet werden und vdr-sxfe schmeiße ich auf DISPLAY 0.1


    das und ...


    Zitat

    Originally posted by ciax
    eventuell kann man ja "xinit -e" zwei programme mitgeben


    Code
    xinit -e /path/to/graphtft-fe -h localhost -e 2 -n -W 640 -H 480 -f -r & /path/to/vdr-sxfe --display=:0.1 --reconnect xvdr+tcp://localhost


    führen zum gewünschten ergebnis (ganz easy eigentlich ?( -- mit der globalen xinitrc lief's hier nicht)


    nun das noch in die /etc/inittab oder per runlevel irgendwie und gut ist's (hoffentlich) :]


    ciao, ciax

    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

    Einmal editiert, zuletzt von ciax ()

  • hallo!


    ich führe mal meinen (zum schluß) monolog fort -- habe mich etwas zu früh gefreut. beim automatisierten start von graphtft-fe sowie vdr-sxfe schmiert mir leider vdr-sxfe mit einem segfault ab.


    das eigenartige an der sache ist, daß - wie im oberen posting beschrieben - vdr-sxfe + graphtft-fe beim aufruf via "xinit -e ... " aus einer konsole beide sauber starten und stabil laufen. über einen aufruf mittels "runlevel-script" gibt's einen segfault :(


    graphtft-fe + vdr-sxfe werden über folgendes "mini-script" im runlevel 2 gestartet:



    das script liegt unter "/etc/init.d/vdr_xinit". verlinkt ist es unter /etc/rc2.d/S99vdr_xinit -> ../init.d/vdr_xinit.


    bei eine switch von runlevel 3 auf 2 (einfacher zum testen ohne den rechner neu zu starten) bzw. auch direkt nach einem boot schmiert vdr-sxfe mit dem segfault ab, graphtft-fe läuft klaglos weiter.


    Code
    Jul 21 08:39:20 localhost kernel: [  447.105564] vdr-sxfe[6041]: segfault at 0 ip 7f5e5e518277 sp 7fff676a5e50 error 4 in libxine.so.2.0.0[7f5e5e4da000+53000]



    probiert wurde das ganze mit xinelibaoutput aus dem cvs von gestern (aber auch mit früheren versionen - ab 02.07.2008 ) sowie xine-lib aus dem HG von gestern (auch hier mit früheren versionen ab 17.06.2008 ).


    irgendwie ist da noch der hund drinnen. warum funktioniert's manuell aus der konsole heraus, via runlevel aber nicht? :schiel


    grüße, ciax

  • hallo,


    nun noch ein letztes statement hier in diesem thread: die thematik die 2 displays via graphtft-fe und xineliboutput anzusteuern, ist an und für sich gelöst. probleme gibt es dummerweise immer noch beim automatisierten start über init/runlevel (sowohl via remote-fe vdr-sxfe als eigener prozess als auch mit "local=sxfe" als thread). ich starte dazu einen neuen forum-thread - mal sehen, ob jemand einen hint bzw. workaround dazu hat ... :monster2


    danke, ciax

  • Hallo ciax,


    ich krame das Thema noch mal hervor, da ich scheinbar genau das
    gleiche Problem hab.
    graphTFT an VGA und TV über DVI


    Wie ist denn bei dir der letzte Stand? Könntest du mal deine
    xorg.conf posten um vergleichen zu können?


    Wie hast du den xserver konfiguriert?
    Twinview oder separat-XScreen?


    Danke und Gruss
    Mike

    Server:,Abit KV7,AthlonXP 2,4Ghz, 512Mb, easyvdr 0.6.2,Hauppage WinTV NovaT,2xAvermedia 771, S2300 (fuer im Keller gucken) 1x80Gb für System,2xSamsung Spinpoint F1 1TB SATA,
    Client: Asus M2N-PV, easyvdr 0.6.02, Athlon 4850e, 1Gb, Beamer an DVI, 250Gb Samsung Spinpoint, BeQuiet 350Watt,

  • hi optimist,


    habe genau die gleiche konstellation (graphTFT via VGA und TV via DVI) im einsatz. graphTFT läuft über das X-frontend "graphtft-fe". ich nutze nicht twinview, sondern separate X-screens - sprich dispay :0.0 (graphtft) und display :0.1 (xineliboutput/vdr-sxfe). der xserver wird hier minimalst betrieben - ich starte einfach ein xinit -e graphtft & vdr-sxfe aus einem miniscript im runlevel 2 heraus:



    meine xorg.conf habe ich jetzt leider nicht zur hand (könnte sie bei bedarf eventuell abends posten). wichtig war bei mir, die xorg.conf so anzupassen, daß graphtft-fe unbedingt den screen :0.0 erwischt, da dieses keine switches kennt, um ihm ein separates display anzugeben. mit vdr-sxfe gibt's die option --display=:0.1. weiters war wichtig, um vdr-sxfe beim boot im runlevel 2 zu starten, dass es über einen separaten user aufgerufen wird (in meinem fall "ciax" - siehe 'script'). die xorg.conf selbst ist nichts besonderes und man findet hier im forum auch examples - wenn ich's nicht vergesse, reiche ich sie dir nach ... hier ist nun eine NVidia im einsatz (mit ATI auf meinem 'on'board/x1250 ist noch nichts anzufangen mit 2 screens). :schiel


    hoffe das hilft ein wenig weiter! ;)


    gruß, ciax

    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 ()

  • hi,


    anbei noch 2 xorg.conf's zur auswahl - die grundsätzliche funktion (dualscreen) sollte passen (display :0.0 bzw. 0.1 passen bzgl. graphtft-fe und vdr-sxfe).


    viel spaß,
    ciax

  • Vielen Dank fuer die xorg-Vorlage, ich habs heute Nacht mal versucht
    diese Vorlage und meine vorhandene xorg.conf zu mergen ging aber
    ad hoc erstmal schief, ist mit "xyz..runlevel 2 ..." stehengeblieben. Jetzt
    muss ich erstmal x11-log suchen und nachsehen wo es hängt. Im
    normalen syslog stand auch was von "can't connect to x-server", dazu
    gibts aber schon diverse Infos, muss ich noch mal suchen.


    Vielen dank
    Mike

    Server:,Abit KV7,AthlonXP 2,4Ghz, 512Mb, easyvdr 0.6.2,Hauppage WinTV NovaT,2xAvermedia 771, S2300 (fuer im Keller gucken) 1x80Gb für System,2xSamsung Spinpoint F1 1TB SATA,
    Client: Asus M2N-PV, easyvdr 0.6.02, Athlon 4850e, 1Gb, Beamer an DVI, 250Gb Samsung Spinpoint, BeQuiet 350Watt,

Jetzt mitmachen!

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