I have an old Atom laptop (VGA device ID 22B1) which I would like to use as a video player. I vaguely remember I used to have accelerated video on in with Debian Stretch, many years ago, but I may be mistaken. The laptop currently has Debian Buster installed, with i915.ko driver loaded, and VA-API refuses to work:
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),exitI understand that i915_drv_video.so is not provided by any Debian Buster package. I tried using i965_drv_video.so and iHD_drv_video.so, but vainfo reports "init failed", which is not surprising considering that I have i915.
I wonder what my options are. Is it worth a shot to upgrade to Bullseye? Or to downgrade to Stretch? As far as I can tell, i915_drv_video.so is not provided by any of these either.
Here's the active configuration of the i915 driver:
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" 2 Answers
It appears that VAAPI is only supported on Intel® GMA X4500HD and above while your Intel GMA900 may only support the previous incarnation known as X-Video Motion Compensation (XvMC).
It also sounds like whatever video acceleration available is limited to MPEG-2. While you will be able to play DVDs you will not have hardware acceleration for Blue rays and modern web video. From the Intel GMA900 Wikipedia information:
Like previous Intel integrated graphics parts, the GMA 900 has hardware support for MPEG-2 motion compensation, color-space conversion and DirectDraw overlay.
Arch Linux has some information on XvMC, but I can only find vague forum posts about Debian.
2You don't actually have an i915 – that's only the name of the kernel driver; the same giant i915.ko driver handles all Intel GPUs ever made in the past ~17 years or so, even though none of them except for the original Intel GMA 9xx series (which was several generations before your HD Graphics) have actually been called "i915".
However, the naming is only similar, but not identical between the kernel driver and the various types of userspace drivers, so it's completely normal that you see i915.ko on the kernel side but i965.so in VAAPI.
For example, the Mesa project has separate DRI drivers i915_dri.so and i965_dri.so (as well as crocus_dri and iris_dri) for different generations of Intel GPUs – all four of those expect to talk to i915.ko on the kernel side.
Same goes for VA-API; the i965_drv_video.so VA-API driver is the correct one for most older Intel GPUs, while iHD_drv_video.so is for Skylake and later, but all of them would still use the i915.ko kernel driver.
(As far as I can tell, there is no i915_drv_video.so because actual "i915" GPUs didn't have accelerated video decoding at all.)
2