无法让 nouveau 与 VA_API 配合使用以实现 Firefox 上的视频加速?只能让 CPU 驱动程序与 Firefox 配合使用

无法让 nouveau 与 VA_API 配合使用以实现 Firefox 上的视频加速?只能让 CPU 驱动程序与 Firefox 配合使用

编辑2:抱歉,正在运行 Ubuntu20.04.3 LTS 和 HWE 堆栈。我在使用 GA Stack 时遇到了同样的错误。

_

我一直在尝试让 nouveau 工作,以便我可以使用我的 Nvidia P500 而不是 CPU 进行硬件加速。

这是我收到的错误:

(base) wallheck@wallheck:~$ export LIBVA_DRIVER_NAME=nouveau
(base) wallheck@wallheck:~$ vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'nouveau'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_7
iris: driver missing
iris: driver missing
libva error: /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit

我安装了 nouveau

sudo apt install nouveau-firmware
sudo apt install xserver-xorg-video-nouveau

并且两者都表明它已经是最新版本。

我可以按照本指南使视频加速与 CPU 配合使用:https://ubuntuhandbook.org/index.php/2021/08/enable-hardware-video-acceleration-va-api-for-firefox-in-ubuntu-20-04-18-04-higher/。使用 i965 驱动程序时,我在使用时会在视频行下看到活动sudo intel_gpu_top

但是,当我使用时nvtop,我的 GPU 无法获得任何活动。

这是集成显卡和 GPU 的内核驱动程序:

(base) wallheck@wallheck:~$ lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
    Subsystem: Lenovo UHD Graphics 620
    Kernel driver in use: i915
    Kernel modules: i915
--
02:00.0 3D controller: NVIDIA Corporation GP108GLM [Quadro P500 Mobile] (rev a1)
    Subsystem: Lenovo GP108GLM [Quadro P500 Mobile]
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

我认为我不需要将内核驱动程序更改为 nouveau,因为英特尔驱动程序可以与指定的 i965 和正在使用的 i915 内核一起工作。

不太确定接下来该做什么。

答案1

好吧,下面的可能不是原帖作者想要的解决方案。但我想从稍微不同的角度来看待整个事情。

首先,到目前为止我知道 VA-API 支持(仍然)尚未完全成熟nouveau驱动程序中。只有 VDPAU 可作为可靠的解决方案,但该解决方案不能在 Firefox(和 Wayland)中使用。

但是,为什么视频解码必须通过 Nvidia GPU 来处理,而 Intel iGPU 则包括英特尔快速同步视频功能是否存在?我认为这应该是可行的方法。在我的例子中,DRI_PRIME=0 firefoxfirefox 会在 启动GPU 0,而DRI_PRIME=1 firefox则会在 启动GPU 1

问题是,这个原则不适用于经典i965驱动程序,它只适用于“正常”镓3D基于驱动程序。这里将有一个新crocus驱动程序选项,它肯定与 nouveau 兼容(它本身基于 Gallium)。不幸的是,crocus目前缺乏任何 VA-API 支持,应该在接下来的几个月内添加。请注意,可以通过奥伊巴夫 PPA

sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update

最后,如果有人试图使用英特尔快速同步视频通过i965驱动程序启用此功能失败了,我只看到最后一个解决方法。必须在联想固件中暂时禁用 NVIDIA GPU。这将有效地禁用驱动nouveau程序,一切都将恢复到i965经典驱动程序。我知道这很糟糕,但这将允许通过 VA-API 视频解码英特尔快速同步视频在 Firefox 中。crocus完成后,GPU 和其功能之间的切换应该不再是问题。;-)

相关内容