vaapidevice kompiliert nicht

  • Siehe Log...


    Danke im Voraus für Tipps!


    Stefan




    System:

    • Opensuse 42.3
    • Kernel 4.4.114
    • vainfo: VA-API version: 1.1 (libva 2.0.0)
    • vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.0.0
    • DVB-Treiber sind keine installiert, da Empfang über Satip.
  • video.c:2328:6: note: use option -std=c99 or -std=gnu99 to compile your code

    Evtl. diesen Hinweis aus Deinem Log Ausschnitt beachten ... ?

    HowTo: APT pinning

  • Danke. Das fiel mir auch auf, nur brachte das nichts.


    Stefan

  • Äh, welcher Schalter wurde gesetzt und wie sieht die Logausgabe dann aus?


    Ich mein es steht doch da was nicht passt:

    video.c:6860:2: error: 'for' loop initial declarations are only allowed in C99 mode

    Und was ist das für ein Include:

    -I/usr/src/linux/include/uapi

    HowTo: APT pinning

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von fnu ()

  • Füge ich im Makefile die Zeile "export CFLAGS := -std=c99" ein, kommt folgendes Ergebnis:

    Füge ich dann noch "-fPIC" - wie ganz unten gefordert - ein, kommt wieder die Meldung aus meinem ersten Beitrag,


    Wer hat das neue Vaapidevice bereits installiert? Hat das geklappt?


    Stefan

  • Und was ist das für ein Include:

    Das ist mein DVBDIR.

  • Nachdem ein freundliches Foren-Mitglied, das seit geraumer Zeit "nach einem gewissen Vorfall" leider nicht mehr postet, gestern per PN dazu riet, testete ich das auch noch. Doch leider mit dem gleichen Ergebnis - mit gcc5 und gcc6.


    Oder sollte ich einen neueren Kernel installieren?


    Danke im Voraus für weitere Tipps!


    Stefan

  • Mir ist es gerade gelungen, das neue vaapidevice-Plugin (aktueller Stand von

    https://github.com/pesintta/vdr-plugin-vaapidevice/) zu Kompilieren und zum Laufen zu bringen.


    447377 die von dir beschriebenen Probleme hatte ich nicht. Das C99-Ding scheint inzwischen gefixt zu sein, vielleicht klappt es mit dem akutellen GIT-Stand ja jetzt!?


    Ein paar Anpassungen musste ich trotzdem in der Datei video.c machen, da in meinem System (Mint 18.3, entspricht in etwa Ubuntu Xenial, mit in /opt nachinstalliertem ffmpeg 3.3.2) eigentlich die libva zu alt ist. Das kann man aber mit ein paar Anpassungen umgehen (falls jemand sie braucht, kann ich nen Patch hier anhängen).


    Größtes Problem war, dass ich erst mal keinen Ton mehr hatte. Ich fand dann heraus, dass man wohl jetzt unbedingt den "-a" Parameter mit dem richtigen Device angeben muss, bei mir "-a pulse". Auf den ersten Blick scheint jetzt alles zu funktionieren.

    VDR 1: Linux Mint 18.1 mit VDR 2.2.0 und Ausgabe auf X11 (Radeon HD6450) via softhddevice/vdpau. DVB-Karte: DVBSky T9580V3
    VDR 2: Ausgabe auf X11 (Intel i5 Kaby Lake) via softhddevice/vaapi, sonst wie VDR 1

  • Ein paar Anpassungen musste ich trotzdem in der Datei video.c machen, da in meinem System (Mint 18.3, entspricht in etwa Ubuntu Xenial, mit in /opt nachinstalliertem ffmpeg 3.3.2) eigentlich die libva zu alt ist. Das kann man aber mit ein paar Anpassungen umgehen (falls jemand sie braucht, kann ich nen Patch hier anhängen).

    Could you share the modification you needed as a Github issue?

  • Sure. I will clean my patch a bit and post it as a Gibthub issue then. Thanks for the great work!

    VDR 1: Linux Mint 18.1 mit VDR 2.2.0 und Ausgabe auf X11 (Radeon HD6450) via softhddevice/vdpau. DVB-Karte: DVBSky T9580V3
    VDR 2: Ausgabe auf X11 (Intel i5 Kaby Lake) via softhddevice/vaapi, sonst wie VDR 1

  • Done. Obviously these patches are not ready to apply as is. Some proper "#if" regarding the libva version needs to be added.

    VDR 1: Linux Mint 18.1 mit VDR 2.2.0 und Ausgabe auf X11 (Radeon HD6450) via softhddevice/vdpau. DVB-Karte: DVBSky T9580V3
    VDR 2: Ausgabe auf X11 (Intel i5 Kaby Lake) via softhddevice/vaapi, sonst wie VDR 1

  • I thought it's a good idea to have the vaapidevice plugin listed in the (German) vdr-wiki. So I created

    http://www.vdr-wiki.de/wiki/index.php/Vaapidevice-plugin (most of the content is derived via copy&paste from the Softhddevice page).

    VDR 1: Linux Mint 18.1 mit VDR 2.2.0 und Ausgabe auf X11 (Radeon HD6450) via softhddevice/vdpau. DVB-Karte: DVBSky T9580V3
    VDR 2: Ausgabe auf X11 (Intel i5 Kaby Lake) via softhddevice/vaapi, sonst wie VDR 1

  • We're not going to downgrade the libva requirement, but we might even upgrade it to 2.1. There's no point using any media library from 2016.

    That's well understandable. On the other hand, popular distros (like Ubuntu or Mint) still come with pretty old libva versions. For me, it's simply less risky to patch one file (video.c) in vaapidevice than manually upgrading a system-wide library where I don't know which side effects on other software in the distro it will have. But as I say, I understand your point and for me it is no problem.

    VDR 1: Linux Mint 18.1 mit VDR 2.2.0 und Ausgabe auf X11 (Radeon HD6450) via softhddevice/vdpau. DVB-Karte: DVBSky T9580V3
    VDR 2: Ausgabe auf X11 (Intel i5 Kaby Lake) via softhddevice/vaapi, sonst wie VDR 1

  • Nun habe ich es auch geschafft, mit der aktuellen Version von vaapidevice funktioniert's.

    Now it compiles. Thanks a lot rofafor!


    Aber:

    • HD-Sender bleiben schwarz (libva 2.0 und 2.1). Das hatte ich vor einiger Zeit mit einer Braswell-CPU in Verbindung mit libva >= 2.0 auch schon. Damals noch mit der Vorgängerversion softhddevice, weshalb ich dann auf libva 1.8 zurück ging.
    • SNA geht gar nicht, da ist sofort Bild und Ton assynchron.
    • Mit UXA zählt duping frame hoch - ziemlich schnell...
    • Und wenn ich Composite disable, dann startet X nicht mehr - siehe Code unten.

    Ich werde nun die libva downgraden und mighty-p's Patch anwenden.


    Stefan


    P.s.: Falls jemand eine Skylake-CPU am Laufen hat - wie waren die Schritte?


  • Bei mir läuft vaapidevice von Anfang an. Mit dem Bauen hatte ich keine Probleme.

    Ein kürzliches X-Server update auf X Server 1.19.6 hat bei mir allerdings Schwierigkeiten gemacht, X kam danach nicht mehr richtig hoch.


    Bei mir hat der Parameter
    i915.enable_ips=0


    in der Kernel boot line geholfen.


    Peter

    VDR1: vdr-latest, arch x86_64, Octopus net 2 x Duoflex C/C2/T2 , NUC7i3BNH, Crucial MX300 2TB, LG LM 669S
    VDR2: RasPI 2, MLD
    VDR-User #81

    Linux is the best OS I have ever seen -- Albert Einstein