intel / intel/libva-utils

Question: Issue with vainfo on multiple GPU systems on Linux

Open
#120 6 comments 5 reactions 0 assignees View on GitHub
Dominant language
C
Stars
241
Forks
172
PR merge metrics
No merged PRs in 30d

Description

Hello there,

On a dual GPU system where the following conditions are met:

1. A discrete and an integrated GPU co-exist on the system, and are both enabled, and

2. Both DRI devices are present, under `/dev/dri/renderD128` and `/dev/dri/renderD129`

3. The primary renderer is set up as the discrete GPU, such that running:

`glxinfo | grep render `

Returns the identifier for the discrete GPU.

Running `vainfo`, with a preferred driver of choice set up in /etc/environment under the variables:

```
LIBVA_DRIVER_NAME=i965
LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri

```
Where both libva and the vaapi drivers have been built and prefixed to /usr will definitely return a libva initialization error, as shown in the example below:

```
vainfo
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

```
Yet a tool such as FFmpeg will correctly initialize and encode via VAAPI if the proper render node (`/dev/dri/renderD128`, in my case) is passed.

Is there a way to bind vainfo to a specific render node, through an environment variable or a launch argument such that tools relying on VAAPI can return the correctly initialized device state, as FFmpeg does?

Regards,

Brainiarc7

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.