View previous topic :: View next topic |
Author |
Message |
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Mon Feb 27, 2023 3:07 pm Post subject: HEVC encoding mit vaapi funktioniert nicht mehr |
|
|
Hallo,
ich habe festgestellt das bei mir HEVC encoding nicht mehr funktioniert, obwohl meine (interne INTEL) GPU (Jasper Lake/JSL) das unterstüzt. Seit wann das so ist kann ich nicht sagen, da ich es nicht oft nutze.
Was unter https://wiki.gentoo.org/wiki/VAAPI beschrieben ist funktioniert alles.
Hier einige Tests:
-OK: ffmpeg-encoding mit h264_vaapi und vp9_vaapi
-OK: vaapi-decoding mit VLC (h264,HEVC,vp9, usw.)
Ersetze ich im ffmpeg-Befehl aus dem wiki h264_vaapi allerdings durch hevc_vaapi, dann erhalte ich diese nichtssagende Fehlermeldung:
Code: | [hevc_vaapi @ 0x55f4b04702c0] Failed to end picture encode issue: 24 (internal encoding error). |
und avidemux2 (die neuste github version!) erkennt gar keine vaapi-encoder mehr, also auch nicht h264(Intel). Die vaapi-Intel Codecs wurden früher unter Video aufgelistet. Decoding funktionert allerdings ebenfalls problemlos.
Das Problem ist also recht merkwürdig und für mich nicht mehr nachvollziehbar - ich vermute daher eher einen BUG oder das die api irgendwie verändert wurde.
Laut https://github.com/intel/media-driver wird guc/huc firmware benötigt (habe ich eingebunden und dmesg bestätigt das)
Ein weiterer Punkt ist das wohl aus patentrechtlichen Gründen an Mesa bzgl. Encoding etwas verändert wurde. Dafür habe ich "proprietary-codecs" in den Mesa-USE-Flags gesetzt.
Mir gehen hier die Ideen aus, da es ja zumindest teilweise funktioniert - bis auf HEVC-Encoding mit ffmpeg und das avidemux2 vaapi encoding gar nicht mehr anbietet.
Habt Ihr auch dieses Problem oder kennt Jemand vielleicht eine Lösung? Irgendwelche Ideen? - Danke!
Zur Info:
Code: |
6.2.1-gentoo-x86_64
libva-2.16.0
mesa-22.2.5
libva-intel-media-driver-22.5.4
xf86-video-intel-2.99.917_p20201215
libdrm-2.4.115
[drm] HuC firmware i915/ehl_huc_9.0.0.bin version 9.0.0
[drm] GuC firmware i915/ehl_guc_70.1.1.bin
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.16.0
libva info: Trying to open /usr/lib64/va/drivers/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_16
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.16 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.5.4 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
|
|
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Mon Feb 27, 2023 3:58 pm Post subject: |
|
|
Mal rein ins Blaue geraten...
Verwendest Du den Kernel-Parameter: i915.enable_guc=2 ?
Die Ausgabe zeigt "xf86-video-intel-2.99.917_p20201215". Verwendest Du diesen? Oder verwendest Du den Modesetting Treiber? |
|
Back to top |
|
|
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Mon Feb 27, 2023 6:54 pm Post subject: |
|
|
@mike155
zweimal JA
- i915.enable_guc=2 ist aktiviert (ohne wird die guc/huc firmware ja nicht geladen)
- ich nutze den xf86-video-intel-2.99.917_p20201215 treiber und das xorg.log sieht für mich auch OK aus
Mir würde es schon sehr helfen, wenn ich wüsste ob bei Dir oder Anderen hevc_vaapi (mit onboard INTEL GPU und intel-media-driver) funktioniert. Wenn ja müsste man halt herausfinden wo sich die Configs unterscheiden und wenn es bei Anderen ebenfalls nicht mehr funktioniert dann ist es wohl eher ein Bug.
Code: |
[ 53.647] (II) LoadModule: "glx"
[ 53.647] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[ 53.650] (II) Module glx: vendor="X.Org Foundation"
[ 53.650] compiled for 1.21.1.7, module version = 1.0.0
[ 53.650] ABI class: X.Org Server Extension, version 10.0
[ 53.650] (II) LoadModule: "intel"
[ 53.650] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
[ 53.651] (II) Module intel: vendor="X.Org Foundation"
[ 53.651] compiled for 1.21.1.7, module version = 2.99.917
[ 53.651] Module class: X.Org Video Driver
[ 53.651] ABI class: X.Org Video Driver, version 25.2
[ 53.651] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
[ 53.651] (II) intel: Driver for Intel(R) HD Graphics
[ 53.651] (II) intel: Driver for Intel(R) Iris(TM) Graphics
[ 53.651] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics
[ 53.652] (II) intel(0): Using Kernel Mode Setting driver: i915, version 1.6.0 20201103
[ 53.652] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics
[ 53.652] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2; using a maximum of 4 threads
[ 53.652] (II) intel(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 53.652] (==) intel(0): Depth 24, (--) framebuffer bpp 32
[ 53.652] (==) intel(0): RGB weight 888
[ 53.652] (==) intel(0): Default visual is TrueColor
[ 53.652] (**) intel(0): Option "AccelMethod" "sna"
[ 53.652] (**) intel(0): Option "DRI" "iris"
...
[ 53.654] (II) intel(0): SNA initialized with generic backend
[ 53.654] (==) intel(0): Backing store enabled
[ 53.654] (==) intel(0): Silken mouse enabled
[ 53.654] (II) intel(0): HW Cursor enabled
[ 53.654] (==) intel(0): DPMS enabled
[ 53.654] (==) intel(0): Display hotplug detection enabled
[ 53.654] (II) intel(0): Textured video not supported on this hardware or backend
[ 53.655] (II) intel(0): [DRI2] Setup complete
[ 53.655] (II) intel(0): [DRI2] DRI driver: iris
[ 53.655] (II) intel(0): [DRI2] VDPAU driver: va_gl
[ 53.655] (II) intel(0): direct rendering: DRI2 DRI3 enabled
[ 53.655] (II) intel(0): hardware support for Present enabled
[ 53.655] (II) Initializing extension Generic Event Extension
[ 53.655] (II) Initializing extension SHAPE
[ 53.655] (II) Initializing extension MIT-SHM
[ 53.655] (II) Initializing extension XInputExtension
[ 53.655] (II) Initializing extension XTEST
[ 53.655] (II) Initializing extension BIG-REQUESTS
[ 53.655] (II) Initializing extension SYNC
[ 53.655] (II) Initializing extension XKEYBOARD
[ 53.655] (II) Initializing extension XC-MISC
[ 53.655] (II) Initializing extension XFIXES
[ 53.655] (II) Initializing extension RENDER
[ 53.655] (II) Initializing extension RANDR
[ 53.655] (II) Initializing extension COMPOSITE
[ 53.655] (II) Initializing extension DAMAGE
[ 53.655] (II) Initializing extension MIT-SCREEN-SAVER
[ 53.655] (II) Initializing extension DOUBLE-BUFFER
[ 53.655] (II) Initializing extension RECORD
[ 53.655] (II) Initializing extension DPMS
[ 53.655] (II) Initializing extension Present
[ 53.655] (II) Initializing extension DRI3
[ 53.655] (II) Initializing extension X-Resource
[ 53.655] (II) Initializing extension XVideo
[ 53.655] (II) Initializing extension XVideo-MotionCompensation
[ 53.655] (II) Initializing extension GLX
[ 53.759] (II) AIGLX: Loaded and initialized iris
[ 53.759] (II) GLX: Initialized DRI2 GL provider for screen 0
|
|
|
Back to top |
|
|
mike155 Advocate
Joined: 17 Sep 2010 Posts: 4438 Location: Frankfurt, Germany
|
Posted: Mon Feb 27, 2023 7:19 pm Post subject: |
|
|
Ich kann Dir leider nicht direkt weiterhelfen, weil ich kein aktuelles Intel-System habe und auch wenig mit Video mache.
Der Intel-Treiber ist aber deprecated und veraltet, was Du auch schon am Datum des ebuilds siehst. Schon seit Jahren wird empfohlen, auf den Modesetting.Treiber zu wechseln. Es könnte also ein Bug sein, dass Video Encoding mit dem alten Intel Treiber nicht mehr funktioniert - und es niemand merkt oder fixt, weil mittlerweile alle den Modesetting Treiber verwenden. Von daher könntest Du mal probieren, was passiert, wenn Du auf den Modesetting-Treiber wechselt.
Ich kann mit meiner Vermutung aber völlig falsch liegen. |
|
Back to top |
|
|
ManfredB Veteran
Joined: 27 Dec 2007 Posts: 1789
|
Posted: Tue Feb 28, 2023 8:46 am Post subject: |
|
|
Hallo zusammen,
sorry, wenn ich hier eintrete. Nur eine kleine Frage habe ich.
Mein Acer Aspire Notebook hat auch eine Intel-Grafikkarte.
Ich nutze bisher immer noch den alten Treiber.
Nun die Frage:
Wie heißt der Modesetting.Treiber genau, wenn ich den auch nutzen wollte?
Danke im voraus.
Gruß
Manfred |
|
Back to top |
|
|
gt_amd64 Apprentice
Joined: 02 Dec 2004 Posts: 181
|
Posted: Tue Feb 28, 2023 9:29 am Post subject: |
|
|
@manfred
/etc/X11/xorg.conf.d/20-intel.conf
Code: |
Section "Device"
Identifier "Intel Graphics"
Driver "modesetting"
EndSection
|
wenn das funktioniert kannst du danach dann i915 aus VIDEO_CARDS (make.conf) entfernen , xorg-drivers neu emergen (mit --newuse) und danach mit emerge -C xf86-video-intel den alten treiber entfernen.
Weiter mit dem eigentlichen Thema:
Ich habe also inzwischen modesetting getestet: Fehler/Funktion sind identisch, d.h. vaapi funktioniert weiterhin nur teilweise, also ohne hevc_vaapi encoding!
Somit kann man den xf86-video-intel Treiber als Ursache wohl ausschliessen und es bleiben Mesa, libva, libva-intel-media-driver, libdrm als mögliche Ursachen, sofern nicht ein weiteres Paket relevant ist. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|