Question: Issue with vainfo on multiple GPU systems on Linux
- 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
Assessment
This issue has not been assessed yet.