VAAPI e più schede video

4

Recentemente ho ricevuto un nuovo Inspiron 5548 (effettivamente, di seconda mano, ma nuovo) con un Intel Core i7-5500U che ha anche una scheda AMD Radeon R7 M260 / M265.

Tutto funziona bene con la mia Ubuntu 17.04 (pre-release), ma ho un "problema" che era presente anche da quando ho installato Ubuntu 16.10, ovvero:

vainfo mostra solo le informazioni relative alla mia scheda grafica Intel, ma non riguarda la mia altra carta. Credo di aver installato tutti i pacchetti e di aver installato i seguenti driver vaapi:

$ ll /usr/lib/x86_64-linux-gnu/dri/*_drv_video.so
-rw-r--r-- 1 root root 2113216 Nov 10 17:34 /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
-rw-r--r-- 3 root root 4416200 Feb  6 05:47 /usr/lib/x86_64-linux-gnu/dri/nouveau_drv_video.so
lrwxrwxrwx 1 root root      18 May 11  2016 /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so -> vdpau_drv_video.so
-rw-r--r-- 3 root root 4416200 Feb  6 05:47 /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
-rw-r--r-- 3 root root 4416200 Feb  6 05:47 /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
lrwxrwxrwx 1 root root      18 May 11  2016 /usr/lib/x86_64-linux-gnu/dri/s3g_drv_video.so -> vdpau_drv_video.so
-rw-r--r-- 1 root root   97224 May 11  2016 /usr/lib/x86_64-linux-gnu/dri/vdpau_drv_video.so

Ecco l'output di vainfo , che preleva la mia scheda integrata Intel:

$ vainfo 
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 1.7.3
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointVLD

Quando richiedo l'output usando altri driver, questo è ciò che ottengo:

$ LIBVA_DRIVER_NAME=radeonsi vainfo 
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_39
ilo: driver missing
ilo: driver missing
libva error: /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit

Alcuni contesti relativi all'hardware e al software

L'output di inxi è il seguente:

# inxi -v2
System:    Host: inspiron-5548 Kernel: 4.10.0-9-generic x86_64 (64 bit) Desktop: MATE 1.17.2
           Distro: Ubuntu Zesty Zapus (development branch)
Machine:   Device: portable System: Dell product: Inspiron 5548 v: A07 serial: 6B7H542
           Mobo: Dell model: 0YDTG3 v: A00 serial: .6B7H542.BR1183055L0209. UEFI: Dell v: A07 date: 06/23/2016
Battery    BAT1: charge: 37.3 Wh 100.0% condition: 37.3/38.4 Wh (97%)
CPU:       Dual core Intel Core i7-5500U (-HT-MCP-) speed/max: 799/3000 MHz
Graphics:  Card-1: Intel HD Graphics 5500
           Card-2: Advanced Micro Devices [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445]
           Display Server: X.org 1.18.4 drivers: modesetting,ati,amdgpu (unloaded: fbdev,vesa,radeon)
           tty size: 190x49 Advanced Data: N/A for root
Network:   Card-1: Realtek RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller driver: r8169
           Card-2: Intel Wireless 7265 driver: iwlwifi
Drives:    HDD Total Size: 1000.2GB (16.4% used)
           ID-1: model: ST1000LM014
Info:      Processes: 232 Uptime: 7 days Memory: 2374.9/15960.3MB Client: Shell (bash) inxi: 2.3.8

Anche dopo aver fatto ricerche su Google, non sono riuscito a trovare le informazioni VAAPI del lato AMD del mio sistema e mi piacerebbe scoprire come scoprirlo (specialmente per la transcodifica di cose con ffmpeg).

Informazioni aggiuntive

Dopo l'utile suggerimento di @ Brainiarc7, l'utilizzo dell'impostazione variabile DRI_PRIME=1 rende l'output considerevolmente mutevole:

$ DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi vainfo
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.3)
vainfo: Driver version: mesa gallium vaapi
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc

L'hardware è in uso anche se il driver è mesa gallium vaapi o è un decodificatore / segnaposto software? Questo è un progresso, comunque. Trovo sorprendente che ci siano solo alcuni profili / punti di ingresso supportati (ma forse è il driver che non espone se, in effetti, viene utilizzato l'hardware).

Fornirò volentieri ogni ulteriore informazione ritenuta necessaria.

    
posta rbrito 14.03.2017 - 00:28

1 risposta

1

Per la GPU AMD, dovresti richiamare vainfo come mostrato di seguito:

DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi vainfo 

Adesso stampa l'output e vedi se qualcosa cambia.

    
risposta data 林正浩 12.06.2017 - 22:26

Leggi altre domande sui tag