VA-API auf i915-Hardware in Debian

VA-API auf i915-Hardware in Debian

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.kogeladenem 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.soin keinem Debian-Buster-Paket enthalten ist. Ich habe versucht, i965_drv_video.sound zu verwenden iHD_drv_video.so, aber es vainfowird „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.sowird dies von keinem dieser Programme bereitgestellt.

Hier ist die aktive Konfiguration des i915Treibers:

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.koTreiber 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.sound i965_dri.so(sowie crocus_driund 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.soVA-API-TreiberIstdie richtige für die meisten älteren Intel-GPUs, während iHD_drv_video.sodies 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.)

verwandte Informationen