myxi
November 29, 2023, 7:49am
1
Ever since I have moved on from Ubuntu to other distributions, the GPU of my APU of my laptop has pretty much been useless. The following is the output of vainfo
from a live USB Xubuntu 22.04 session:
vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Mesa Gallium driver 23.0.4-0ubuntu1~22.04.1 for KABINI (, LLVM 15.0.7, DRM 2.50, 6.2.0-26-generic)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileNone : VAEntrypointVideoProc
And the following is the output of vainfo
from openSUSE Tumbleweed :
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1 for KABINI (, LLVM 17.0.5, DRM 2.50, 6.6.2-1-default)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
And, optionally, here’s the output from my Arch Linux before I switched to openSUSE Tumbleweed three days ago:
Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1-arch1.1 for KABINI (, LLVM 16.0.6, DRM 2.50, 6.5.5-arch1-1)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
You’d see that only Ubuntu managed support some decoding (which does work, because I managed to record my screen using OBS at 60 FPS without any significant CPU usage). I don’t get what’s causing these rolling release distributions to not support my GPU’s capabilities to its fullest. I frequently need to record my screen but I just cannot because my GPU is now useless. Could somebody send some help? I am tired of this now. I thought the issue was with Arch Linux, but I guess it’s with any rolling release distribution.
Svyatko
November 29, 2023, 10:31am
2
Mesa 3D had dropped support in libva for proprietary codecs.
Install needed packages from Packman: Mesa-libva, libvdpau_radeonsi.
Check what you get with vainfo and vdpauinfo.
You need encoding, not just decoding.
Unified Video Decoder (UVD, previously called Universal Video Decoder) is the name given to AMD's dedicated video decoding ASIC. There are multiple versions implementing a multitude of video codecs, such as H.264 and VC-1.
UVD was introduced with the Radeon HD 2000 Series and is integrated into some of AMD's GPUs and APUs. UVD occupies a considerable amount of the die surface at the time of its introduction and is not to be confused with AMD's Video Coding Engine (VCE).
As of AMD Raven Ridge (r...
myxi
November 29, 2023, 10:51am
3
I added the repo https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials/
and installed the packages. I did see an improvement:
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1 for KABINI (, LLVM 17.0.5, DRM 2.50, 6.6.2-1-default)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
display: :0 screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0
Video surface:
name width height types
-------------------------------------------
420 16384 16384 NV12 YV12
422 16384 16384 UYVY YUYV
444 16384 16384 Y8U8V8A8 V8U8Y8A8
420_16 16384 16384
422_16 16384 16384
444_16 16384 16384
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 --- not supported ---
MPEG2_SIMPLE 3 0 0 0
MPEG2_MAIN 3 0 0 0
H264_BASELINE 41 0 0 0
H264_MAIN 41 0 0 0
H264_HIGH 41 0 0 0
VC1_SIMPLE 1 0 0 0
VC1_MAIN 2 0 0 0
VC1_ADVANCED 4 0 0 0
MPEG4_PART2_SP 3 0 0 0
MPEG4_PART2_ASP 5 0 0 0
DIVX4_QMOBILE --- not supported ---
DIVX4_MOBILE --- not supported ---
DIVX4_HOME_THEATER --- not supported ---
DIVX4_HD_1080P --- not supported ---
DIVX5_QMOBILE --- not supported ---
DIVX5_MOBILE --- not supported ---
DIVX5_HOME_THEATER --- not supported ---
DIVX5_HD_1080P --- not supported ---
H264_CONSTRAINED_BASELINE 0 0 0 0
H264_EXTENDED --- not supported ---
H264_PROGRESSIVE_HIGH --- not supported ---
H264_CONSTRAINED_HIGH --- not supported ---
H264_HIGH_444_PREDICTIVE --- not supported ---
VP9_PROFILE_0 --- not supported ---
VP9_PROFILE_1 --- not supported ---
VP9_PROFILE_2 --- not supported ---
VP9_PROFILE_3 --- not supported ---
HEVC_MAIN --- not supported ---
HEVC_MAIN_10 --- not supported ---
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 --- not supported ---
HEVC_MAIN_444 --- not supported ---
HEVC_MAIN_444_10 --- not supported ---
HEVC_MAIN_444_12 --- not supported ---
AV1_MAIN --- not supported ---
AV1_HIGH --- not supported ---
AV1_PROFESSIONAL --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 P010 P016 I8A8
R8G8B8A8 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 P010 P016 I8A8
R10G10B10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 P010 P016 I8A8
B10G10R10A2 16384 16384 y NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 P010 P016 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 16384 16384
R8G8B8A8 16384 16384
R10G10B10A2 16384 16384
B10G10R10A2 16384 16384
A8 16384 16384
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL -
INVERSE_TELECINE -
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -
parameter name sup min max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH y 48 2048
VIDEO_SURFACE_HEIGHT y 48 1152
CHROMA_TYPE y
LAYERS y 0 4
attribute name sup min max
-----------------------------------------------------
BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y
Now it is pretty much just like how Arch Linux vainfo
looked. Though no decoders. I am not sure what to do about that.
Svyatko
November 29, 2023, 10:57am
4
myxi:
Though no decoders.
Include command in output.
You see decoders, you don’t see encoders.
Try to use amdgpu driver.
You’re using Wayland? Try to use X11.
myxi
November 29, 2023, 11:31am
5
Include command in output.
vainfo 2. vdpauinfo
You see decoders, you don’t see encoders.
Okay.
You’re using Wayland? Try to use X11.
No. And the output of vainfo
is same on Plasma Wayland. But vdpauinfo
errors:
myxi :: ~ » DRI_PRIME=1 vdpauinfo
display: :1 screen: 0
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1
Try to use amdgpu driver.
That did it. Thanks.
myxi :: ~ » vainfo 130 ↵
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1 for AMD Radeon R4 Graphics (kabini, LLVM 17.0.5, DRM 3.54, 6.6.2-1-default)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileNone : VAEntrypointVideoProc
Svyatko
November 29, 2023, 11:34am
6
myxi:
That did it. Thanks.
Please describe what you have achieved and how you’ve got it.
You have dual graphics?
myxi
November 29, 2023, 11:45am
7
You have dual graphics?
I do not have two GPUs if that’s what you’re asking.
What I achieved is my goal, which was to get vainfo
output just like its output in Ubuntu 22.04. The needed packages to enable amdgpu drivers were already installed on my system:
myxi :: ~ » lspci -k | grep -A 3 -E "(VGA|3D)"
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mullins [Radeon R4/R5 Graphics] (rev 40)
Subsystem: Hewlett-Packard Company Device 81e5
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu
I just had to switch the currently used driver from radeon
to amdgpu
by re-configuring my bootloader with new kernel parameters. See how here .
Svyatko
November 29, 2023, 12:23pm
8
ILL as error in Packman config files.
With amdgpu driver you can get OpenGL 4.6 and Vulkan 1.0 after installing Vulkan drivers.
Check what you have after installing inxi utility with command
inxi -aCGz