Das Exit-Problem von XBMC scheint was mit der OpenGL-Beschleunigung zu tun zu haben. Nehme ich den VDR-User aus der Gruppe "video" aus, dann ist XBMC zwar unbenutzbar langsam, aber beendet sich zumindest. Btw, ich verwendet YaVDR mit ner Intel-Grafikkarte, das könnte der Grund sein, warum offenbar nur wenige das Problem nachvollziehen können.
Neues XBMC für yaVDR 0.4 in testing
-
-
Folgender Workaround beendet XBMC bei mir zuverlässig, wenn auch mit einer kleinen Einschränkung:
1. Die Datei /usr/local/bin/kill-xbmc.sh mit folgendem Inhalt anlegen:
Bash#!/bin/sh (sleep 5 && ( sed -i -s 's~<screenmode>WINDOW</screenmode>~<screenmode>DESKTOP</screenmode>~' ~/.xbmc/userdata/guisettings.xml kill -9 $PPID )) &
2. Die Datei ausführbar machen:
3. Das Confluence-Theme modifizieren, damit dieses Script beim Beenden aufgerufen wird. Dazu die Datei /usr/share/xbmc/addons/skin.confluence/720p/DialogButtonMenu.xml als root bzw. mit sudo in einem Editor öffnen und die folgende Stelle suchen:
Code
Alles anzeigen<control type="button" id="2"> <description>Exit button</description> <width>340</width> <height>40</height> <textcolor>grey2</textcolor> <focusedcolor>white</focusedcolor> <align>center</align> <textwidth>290</textwidth> <texturefocus border="25,5,25,5">ShutdownButtonFocus.png</texturefocus> <texturenofocus border="25,5,25,5">ShutdownButtonNoFocus.png</texturenofocus> <onclick>XBMC.Quit()</onclick> <pulseonselect>no</pulseonselect> <font>font13</font> <label>13012</label> <visible>System.ShowExitButton</visible> </control>
Vor der Zeile "<onclick>XBMC.Quit()</onclick>" wird nun die neue Zeile "<onclick>System.Exec("/usr/local/bin/kill-xbmc.sh")</onclick>" eingefügt, so dass der entsprechende Abschnitt nun so aussieht:
Code
Alles anzeigen<control type="button" id="2"> <description>Exit button</description> <width>340</width> <height>40</height> <textcolor>grey2</textcolor> <focusedcolor>white</focusedcolor> <align>center</align> <textwidth>290</textwidth> <texturefocus border="25,5,25,5">ShutdownButtonFocus.png</texturefocus> <texturenofocus border="25,5,25,5">ShutdownButtonNoFocus.png</texturenofocus> <onclick>System.Exec("/usr/local/bin/kill-xbmc.sh")</onclick> <onclick>XBMC.Quit()</onclick> <pulseonselect>no</pulseonselect> <font>font13</font> <label>13012</label> <visible>System.ShowExitButton</visible> </control>
Erklärung und Einschränkungen
Das Script legt sich 5 Sekunden lang schlafen. Anschließend sendet es dem Elternprozess (=xbmc.bin) ein kill-Signal.
Bei mir gab es die Nebenwirkung, dass XBMC sich selbst auf den Fenstermodus umgeschaltet hat. Ob das ein Problem in diesem Verfahren ist, oder ob das vielleicht sogar mit dem eigentlichen Absturz zusammenhängt - keine Ahnung. Die "sed"-Anweisung im Script sorgt deshalb dafür, dass der Vollbildmodus wieder in der guisettings.xml eingetragen wird.
Wenn ein XBMC-Update kommt, dann wird die veränderte Datei überschrieben werden. Man muss dann also die neue onclick-Anweisung wieder einfügen. Am schönsten wäre es, ein AddOn zu haben, dass auf das OnQuit-Event horcht und dann das kill einleitet, aber ich habe in der Plugin-Dokumentation keine Erklärung gefunden, wie man sich in das Eventsystem von XBMC einhängen kann.
-
Hi,
vielen Dank.
3. Das Confluence-Theme modifizieren, damit dieses Script beim Beenden aufgerufen wird. Dazu die Datei /usr/share/xbmc/addons/skin.confluence/720p/DialogButtonMenu.xml
Ich habe die Änderung vorgenommen. Leider ohne Erfolg. Wenn ich "Dein" Script auf der Shell dirkt aufrufe (als root) kommt:
Codesed: kann /home/hergorn/.xbmc/userdata/guisettings.xml nicht lesen: Datei oder Verzeichnis nicht gefunden
Danke
Hergorn
-
Ich habe die Änderung vorgenommen. Leider ohne Erfolg. Wenn ich "Dein" Script auf der Shell dirkt aufrufe (als root) kommt:
Das ist klar, XBMC läuft unter yaVDR ja auch unter dem User vdr - wenn deine Umgebungsvariablen nicht passen klappt es nicht.Da unter yaVDR das der einzige User ist, der XBMC nutzt, würde ich den Pfad fest setzen und statt
das nehmen:Außerdem muss man natürlich den entsprechenden Skin nutzen, sonst wird das Skript nicht ausgeführt...
-
Hallo
erstmal ein thanks hier an die Entwickler - tolles System und tolle Leuts Bin noch ziemlich neu in Ubuntu/yaVDR aber es läuft so gut das ich meine 3Rechner komplett auf Linux umgestellt habe.
Vielleicht hab ich hier einen Zufalls - Ansatz zur Lösung des Exit-Problems von XBMC.
Das schlechte - auch bei mir bleibt der Bildschirm schwarz nach verlassen des XBMC!
Das gute - wenn ich das Youtube Plugin Nutze, ein Video damit schaue und dann danach XBMC beende - Dann beendet sich XBMC einwandfrei und der VDR startet bzw TV-Bild is da
zur Info noch, nutze das xbmc ohne vdr Funktion
Gruss Volker -
Ich hatte grade eine Unterhaltung im IRC, es scheint ein Problem des 295er nvidia Treiber zu sein, wenn jemand die Möglichkeit hat das zu testen mit einer älteren nvidia-current Version und das bestätigen könnte, wäre es super. Auf Precise komme ich mit der Version nicht einfach runter
-
Hab noch was gefunden:
Habs mal hier hinzugepackt
.............................................................................
ZitatHallo zusammen,
nachdem ich das bekannte nervige Problem mit dem Start des XBMC hatte, habe ich auf XBMC eden umgestellt.
Also folgendes:
- untie-packages
- apt-get remove xbmc*
- "stable-xbmc" in yavdr.list auskommentiert
- add-apt-repository ppa:alexandr-surkov/xbmc-pvr
- apt-get install yavdr-essential
XBMC startet jetzt auch endlich sauber, aber dafür beendet es sich nicht richtig. Ist ja wohl nur ein halber Fortschritt
Ich
habe gelesen, dass bei anderen Leuten xbmc.bin noch weiterläuft, das
ist bei mir nicht das Problem. Bei mir fehlt "nur" der Start vom
XINE-Frontend.Es liegt wohl eher an den Skripten in /etc/init. Folgendes funktioniert nämlch bei mir:
- XBMC über das Menü verlassen -->schwarzer Bildschirm
- Mit
der Maus auf das Startmenü links (wmdrawer) und dort das immer noch
aktive XBMC Icon anklicken -->jetzt startet das Frontend.
Also habe ich die Skripte xbmc.conf und xbmc-exit.conf im Verdacht.
Ich vermute mal dass der Stop in xbmc.conf funktioniert und in xbmc-exit.conf eben nicht?
xbmc.conf:
Codepost-stop script /bin/rm -f /tmp/.standalone vdr-dbus-send /Remote remote.Enable ||: /sbin/initctl emit --no-wait vdr-frontend-restart end script
xbmc-exit.conf:
Code
Alles anzeigencase $EXIT_STATUS in 64|66) vdr-dbus-send /Remote remote.HitKey string:'Power' || /bin/true ;; *) signal-event reset-display-rate initctl emit vdr-frontend-restart ;; esac
Probeweise habe ich den post-stop-Block aus xbmc.conf in xbmc-exit.conf eingefügt, hat aber leider nichts gebracht
Tja, jetzt bin ich mit meinem Latein am Ende, wer kann mir helfen????
(Der Workaround mit dem wmdrawer Menü ist nämlich mega-unpraktisch weil ich dafür immer die Tastatur/Maus rauskramen muss ...)
Danke im Voraus und Gruss
schrauberBis dann
mb -
Dann muss jedoch auch die Zeile "kill -9 $PPID" durch "killall -9 xbmc.bin" ersetzt werden, da das Script sonst die eigene Loginshell als Elternprozess töten dürfte.
-
Ich hatte grade eine Unterhaltung im IRC, es scheint ein Problem des 295er nvidia Treiber zu sein, wenn jemand die Möglichkeit hat das zu testen mit einer älteren nvidia-current Version und das bestätigen könnte, wäre es super. Auf Precise komme ich mit der Version nicht einfach runter
Hi, ein
gibt mir diese Ausgabe:
Code
Alles anzeigenPackage: nvidia-current Versions: 270.41.06-0ubuntu1 (/var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_natty_restricted_binary-amd64_Packages) (/var/lib/dpkg/status) Description Language: de File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_natty_restricted_i18n_Translation-de MD5: 69c2f05a0969f9e9a522eef985e208f3 Description Language: File: /var/lib/apt/lists/de.archive.ubuntu.com_ubuntu_dists_natty_restricted_binary-amd64_Packages MD5: 69c2f05a0969f9e9a522eef985e208f3 Reverse Depends: nvidia-185-kernel-source,nvidia-current nvidia-glx-185,nvidia-current nvidia-185-libvdpau,nvidia-current kubuntu-full,nvidia-current python-pyopencl,nvidia-current nvidia-glx-185,nvidia-current nvidia-current-dev,nvidia-current 270.41.06 nvidia-185-libvdpau,nvidia-current nvidia-185-kernel-source,nvidia-current kubuntu-full,nvidia-current Dependencies: 270.41.06-0ubuntu1 - x11-common (2 1:7.0.0) make (0 (null)) sed (4 3.0) dkms (0 (null)) linux-libc-dev (0 (null)) libc6-dev (0 (null)) linux-headers-generic (16 (null)) linux-headers (0 (null)) patch (0 (null)) acpid (0 (null)) libc6 (2 2.2.5) libgcc1 (2 1:4.1.1) libx11-6 (0 (null)) libxext6 (0 (null)) libxv1 (0 (null)) libxvmc1 (0 (null)) zlib1g (2 1:1.1.4) xorg-video-abi-10 (0 (null)) xserver-xorg-core (2 2:1.10.0-0ubuntu1~) nvidia-settings (0 (null)) nvidia-180-modaliases (0 (null)) nvidia-185-modaliases (0 (null)) nvidia-current-modaliases (0 (null)) nvidia-180-modaliases (0 (null)) nvidia-185-modaliases (0 (null)) nvidia-current-modaliases (0 (null)) Provides: 270.41.06-0ubuntu1 - xserver-xorg-video-10 xorg-driver-video Reverse Provides:
Das sollte für die meisten user der Standardtreiber nach der installation der version 0.4.0 sein.
Überprüft mit:
gibt Ausgabe:
Der Fehler beim beenden von XBMC (schwarzer Bildschirm mit Mauszeiger) tritt bei mir trotzdem auf. Ein killall xbmc - wie hier schon mehrfach beschrieben - startet die xine Ausgabe des VDR auf dem Bildschirm wieder.
Habe die 3 stable repos (vdr, xbmc, yavdr) plus das testing-xbmc repo, wie im ersten post hier beschrieben, hinzugefügt.
PS: Außer dem Beenden muss ich aber sagen, dass diese XBMC version einfach spitze ist. Kein Absturz, alle plugins, die ich brauche funktionieren, auch die Umschaltung des TVs bei 1080p_24 Wiedergabe usw.
Gruß,
OsZ -
Vielen Dank für das Feedback, ich werde da schauen ob ich heute abend nochmal jemanden erwische.
Nach der Diskussion gestern abend hört sich das eigentlich nach einem Deadlock an -
inwieweit der Treiber da reinspielt oder die Grafikkarte nur die Ressource ist an der er sich aufhängt kann ich nicht beurteilen. Da fehlt mir das abschliessende verständnis in der Systemprogrammierung.Die Aussage war "nvidia broke popen in their latest drivers"
-
Das nvidia-Problem betrifft mich sicher nicht, ich hab ne Intel-Grafikkarte (ich weiß, von yaVDR nicht offiziell supported, aber möglich). Dennoch scheint es mit dem GLX zu tun zu haben, denn wenn ich dem VDR-Benutzer die "video"-Berechtigung wegnehme (und damit die Möglichkeit, per OpenGL darzustellen) beendet sich XBMC normal.
-
Das nvidia-Problem betrifft mich sicher nicht, ich hab ne Intel-Grafikkarte (ich weiß, von yaVDR nicht offiziell supported, aber möglich). Dennoch scheint es mit dem GLX zu tun zu haben, denn wenn ich dem VDR-Benutzer die "video"-Berechtigung wegnehme (und damit die Möglichkeit, per OpenGL darzustellen) beendet sich XBMC normal.
Dann ist es also eher X als Nvidia, vielleicht wieder die xcb? Wie hieß nochmal der LOCK define?Gerald
-
So war der Schluss gestern das es die Darstellung von Video und gleichzeitiges OpenGL mit die Ursache sind - die Schlussfolgerung das nvidia etwas kaputtgemacht hat scheint mir langsam unplausibel, scheint mir eher als wenn XBMC hier etwas nachbessern müsste.
-
hi
jetzt muss ich doch auch mal was dazu schreiben .
Systeme 1x Intel 1x Nvidia
bei beiten beentet sich das xbmc aus den yavdr repositorys nicht sauber .
also habe ich eigene Versuche gestartet (xbmc selbst bauen )
1x opdenkamp-pvr
http://www.bveml.net/de/conten…xvdr-inkl-vdr-1720-ubuntu
das Ergebnis xbmc beendet sich sauber keinen einzigen hänger egal wie man es beendet
2x eden-pvr
das Ergebnis xbmc beendet sich nicht sauber ständig hänger und Mann muss xbmc killen um wider in den vdr zu kommen .also wo wird dann der Fehler liegen am nvidia Treiber glx oder eventuell doch an xbmc ?
ich denke das xbmc da einen hau hat
mfg det -
@all
Auf steffen_b's initiative haben wir den Hinweis auf einen Patch bekommen, der das Problem beheben soll. Wir haben diesen mal in die xbmc Pakete aus "testing-xbmc" eingebaut, morgen früh/vormittag könnte ihr mal testen, der build dauert noch etwas.
Regards
fnu -
Gibts da nicht schon eine xbmc-odk72-Version?
Gruß -
Ich hab den neuen Build heute morgen ausprobiert, bei rund 15 mal starten und beenden von xbmc ist er mir nicht ein einziges mal hängen geblieben.
Ich Teste aber noch weiter bzw. verifiziere noch was..
-
Gibts da nicht schon eine xbmc-odk72-Version?
Mag sein, aber die müßte genauso gepatched werden. Es steht Dir frei entsprechende Pakete zu nutzen oder gar anzubieten, der Stand in "testing-vdr" entspricht XBMC 11.0 final.bei rund 15 mal starten und beenden von xbmc ist er mir nicht ein einziges mal hängen geblieben.
Das hört sich vielversprechend anRegards
fnu -
Das hört sich vielversprechend anRegards
fnuHabe testing-vdr repo als paketquele hinzugefügt und VDR + XBMC upgedated. Danach reboot (da auch gleich ein kernel update von Ubuntu dabei war) und getestet. Gleich die ersten beiden male, die ich XBMC gestartet und beendet habe, der gleiche Fehler, das übliche killall -9 xbmc.bin hilft ins VDR xine frontend zurück zu kommen. habs auch in XBMC->Systeminfo gecheckt, die Version ist die am 2.4.12 compilierte. Schade das.
in welchem paket ist denn der patch zu finden und welche version ? dann prüfe ich das nochmal um sicher zu gehen.
OsZ
-
Hallo Leute,
leider hat das Update bei mir keine Besserung gebracht.
Danke trotzdem.
Hergorn
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!