Habe mein Osterwochenende damit verbracht, dieses Problem zu troubleshooten, deshalb möcht ich das jetzt irgendwo festhalten:
Problem: System friert nach kurzer Zeit komplett ein und reagiert nur noch auf Reset über Powerbutton, wenn ich per FFMPEG und VAAPI Hardwarebeschleunigung einen oder mehrere Streams transkodiere (de- und enkodiere). Das reproduzieren des Fehlers ist relativ einfach:
Code: Alles auswählen
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i "${file}" -codec:v h264_vaapi "${file}-x264_aac.mp4"
Hardware:
Intel NUC6CAYH
Intel Celeron J3455 ("Apollo Lake" oder "Goldmount")
Intel UHD 500
4GB Ram (memtest86+ ohne Fehler)
Software
Debian 10 (Kernel 5.10) & Debian 11 bzw. 11.5 (Kernel 5.10 und Kernel 6.1)
Leider gibt es keinerlei Errorlogs zu finden, weder in dmesg/journalctl -b -1 noch in den eigenen Intel Fehlerlogs.
Code: Alles auswählen
# /sys/module/i915# cat /sys/class/drm/card0/error
No error state collected
https://linuxreviews.org/Intel_graphics#Troubleshooting
Allerdings hab ich alle workarounds schon durchprobiert und nichts hat geklappt:
zur GRUB_CMDLINE_LINUX-Zeile in /etc/default/grub hinzefügt und dann "update-grub" neugestartet:
Code: Alles auswählen
i915.enable_psr=0 intel_idle.max_cstate=1 i915.enable_dc=0 ahci.mobile_lpm_policy=1
Code: Alles auswählen
i915.enable_sel_psr2_fetch=0
Jetzt würde man meinen: "Das muss doch ein Hardwareproblem sein", aber: In meiner Verzweiflung hab ich das ganze mal per Ubunut 22.04 probiert (Kernel 5.19) und siehe da, ich konnte Stundenlang transcodieren, selbst 6 Streams gleichzeitig, und das System ist nie eingefroren.
Ubunutu nutzt eine aktuellere Version des i915 (Graifktreiber) und iHD-Treiber; deshalb vermute ich dass es daran liegen könnte.
Hier die Infos von Debian:
Code: Alles auswählen
# journalctl | grep i915
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: [drm] Disabling framebuffer compression (FBC) to prevent screen flicker with VT-d enabled
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: firmware: direct-loading firmware i915/bxt_dmc_ver1_07.bin
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/bxt_dmc_ver1_07.bin (v1.7)
Apr 11 00:53:41 suteki-omv kernel: [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
Apr 11 00:53:41 suteki-omv kernel: fbcon: i915drmfb (fb0) is primary device
Apr 11 00:53:41 suteki-omv kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Code: Alles auswählen
# vainfo
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
Hat jemand eine Idee, wo ich noch nach logs gucken könnte?
Wie könnte ich die Treiber in Debian updaten? Könnte ich einfach die Treiberfiles aus Ubuntu in den entsprechenden Pfad in Debian ziehen? Wenn ja, was wären die Pfade?