CPU-Last des X-Servers bei vdpau

  • Hi,


    ich verwende für meinen Vdr xineliboutput und vdpau für die Ausgabe. Da der Vdr nur für TV verwendet wird, habe ich mir eine vollständige X-Server-Installation (Desktop, Fenster-Manager, ..) gespart. Ich verwende eine Text-Mode-Suse-Installation und starte den nackten X-Server einfach aus der runvdr heraus. Das funktioniert auch problemlos. Nur konsumiert der X-Server dann die komplette CPU-Leistung. Starte ich den Vdr inklusive X-Server neu, benötigt der X-Server nur noch ca. 5% der CPU-Leistung. Ein einfaches Starten-Anhalten-Neustarten des X-Servers vor dem Starten des Vdr hilft nicht.


    Was kann ich tun, damit der X-Server beim ersten Start sofort genügsam ist?


    Gruß
    e9hack

  • Hallo, ich habe hier mit xinit /usr/local/bin/xine -A alsa -V vdpau -f -g --no-splash --post vdr_video --post vdr_audio --post vdr vdr://tmp/vdr-xine/stream#demux:mpeg_pes keine Probleme.

  • Zitat

    Original von e9hack
    Was kann ich tun, damit der X-Server beim ersten Start sofort genügsam ist?


    Wenn man beim Starten vom X-Server Display und Terminal mit angibt, startet der Server gleich ohne großen Load.


    Gruß
    e9hack

  • Zitat

    Originally posted by e9hack
    Wenn man beim Starten vom X-Server Display und Terminal mit angibt, startet der Server gleich ohne großen Load.


    was bedeutet das genau: 'beim Starten vom X-Server Display und Terminal mit angibt'?


    diese Angaben sind normalerweise doch nur fuer X-Clients erforderlich. Da muss ein anderer Nebeneffekt im Spiel sein.


    Oder hat suse wieder mal eine Sonderlocke gestrickt:)


    - sparkie

  • Zitat

    Original von sparkie
    was bedeutet das genau: 'beim Starten vom X-Server Display und Terminal mit angibt'?


    Bisher habe ich den X-Server so gestartet:


    exec /usr/bin/X &>/dev/NULL &


    Jetzt so:


    exec /usr/bin/X :0 vt7 &>/dev/NULL &


    Warum der ohne Display und Terminal mehr oder weniger die verfügbare CPU Leistung auffrißt, ist mir unklar.


    Zitat

    Oder hat suse wieder mal eine Sonderlocke gestrickt:)


    Ich verwende das Suse-X-Server-Zeug nicht. Da wird soviel gestartet, daß es 1min länger dauert, bis ich ein Bild habe.


    Gruß
    e9hack

  • Zitat

    Originally posted by e9hack
    exec /usr/bin/X &>/dev/NULL &


    Jetzt so:


    exec /usr/bin/X :0 vt7 &>/dev/NULL &


    sehr merkwuerdig. Das macht bei mir auf debian squeeze keinen Unterschied. Vielleicht gibt ein 'strace' einen Hinweis, warum er im Fehlerfall so busy ist?


    - sparkie

  • Zitat

    Original von sparkie
    sehr merkwuerdig. Das macht bei mir auf debian squeeze keinen Unterschied. Vielleicht gibt ein 'strace' einen Hinweis, warum er im Fehlerfall so busy ist?


    Wenn der X-Server busy ist, liefert strace sowas:


    Das wiederholt sich permanent. Innerhalb von 30sec ist das Log ca. 5MByte groß geworden.


    Wenn alles OK ist gibts nur wenige Zeilen:


    Das kam innerhalb von einer Minute.


    Ich kann aber damit nichts anfangen.


    Gruß
    e9hack

  • Zitat

    Originally posted by e9hack
    Das wiederholt sich permanent. Innerhalb von 30sec ist das Log ca. 5MByte groß geworden.


    ok, man sieht aus dem gekuerzten Log leider nicht, was hinter fd 6 fuer ein Device steckt.


    Dieser file descriptor fuehrt dazu, dass der select() sofort wieder zurueckkommt. Wenn du nach dem letzten open() im trace suchst, der den descriptor 6 liefert haettest du vermutlich den Boesewicht.


    - sparkie

  • Zitat

    Original von sparkie
    ok, man sieht aus dem gekuerzten Log leider nicht, was hinter fd 6 fuer ein Device steckt.


    fd 6 bzw. jetzt 8 ist /dev/tty2.


    In Xorg.0.log stand 'using VT number 2' wenn der X-Server busy war und 'using VT number 7', wenn man ihn gekillt und neu gestartet hat. Darüber bin ich auf die Parameter gekommen. Nur irgendwie hat '/usr/bin/X vt7' alleine nicht ausgereicht. Mit /usr/bin/X :0 vt7' war dann Ruhe.


    Bei Suse sind auf VT1 bis 6 normale Login's. Vermutlich ist beim frühen starten von X nur VT1 aktiv. VT2 bis 6 werden erst später aktiviert. X kommt dann mit VT2 in Konflikt. Wenn man den X-Server abschießt und neu startet, sucht der sich vermutlich das nächste freie virtuele Terminal, was dann 7 ist.


    Gruß
    e9hack

Jetzt mitmachen!

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