Saya telah berjuang untuk menyelesaikan masalah ini dengan VLC yang tidak menggunakan decoding perangkat keras 1030 saya dengan VLC menggunakan VDPAU. Semoga seseorang di sini dapat membantu saya memecahkan masalah ini. Masalah yang sama untuk H264 dan H265. VLC kembali ke rendering CPU dengan baik, tetapi saya perlu mencari tahu mengapa itu tidak dapat memuat decoding perangkat keras VDPAU untuk Nvidia GT 1030 saya.
Sedikit info untuk memulai…
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
4.15.0-39-generic
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.77 Driver Version: 390.77 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GT 1030 Off | 00000000:01:00.0 On | N/A |
| 35% 28C P8 N/A / 30W | 116MiB / 1996MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 943 G /usr/lib/xorg/Xorg 62MiB |
| 0 1090 G /usr/bin/gnome-shell 52MiB |
+-----------------------------------------------------------------------------+
Information string: NVIDIA VDPAU Driver Shared Library 390.77 Tue Jul 10 22:09:49 PDT 2018
MPEG1 0 65536 4096 4096
MPEG2_SIMPLE 3 65536 4096 4096
MPEG2_MAIN 3 65536 4096 4096
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
/usr/lib/i386-linux-gnu/vdpau/libvdpau_nvidia.so
/usr/lib/i386-linux-gnu/vdpau/libvdpau_nvidia.so.1
/usr/lib/i386-linux-gnu/vdpau/libvdpau_nvidia.so.390.77
/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so
/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.1
/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.390.77
VLC media player 3.0.4 Vetinari (revision 3.0.4-0-gf615db6)
[000000000210d3b0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Qt: Session management error: None of the authentication protocols specified are supported
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[00007f6c48c06a30] main decoder error: buffer deadlock prevented
Sunting: Pertanyaannya adalah agar decoding perangkat keras VDPAU berfungsi, bukan VA-API. Either way, bahkan setelah mengikuti instruksi untuk VA-API, masih tidak bisa mendapatkan decoding perangkat keras berfungsi dengan baik, apakah VLC diatur untuk menggunakan VA-API atau VDPAU. Kesalahan dapat ditemukan di komentar OP.
Log kesalahan:
VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG4Simple : VAEntrypointVLD VAProfileMPEG4AdvancedSimple : VAEntrypointVLD <unknown profile> : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD
Qt: Session management error: None of the authentication protocols specified are supported libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007f55080a34c0] vaapi_drm generic error: vaInitialize: unknown libva error libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[00007fae100a37a0] vaapi_drm generic error: vaInitialize: unknown libva error Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory [00007fae1cc0c400] main decoder error: buffer deadlock prevented QObject::~QObject: Timers cannot be stopped from another thread
Jawaban yang Diterima:
Masalah dalam kasus ini adalah dengan pemasangan cepat pemutar VLC.
Terkait:Bisakah Raspberry Pi Menjalankan Ubuntu di Ubuntu?Menghapus pemasangan snap dengan:
sudo snap remove vlc
Menindaklanjutinya dengan:
sudo apt-get remove --purge *vlc*
Instal VLC dengan apt:
sudo apt-get install vlc
Untuk masalah lain yang saya alami dengan rendering openGL dari output video, saya menghapus/membersihkan driver 390.77 dan menambahkan ppa:graphics-driver
dan menginstal 415.18.
Contoh riwayat log yang baik setelah diperbaiki:
VLC media player 3.0.4 Vetinari (revision 3.0.4-0-gf615db6332)[000055963f262570] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. [00007fb868c09430] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 415.18 Thu Nov 15 21:34:27 CST 2018 for hardware decoding
[00007fb868cc1d60] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 415.18 Thu Nov 15 21:34:27 CST 2018 for hardware decoding