
Ich habe einen alten Atom-Laptop (VGA-Geräte-ID22B1), das ich als Videoplayer verwenden möchte. Ich erinnere mich vage, dass ich vor vielen Jahren mit Debian Stretch beschleunigtes Video darauf hatte, aber vielleicht irre ich mich. Auf dem Laptop ist derzeit Debian Buster mit i915.ko
geladenem Treiber installiert, und VA-API funktioniert nicht:
user@machine:~/.config$ vainfo
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
vaInitialize failed with error code -1 (unknown libva error),exit
user@machine:~/.config$ LIBVADRIVERNAME=i915 vainfo
libva info: VA-API version 1.4.0
libva info: va_getDriverName() returns -1
libva info: User requested driver 'i915'
libva info: Trying to open /usr/lib/i386-linux-gnu/dri/i915_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
Ich verstehe, dass dies i915_drv_video.so
in keinem Debian-Buster-Paket enthalten ist. Ich habe versucht, i965_drv_video.so
und zu verwenden iHD_drv_video.so
, aber es vainfo
wird „Init fehlgeschlagen“ gemeldet, was nicht überraschend ist, wenn man bedenkt, dass ich i915 habe.
Ich frage mich, welche Möglichkeiten ich habe. Lohnt sich ein Upgrade auf Bullseye? Oder ein Downgrade auf Stretch? Soweit ich weiß, i915_drv_video.so
wird dies von keinem dieser Programme bereitgestellt.
Hier ist die aktive Konfiguration des i915
Treibers:
user@machine:~/.config$ sudo systool -m i915 -av
Module = "i915"
Attributes:
coresize = "1331200"
initsize = "0"
initstate = "live"
refcnt = "3"
taint = ""
uevent = <store method only>
Parameters:
alpha_support = "N"
disable_display = "N"
disable_power_well = "1"
dmc_firmware_path = "(null)"
edp_vswing = "0"
enable_dc = "-1"
enable_dp_mst = "Y"
enable_dpcd_backlight= "N"
enable_fbc = "0"
enable_guc = "0"
enable_gvt = "N"
enable_hangcheck = "Y"
enable_ips = "1"
enable_ppgtt = "2"
enable_psr = "-1"
error_capture = "Y"
fastboot = "N"
force_reset_modeset_test= "N"
guc_firmware_path = "(null)"
guc_log_level = "0"
huc_firmware_path = "(null)"
invert_brightness = "0"
load_detect_test = "N"
lvds_channel_mode = "0"
mmio_debug = "0"
modeset = "-1"
nuclear_pageflip = "N"
panel_use_ssc = "-1"
prefault_disable = "N"
reset = "2"
vbt_firmware = "(null)"
vbt_sdvo_panel_type = "-1"
verbose_state_checks= "Y"
Antwort1
VAAPI wird anscheinend nur unterstützt aufIntel® GMA X4500HD und höherwährend IhrIntel GMA900unterstützt möglicherweise nur die vorherige Inkarnation, bekannt alsX-Video-Bewegungskompensation(XvMC).
Es klingt auch so, als ob die verfügbare Videobeschleunigung auf MPEG-2 beschränkt ist. Sie können zwar DVDs abspielen, aber für Blu-rays und moderne Webvideos gibt es keine Hardwarebeschleunigung. Von derIntel GMA900Wikipedia-Informationen:
Wie frühere integrierte Grafikteile von Intel verfügt der GMA 900 über Hardwareunterstützung für MPEG-2-Bewegungskompensation, Farbraumkonvertierung und DirectDraw-Overlay.
Arch Linux hat einige Informationen zu XvMC, aber ich finde nurvage Forumsbeiträge über Debian.
Antwort2
Sie haben eigentlich keinen i915 – das ist nur der Name des Kernel-Treibers; derselbe riesige i915.ko
Treiber steuert alle Intel-GPUs, die in den letzten ~17 Jahren oder so hergestellt wurden, obwohlkeinervon ihnen, mit Ausnahme der ursprünglichen Intel GMA 9xx-Serie (die mehrere Generationen vor Ihrer HD Graphics existierte), wurden tatsächlich „i915“ genannt.
Die Benennung ist jedoch nurähnlich,aber nicht identisch zwischen dem Kernel-Treiber und den verschiedenen Arten von Userspace-Treibern, daher ist es völlig normal, dass Sie auf der Kernel-Seite i915.ko, aber in VAAPI i965.so sehen.
Beispielsweise verfügt das Mesa-Projekt über separate DRI-Treiber i915_dri.so
und i965_dri.so
(sowie crocus_dri
und iris_dri
) für verschiedene Generationen von Intel-GPUs – alle vier davon erwarten eine Kommunikation mit i915.ko auf der Kernel-Seite.
Das Gleiche gilt für VA-API; der i965_drv_video.so
VA-API-TreiberIstdie richtige für die meisten älteren Intel-GPUs, während iHD_drv_video.so
dies für Skylake und höher gilt, aber alle würden weiterhin den Kerneltreiber i915.ko verwenden.
(Soweit ich weiß, gibt es kein i915_drv_video.so, weiltatsächlich„i915“-GPUs verfügten überhaupt nicht über eine beschleunigte Videodekodierung.)