
У меня старый ноутбук Atom (идентификатор устройства VGA22Б1), который я хотел бы использовать в качестве видеоплеера. Я смутно помню, что раньше у меня было ускоренное видео с Debian Stretch много лет назад, но я могу ошибаться. На ноутбуке сейчас установлен Debian Buster с i915.ko
загруженным драйвером, а VA-API отказывается работать:
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
Я понимаю, что i915_drv_video.so
это не предусмотрено ни одним пакетом Debian Buster. Я пробовал использовать i965_drv_video.so
и iHD_drv_video.so
, но vainfo
сообщается "init failed", что неудивительно, учитывая, что у меня i915.
Интересно, какие у меня есть варианты. Стоит ли попробовать обновиться до Bullseye? Или понизить до Stretch? Насколько я могу судить, i915_drv_video.so
ни один из них не предоставляет.
Вот активная конфигурация драйвера i915
:
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"
решение1
Похоже, что VAAPI поддерживается только наIntel® GMA X4500HD и вышев то время как вашIntel GMA900может поддерживать только предыдущее воплощение, известное какКомпенсация движения X-Video(XvMC).
Также похоже, что любое доступное ускорение видео ограничено MPEG-2. Хотя вы сможете воспроизводить DVD, у вас не будет аппаратного ускорения для Blue Ray и современного веб-видео. ИзIntel GMA900Информация из Википедии:
Как и предыдущие интегрированные графические решения Intel, GMA 900 имеет аппаратную поддержку компенсации движения MPEG-2, преобразования цветового пространства и наложения DirectDraw.
Arch Linux имеет некоторую информацию о XvMC, но я могу найти тольконеопределенные сообщения на форуме о Debian.
решение2
На самом деле у вас нет i915 — это всего лишь название драйвера ядра; тот же гигантский i915.ko
драйвер управляет всеми графическими процессорами Intel, когда-либо выпущенными за последние ~17 лет или около того, хотяниктоиз них, за исключением оригинальной серии Intel GMA 9xx (которая была за несколько поколений до вашей HD Graphics), на самом деле назывались «i915».
Однако наименование толькопохожий,но они не идентичны между драйвером ядра и различными типами драйверов пользовательского пространства, поэтому совершенно нормально, что вы видите i915.ko на стороне ядра, но i965.so в VAAPI.
Например, проект Mesa имеет отдельные драйверы DRI i915_dri.so
и i965_dri.so
(а также crocus_dri
и iris_dri
) для разных поколений графических процессоров Intel – все четыре из них, как ожидается, будут взаимодействовать с i915.ko на стороне ядра.
То же самое касается VA-API; i965_drv_video.so
драйвер VA-APIявляетсяправильный для большинства старых графических процессоров Intel, тогда как iHD_drv_video.so
— для Skylake и более поздних версий, но все они по-прежнему будут использовать драйвер ядра i915.ko.
(Насколько я могу судить, i915_drv_video.so нет, потому чтодействительныйГрафические процессоры «i915» вообще не имели ускоренного декодирования видео.)