vaapidevice unter openSUSE 42.3 compilieren

  • Ich komme jetzt endlich dazu, den VDR, den ich bisher nur provisorisch für die Entwicklung des MTD zusammengestöpselt hatte, "wohnzimmertauglich" zu machen :-). Dazu möchte ich für die Wiedergabe das vaapi-Plugin verwenden, welches aber leider etliche Libraries in neueren Verionen voraussetzt, als sie in openSUSE 42.3 vorhanden sind.


    Weiß jemand, ob man diese durch Hinzufügen eines geeigneten Repositories im YaST auf einfache Weise bekommen kann? Oder muss man sich die querbeet zusammensuchen?


    Klaus

  • Hmm, ich befürchte da wirst Du suchen müssen. Packman hast Du aber aktiv, oder?

    Ich hole mir in solchen Fällen meist die srpms von factory/tumbleweed/packman und bau mir Pakete selbst mit rpmbuild.

    (Meinen Neuen hab ich lieber gleich mit TW aufgesetzt, vor allem allerdings wg. Geminilake Prozessor...)

    VDR1:ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.4.0,
    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.0

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git)

  • Hab den Beitrag von hier wiedergefunden und die darin empfohlenen zypper-Aufrufe gemacht. Das hat anscheinend das komplette System upgedatet. Aber vaapidevice lässt sich nach wie vor nicht compilieren:

    Klaus

  • Der_Pit : Packman habe ich jetzt eingetragen, aber wenn ich libavcodec-devel 3.4.2-12.8 installieren möchte, dann sagt er mir

    Code
    1. ffmpeg2-devel-2.8.13-32.1.x86_64 conflicts with libavcodec-devel provided by libavcodec-devel-3.4.2-12.8.x86_64
    2. ...
    3. Possible Solutions
    4. [ ] Following actions will be done: see below
    5. [ ] do not install libavcodec-devel-3.4.2-12.8.x86_64

    und das war's dann.

    Gibt es denn nicht irgendwo ein "Complete Idiot's Guide To Installing vaapidevice-Plugin? ;-)


    Klaus

  • Falls nötig yasm und nasm holen, installieren.

    x264 holen und installieren (x264 ./configure --enable-shared).

    Passendes ffmpeg holen und installieren (./configure --enable-shared --enable-gpl --enable-postproc --enable-pthreads --enable-swscale –enable-libx264)

    xine-lib und xine-ui holen und installieren.

    Fertig.


    Damit kann ich dann das xine-plugin (ja, benutze ich immer noch) oder softhddevice-plugin bauen. Ich nehme an für vaapidevice reicht das auch.

  • Also ich hab's hier gerade mal auf meinem 42.3 desktop probiert (der hat aber keine TV-Hardare und 'ne nvidia karte...)

    Hab mir die source rpm von libva2 geholt, compiliert, und (mit dem ffmpeg 3.4 aus packman, sowie den entsprechenden libs wie libavcodec und libswscale auch von dort) compilieren dann vdr und vaapidevice.

    Wenn Du die libva2 schon hast aus der obigen Quelle sollte es nur am ffmpeg hängen - vaapidevice will ja mindestens 3.2.

    (3.4 ist zwar auch in den opensuse repos, die sind aber immer beschnitten - packman war da ja schon immer Pflicht).


    Oder eben gleich auf die 15.0 gehen - die ist ziemlich kurz vor dem Release...

    VDR1:ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.4.0,
    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.0

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git)

  • ffmpeg musste ich unter Opensuse 42.3 kompilieren, damit die HD-Sender (720p, 1080i) gingen. Mit den Paketen von Pacman blieb das Bild dunkel und der Ton war nach einer Weile da.

    Code
    1. zypper install subversion yasm-devel libx264-devel libmp3lame-devel openjpeg-devel libpulse-devel libxvidcore-devel libfaac-devel libfaad-devel libxvidcore-devel libopencore-amr-devel libamrnb-devel libamrwb-devel libtheora-devel libvorbis-devel libvpx-devel libxvidcore-devel
    2. cd /usr/local/src && wget http://ffmpeg.org/releases/ffmpeg-3.4.tar.bz2 && tar xfvj ffmpeg-3.4.tar.bz2 && rm ffmpeg-3.4.tar.bz2 && cd ffmpeg-3.4
    3. ./configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --enable-gpl --enable-libxvid --enable-postproc --enable-avfilter --enable-shared --enable-libx264 --enable-nonfree --enable-libmp3lame --enable-version3 --enable-postproc --enable-pthreads
    4. make -j4
    5. make -j4 install
    6. make -j4 install-libs
    7. ldconfig

    X11-Repository einbinden

    Code
    1. zypper ar -f http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_Leap_42.3 X11:Xorg
    2. zypper ref
    3. zypper dup
    4. reboot
    5. zypper install libdrm-devel libdrm_intel1 libva-devel cairo-devel git intel-gpu-tools libtool intel-vaapi-driver xf86-video-intel libgltf-devel Mesa-devel Mesa-dri-devel kernel-source make automake autoconf gcc-c++ libva-utils
    6. zypper remove vaapi-dummy-driver

    Versionen mit yast2 manuell ändern auf die vom X11-Repository

    • xorg-x11-server-sdk
    • xorg-x11-server
    • xf86-video-intel

    wenn ich bei Suse hihttps://software.opensuse.org/search?p=1&baseproject=openSUSE:Leap:42.3&q=vaapier suche, gibts da vaapi-intel-driver mit 1.7.3 und intel-vaapi-driver mit 2.0.0 - fiese Falle!

    Genau. Dies ggf. noch prüfen!


    Jedoch habe ich hier das Problem, dass "Frames duped" hochgezählt wird, ca. 30 - 50 Frames pro Sekunde. Und jetzt kommt's: Gebe ich dann xrandr auf der Konsole an, ist's gut - bis zum nächsten Senderwechsel. Habt Ihr das auch?


    Stefan

  • Ich habe jetzt mal die Beta von openSUSE Leap 15.0 installiert (nebenbei: seltsame Versionsnummerierung, 10, 11, 12, 13, 42, 15 ;-) und einfach alles nachinstalliert (via YaST), was beim Compilieren von vaapidevice angemeckert wurde. Am Ende sah es dann so aus:

    Das Paket libxcb-icccm4 ist zwar installiert, ein entsprechendes "devel"-Paket gibt es aber nicht.


    Die Pakete libavcodec57 und libavcodec-devel sind installiert, aber es wird dennoch ein fehlendes libavcodec/avcodec.h angemeckert.


    Weiter im nächsten Post...

  • Ich habe dann mal http://packman.inode.at/suse/openSUSE_Leap_15.0 zu den Repos hinzugefügt (mit Priority 98, anscheinend bedeuten kleinere Werte eine höhere Priorität!?) und die Schritte ausgeführt, die 447377 vorgeschlagen hat (Ausgabe gekürzt wg. 10000-Zeichen-Limit):

    Tja, jetzt weiß ich nicht, was ich da antworten soll...


    Klaus

  • der xcb Fehler brauch die Installation von xcb-util-wm-devel.


    Wahrscheinlich hat Leap 15 (Name kommt übrigens durch die Angleichung an die Business Version SLES 15) eine höhere Version von libprocps (42.3 hatte noch die 3, TW ist schon bei 6). Ich würde in dem Fall '2' wählen (ignore dependency) und auf backward compatibility hoffen, oder halt die gpu-tools nicht installieren (sie werden IIRC nicht benötigt)

    VDR1:ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.4.0,
    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.0

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git)

  • FireFly Ich hab noch explizit ffmpeg >= 3.2 drin.


    kls : Check auf jeden Fall nochmal welche libva Du jetzt hast. Das normale 'zypper up' bleibt beim vorhandenen Repo wenn was schon installietr ist, da brauchst Du ein --force oder (wie vorgeschlagen) die Angabe der zu installierenden Version.


    Vermutlich wäre auch ein zypper dup -r X11:Xorg keine schlechte Idee um das X-Zeugs konsistent zu haben. Aber ich weiss nicht genau, was dort alles drin ist. Also wenn, dann die Update-Liste gut anschauen...

    VDR1:ASRock Ion 3D 152B, Sundtek SkyTV Ultimate openSUSE Leap 42.2, VDR 2.4.0,
    VDR2: ASRock J4105-ITX, DVBSky S952, openSUSE Tumbleweed, VDR 2.4.0

    softhddevice/vaapidevice, DFAtmo, xmltv2vdr, tvscraper, tvguideng, VDRAdmin-AM (alles git)

  • aus gegebenen Anlass (zypper will Updates einspielen):

    als Repo habe ich unter 42.3 eingebunden:

    Code
    1. Alias          : alarrosa_X11_XOrg
    2. Name           : alarrosa_X11_XOrg
    3. URI            : https://download.opensuse.org/repositories/home:/alarrosa:/branches:/X11:/XOrg/openSUSE_Leap_42.3

    und er will folgendes updaten: