softhdvaapi, libplacebo et al

  • Hi *,


    ich wollte nochmals nachfragen, welche Einstellungen, Lib-Versionen (placebo, vaapi, andere?) usw. für softhdvaapi unter folgenden Bedingungen heutigentags zu den besten Ergebnissen führen:

    • openSUSE Tumbleweed latest
    • kernel 6.2.6
    • VDR 2.6.4
    • CPU: 6-core Intel Core i5-10400T (-MT MCP-) speed/min/max: 1241/800/3600 MHz

    Aktuell habe ich Bild bei SD-Sendern, Bild in Zeitlupe bei HD-Sendern und keinen Ton.

    Das war schon mal besser, aber ich habe lange nichts mehr damit gemacht, weil ich im Regelfall die TT6400-S2 nutze.

    • softhdvaapi 3.8-GIT7b41b9b
    • libplacebo.so.175
    • Shader adaptive-sharpen.glsl
    • VA-API version 1.17.0


    Danke und ciao.

    Michael.

  • Anbei meine Versionen:

    • 13th Gen Intel(R) Core(TM) i7-13700K
    • Intel Raptor Lake-S GT1 [UHD Graphics 770]
    • openSUSE Tumbleweed 20230308
    • Kernel 6.2.1
    • vdr 2.6.4
    • VA-API version 1.17.0
    • libplacebo 5.247
    • softhdvaapi 3.8-GIT7b41b9b
    • Shader LumaSharpenHook.glsl - mit adaptive-sharpen.glsl bleibt zu wenig GPU-Leistung übrig, ich habe drei WQHD-Monitore am Desktop
    • Scaler robidouxsharp

    Gib' Bescheid, wenn Du noch was brauchst.

    Stefan

  • Naja, bis auf meine deutlich schwächere CPU/GPU unterscheidet sich das Ganze nur durch die libplacebo Version und die verwendeten Scaler/Shader, wenn ich das recht sehe.

    Danke in jedem Fall.

    Ich fang mal damit an, die libplacebo zu erneuern.

  • Das 175er libplacebo hatte bei mir gar nicht mehr kompiliert.


    Das müsste die richtige Version sein:

    GitHub - haasn/libplacebo at 3dd509238e41b4d2c5ae384cc26d5f881d043f53
    Official mirror of libplacebo. Contribute to haasn/libplacebo development by creating an account on GitHub.
    github.com


    Stefan

  • Ich habe eben ein

    Code
    zypper zup

    gemacht. Es funktioniert immernoch alles.


    Stefan

  • D.h. du verwendest nur das, was aus dem Tumbleweed Repo stammt, hast nix extra gebaut und installiert außer natürlich VDR und seine Module?

  • ...und libplacebo habe ich selber gebaut. Sonst ist alles von Tumbleweed.


    Anmerkung: Nach dem zypper dup habe ich libplacebo und den vdr neu gebaut.


    Stefan

  • Ois roger, thx!

  • Leider nochmals Fragen über Fragen: Mit oder ohne packman repo?

    Irgendwie bekomme ich auch die libplacebo 3dd509238e41b4d2c5ae384cc26d5f881d043f53 nicht übersetzt.

    Erstens musste ich noch python310-Jinja2 und python310-glad2 installieren, obwohl im Readme steht, dass das keine harte Abhängigkeit wäre.

    Und danach bekomme ich Fehler wie:

    src/vulkan/utils_gen.c:968:82: error: ‘VkPhysicalDeviceVulkanSC10Features’ undeclared

    vulkan-devel und libvulkan sind aber installiert.

    Einmal editiert, zuletzt von nobanzai ()

  • Au sorry, klar, packman habe ich aktiviert und von dort alles aktualisiert.

  • Soll ich Dir noch die einzelnen Pakete reinkopieren, wenn ich am Rechner sitze?

  • Danke fürs Angebot! Ich habe packman auch eingebunden und aktuell.

    Wie es aussieht, fehlen mir gerade nur noch die Voraussetzungen zum Bauen von libplacebo, wobei ich die bisher immer ohne Probleme bauen konnte!?!?

    Wie gesagt, die vulkan Pakete sind installiert:

    ibgstvulkan-1_0-0-1.22.1-2.1

    libvulkan1-1.3.243.0-1.1

    vulkan-devel-1.3.243.0-1.1

    vulkan-headers-1.3.243.0-1.1

    vulkan-tools-1.3.243.0-1.1


    Die Meldung

    src/vulkan/utils_gen.c:32:10: error: ‘VK_ERROR_VALIDATION_FAILED’ undeclared (first use in this function); did you mean ‘VK_ERROR_VALIDATION_FAILED_EXT’?

    scheint aber darauf hinzudeuten, dass da die Versionen irgendwie nicht zusammenpassen.

  • Mit der libplacebo 264, die im repo enthalten ist, startet softhdvaapi jedenfalls nicht:

    codec: can't allocate HW video codec context err fffffffb

  • Diese vulkan-Versionen habe ich auch. Darüber hinaus noch:

    Mesa-vulkan-device-select

    libvulkan_intel


    Hier noch meine Installationspakte - einschl. VDR und einige Plugins:

    Code
    zypper install autoconf automake cmake command-not-found expect exiftool fontconfig-devel freetype2-devel gcc-c++ gettext-runtime gettext-tools git glibmm2-devel hddtemp htop kernel-source kernel-syms libarchive-devel libamrnb-devel libamrwb-devel liba52-devel libcap-devel libcurl-devel libfreetype6 libjansson-devel libjpeg-devel libmysqlclient-devel libmysqld-devel libnetpbm-devel libopencore-amr-devel libpciaccess-devel libsensors4 libsqlite3-0 libtheora-devel libuuid-devel libxml++26-devel make ncurses-devel perl-Proc-ProcessTable pciutils-devel pcre-devel pkg-config pugixml-devel python-devel rpm-build sensors subversion systemd-devel telnet tinyxml-devel tinyxml2-devel ucode-intel uuid-devel v4l-utils xdotool x264 yasm-devel yast2-nfs-server alsa-devel cairo-devel glu-devel id3lib-devel imlib2-devel libasound2 libdvdcss2 libdvdnav-devel libexif-devel libglvnd-devel libid3tag-devel libmad-devel libpulse-devel libqt4-devel librsvg-devel libsndfile-devel libva-devel libvorbis-devel libx264-devel libx265-devel libxcb-dpms0 libxcb-dri3-0 libxcb-ewmh2 libxcb-glx0 libxcb-image0 libxcb-keysyms1 libxcb-present0 libxcb-randr0 libxcb-xv0 libXi-devel libXmu-devel libX11-devel libX11-xcb1 openjpeg2-devel sgi-bitmap-fonts telnet xcb-util-devel xcb-util-keysyms-devel xcb-util-wm-devel xorg-x11-devel freeglut-devel glew glew-devel glm-devel libGLEW2_2 

    Im Falle von Intel-GPU:

    Code
    zypper install gmmlib-devel 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 libva-utils

    ffmpeg

    Code
    zypper install ffmpeg-4 ffmpeg-4-libavcodec-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel ffmpeg-4-libavresample-devel ffmpeg-4-libswresample-devel ffmpeg-4-libswscale-devel

    softhdcuvid

    Code
    zypper install gcovr glslang-devel gmock lcov libglfw-devel libGLw-devel liblcms2-devel libqt5-qtbase-devel libqt5-qtwebengine-devel libpng-devel libSDL2_image-devel libunwind-devel Mesa-devel Mesa-libGL-devel Mesa-libGL1 meson python3-Mako python3-nose-exclude python3-rednose shaderc shaderc-devel spirv-tools spirv-cross-devel vulkan-devel

    libplacebo

    Code
    zypper remove libplacebo-devel && zypper al libplacebo-devel
    cd /usr/local/src && wget https://github.com/haasn/libplacebo/archive/3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip && unzip 3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip && rm 3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip && mv libplacebo-3dd509238e41b4d2c5ae384cc26d5f881d043f53 libplacebo-3dd509238e
    meson setup ./build --prefix=/usr/local --libdir=/usr/local/lib64 -Ddemos=true
    ninja -C./build install && ldconfig
    meson configure ./build -Dtests=true && ninja -C./build test
  • Ah - da fehlen dann aber alle 3rdparty submodules von libplacebo.

    Trotzdem ich das dann so mache, bekomme ich dieselben Fehler 8-(

    Mein Ansatz war:


    P="libplacebo"

    PVERV="3dd509238e41b4d2c5ae384cc26d5f881d043f53"

    git clone --recursive "https://github.com/haasn/${P}" "$P"

    git submodule update --init

    git checkout "$PVERV"

    git submodule update --checkout


    Damit sind dann die Submodules da, aber ich habe halt die Fehler zu den vulkan Defines.

  • Und wenn Du das mal weglässt?

    git submodule update --init

  • Also was funktioniert, ist das Holen und Bauen der neuesten Version:

    Code
    git clone --recursive https://github.com/haasn/libplacebo.git libplacebo
    cd libplacebo
    git submodule update --init
    meson --prefix=/usr/local ./build
    ninja -C./build
    ninja -C./build install
    ldconfig

    Wenn ich eine bestimmte Version holen will, entweder über

    Code
    wget https://github.com/haasn/libplacebo/archive/3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip -O 3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip
    unzip 3dd509238e41b4d2c5ae384cc26d5f881d043f53.zip
    mv libplacebo-3dd509238e41b4d2c5ae384cc26d5f881d043f53 libplacebo
    cd libplacebo
    meson --prefix=/usr/local ./build
    ninja -C./build

    oder über

    Code
    git clone --recursive https://github.com/haasn/libplacebo.git libplacebo
    cd libplacebo
    git submodule update --init
    git checkout 3dd509238e41b4d2c5ae384cc26d5f881d043f53
    git submodule update --checkout
    meson --prefix=/usr/local ./build
    ninja -C./build

    , dann kommen beim ninja Build die Fehlermeldungen:

  • Ok, ich musste die ganzen vulkan Pakete aus den Tumbleweed Repos deinstallieren, vor allem vulkan-devel-1.3.243.0-1.1 und vulkan-headers-1.3.243.0-1.1.

    Danach ging es. Ich habe leider die Stelle nicht gefunden, an der die Standard-Includes anstatt der aus dem Submodule dafür gezogen werden.

  • Ok, leider habe ich auch mit der Version

  • Ok, ich musste die ganzen vulkan Pakete aus den Tumbleweed Repos deinstallieren, vor allem vulkan-devel-1.3.243.0-1.1 und vulkan-headers-1.3.243.0-1.1.

    Danach ging es. Ich habe leider die Stelle nicht gefunden, an der die Standard-Includes anstatt der aus dem Submodule dafür gezogen werden.

    Die Stelle hatte ich auch noch gefunden - ist in src/vulkan/meson.build.

    Wenn man die passend zurecht kommentiert, klappt es auch mit dem Übersetzen.

    Was ich nicht geschafft habe, ist die Installation der von dir aufgezählten Pakete, ohne dass auch vulkan-devel und vulkan-headers wieder installiert werden. Und danach habe ich wieder das Compileproblem bei der libplacebo.


    Generell richtig scheint in jedem Fall dieser Weg zu sein:

    Code
    git clone --recursive https://github.com/haasn/libplacebo.git libplacebo
    cd libplacebo
    git submodule update --init
    git checkout 3dd509238e41b4d2c5ae384cc26d5f881d043f53
    git submodule update --checkout
    meson setup --prefix=/usr/local ./build
    ninja -C./build
    ninja -C./build install
    ldconfig


    Aber anyway - wie gesagt, auch mit der 3dd509238e41b4d2c5ae384cc26d5f881d043f53 crasht softhdvaapi.

Jetzt mitmachen!

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