Vaapi hat kein PIP. Ich korrigiere es. So ist das wenn man etwas übernimmt
softhdcuvid jetzt mit VAAPI und HDR support
-
-
So gefixt und eingecheckt
-
soll PIP denn mit CUDA ansonsten funktionieren? Bei mir schmiert vdr dann zuverlässig ab. Im neuen softhddevice gibt es deshalb schon einen Hinweis, dass PIP nur mit VDPAU funktioniert.
-
Ich nutze PIP nicht und es ist nur drin weil ich es so übernommen habe. Im Prinzip funktioniert es aber auch mit CUDA.
Abstürze habe ich damit aber auch schon gesehen und wenn jemand mir patches schickt baue ich sie gerne ein. Nur selber mache ich nichts da dran.
jojo61
-
seahawk1986 oder CKone - was ist bei focal und yavdr-ansible nun alles zu machen um softhddrm verwenden zu können? Nur ein systemctl mask --now yavdr-xorg xlogin@vdr x@vt7, sowie aktivieren des softhddrm über vdrctl scheint nicht zu reichen, da nach einem anschließenden Neustart pulseaudio bekrittelt wird, und vdr mit einem core-dump sich verabschiedet
-
Den SIGABRT habe ich auf meinem frisch aktualisierten Testsystem auch, da scheint irgend etwas bei der Initialisierung des DRM-Geräts schief zu gehen - an den Berechtigungen solte es nicht liegen, wenn ich den VDR durchgehend als root laufen lasse, passiert das auch:Kommando zurück, da war noch eine Systemd-Unit für den X-Server aktiv, wenn die maskiert ist, läuft es.
Der buildlog des Plugins sieht trotzdem recht wild aus, da hagelt es Warnungen: https://launchpadlibrarian.net…dr0~focal_BUILDING.txt.gz
-
Habe nun eine Änderung eingecheckt damit softhddrm kein root mehr braucht. Damit sollte es wieder problemlos neben X ohne root laufen.
Wie ist das genau gedacht? Soll das auch funktionieren, wenn man softhddrm detached? Wenn ich das mache, kann ich den X-Server nicht erfolgreich starten und mit kodi-gbm bekomme ich auch kein Bild, aber höre Tastendrücke.
-
welche unit hast du noch maskiert seahawk1986 ? noch etwas zusätzlich du die die ich oben geschrieben hatte?
-
welche unit hast du noch maskiert seahawk1986 ? noch etwas zusätzlich du die die ich oben geschrieben hatte?
Nein, wenn die alle maskiert und gestoppt sind, sollte es passen. Ich hatte noch eine laufende Instanz der x@vt7.service, nachdem ich die gestoppt hatte, ging es wieder.
Wenn man pulseaudio nutzen will, kann man dann noch eine headless Session starten - IIRC hatte ich da schon mal etwas als proof of concept gepostet.
-
hm ok, dann ist bei mir wohl etwas anders kaputt. mal sehen ob ich das irgendwie backtracen kann, anleitung gibt es ja irgendwo hier im forum.
-
im Anhang der Coredump sowie das dazugehörende vdr-log, vielleicht kann jemand damit etwas anfangen?
System ist vdr1, kernel
5.6.7-050607-generic
-
Das einzige was ich geändert habe ist, das sich das plugin nun vom X Server die berechtigung holt auf das drm Device zuzugreifen. Wenn eh kein X Server läuft dann hat das keine Auswirkungen. Gedacht ist das für die , die einen X Server haben für Kodi und dann auf das Plugin umschalten wollen das auf der Konsole läuft. Bisher musste der vdr dafür dann als root laufen. Kodi auf GBM Basis habe ich nie damit getestet und wird damit wohl nicht parallel laufen
weil Kodi nie das drm device frei gibt und ich es nicht anfordern kann.
-
Das einzige was ich geändert habe ist, das sich das plugin nun vom X Server die berechtigung holt auf das drm Device zuzugreifen.
Bei einem bereits laufenden X-Server (der bei yaVDR bislang nicht über den Umweg mit einem Display-Manager wie GDM gestartet wird, sondern direkt als root) wollte das Plugin bei mir unter Ubuntu 20.04 nicht starten - gibt es da irgendwelche speziellen Voraussetzungen, damit das klappt? Muss man vorher die Konsole wechseln?
-
Das Plugin wechselt nicht die Konsole. D.h. man muss vorher mit ctl-alt-1 auf die Konsole wechseln.
-
Leider klappt das bei mir noch nicht - wenn ich bei laufendem X-Server auf ein anderes tty gehe, bekomme ich folgendes im Log:
CodeMai 10 09:46:29 yavdr-focal vdr[3195]: FindDevice: open /dev/dri/card0: i915 Mai 10 09:46:29 yavdr-focal vdr[3195]: cannot set atomic mode (22): Invalid argument Mai 10 09:46:29 yavdr-focal systemd[1]: vdr.service: Main process exited, code=dumped, status=6/ABRT
Wenn ich den VDR von der Konsole aus starte, sieht das so aus:
Code
Alles anzeigenvdr@yavdr-focal:~$ vdr vdr: error while reading '/var/lib/vdr/plugins/pulsecontrol/startup.script' FindDevice: open /dev/dri/card0: i915 Connector >eDP-1< is connected Connector >DP-1< is not connected Connector >HDMI-A-1< is not connected Connector >HDMI-A-2< is connected ID -1 of METADATA in Connector 86 connected 1 Mode 0 2560x1440 Rate 60 Mode 1 2048x1152 Rate 60 Mode 2 1920x1200 Rate 60 Mode 3 1920x1080 Rate 60 Mode 4 1920x1080 Rate 60 Mode 5 1920x1080 Rate 60 Mode 6 1920x1080 Rate 60 Mode 7 1920x1080 Rate 60 Mode 8 1920x1080 Rate 60 Mode 9 1920x1080 Rate 50 Use Mode 9 1920x1080 Rate 50 [FindDevice] Plane id 31 crtc_id 42 possible_crtcs 1 possible CRTC 42 type primary plane [FindDevice] Plane id 34 crtc_id 0 possible_crtcs 1 possible CRTC 42 type overlay plane [FindDevice] Plane id 39 crtc_id 0 possible_crtcs 1 possible CRTC 42 type cursor plane [FindDevice] Plane id 43 crtc_id 54 possible_crtcs 2 possible CRTC 54 type primary plane [FindDevice] Plane id 46 crtc_id 0 possible_crtcs 2 possible CRTC 54 type overlay plane [FindDevice] Plane id 51 crtc_id 0 possible_crtcs 2 possible CRTC 54 type cursor plane [FindDevice] Plane id 55 crtc_id 0 possible_crtcs 4 possible CRTC 66 type primary plane [FindDevice] Plane id 58 crtc_id 0 possible_crtcs 4 possible CRTC 66 type overlay plane [FindDevice] Plane id 63 crtc_id 0 possible_crtcs 4 possible CRTC 66 type cursor plane [FindDevice] DRM setup CRTC: 54 video_plane: 31 set CRTC 54 of Connector 86 aktiv cannot set atomic mode (22): Invalid argument Aborted (core dumped)
Woher bekommt er denn das Magic Cookie vom X-Server? Eine .Xauthority im HOME-Verzeichnis des Nutzers vdr zu erstellen scheint nicht zu reichen.
-
Spam-Alarm!
-
Code
Alles anzeigenint ret = drmSetMaster(render->fd_drm); if (ret < 0) { drm_magic_t magic; ret = drmGetMagic(render->fd_drm, &magic); if (ret < 0) { Debug(3, "drm:%s - failed to get drm magic: %s\n", __FUNCTION__, strerror(errno)); return -1; } ret = drmAuthMagic(render->fd_drm, magic); if (ret < 0) { Debug(3, "drm:%s - failed to authorize drm magic: %s\n", __FUNCTION__, strerror(errno)); return -1; } }
Das ist der Code um Master zu werden mit Hilfe des X Servers. Habe ich bei Kodi abgeschrieben. Der scheint ja auch zu funktionieren. Bei mir geht dann auch das Atomic später.
Getestet habe ich es aber bisher nur auf dem Raspi. Evtl. ist das verhalten unter Intel wieder anders. Muss ich dann mal testen. Oder der X Server braucht eine bestimmte Version.
-
Ich habe es nun mal auf meine NUC probiert und da läuft es auch ohne root neben dem X Server, Der X Server ist 1.20.8
PS: hast du im Aufruf -C HDMI-A-2 mitgegeben oder -C eDP-1
jojo61
-
Ich habe es nun mal auf meine NUC probiert und da läuft es auch ohne root neben dem X Server, Der X Server ist 1.20.8
Wie wird der bei dir gestartet? Irgenwelche speziellen Argumente?
PS: hast du im Aufruf -C HDMI-A-2 mitgegeben oder -C eDP-1
Das Plugin startet mit -C HDMI-A-2, das ist der externe Monitor, eDP-1 ist der interne Monitor des Laptops, den ich per Boot-Parameter deaktiviert habe.
-
Nein keine speziellen Argument. Ich setze noch -g 1920x1080 und -r 50 damit er die richtige EDID findet.
Welchen X Server hast du ?
jojo61
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!