目前我的设备未启用dGPU,我一般使用PRIME调用NVIDIA独显。
按照Wiki内容,我在安装好了nvidia-open-dkms后,应该是不用在做啥额外的配置就能够使用NVENC的硬件编码的功能了,事实上也确实出现了/dev/nvidia-uvm和/dev/nvidia-uvm-tools,但是这两个文件内无法通过文本编辑器查看到什么内容,使用run0 cat /dev/nvidia-uvm也会提示Invalid argument。
输入了vulkaninfo命令会有如文件内所示的返回:vulkaninfo.txt (198.4 KB)
在验证vdpau时,发现无论是prime-run vdpauinfo还是vdpauinfo,都返回如下内容:
display: :0 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 590.48.01 Mon Dec 8 12:48:48 UTC 2025
Video surface:
name width height types
-------------------------------------------
420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
444 8192 8192 NV24 YV24
420_16 8192 8192 P010 P016
422_16 8192 8192 UYVY YUYV
444_16 8192 8192 Y_U_V_444_16
Decoder capabilities:
name level macbs width height
----------------------------------------------------
MPEG1 0 65536 4096 4096
MPEG2_SIMPLE 3 65536 4096 4096
MPEG2_MAIN 3 65536 4096 4096
H264_BASELINE 51 65536 4096 4096
H264_MAIN 51 65536 4096 4096
H264_HIGH 51 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE 51 65536 4096 4096
H264_EXTENDED 51 65536 4096 4096
H264_PROGRESSIVE_HIGH 51 65536 4096 4096
H264_CONSTRAINED_HIGH 51 65536 4096 4096
H264_HIGH_444_PREDICTIVE 51 65536 4096 4096
VP9_PROFILE_0 1 262144 8192 8192
VP9_PROFILE_1 --- not supported ---
VP9_PROFILE_2 1 262144 8192 8192
VP9_PROFILE_3 --- not supported ---
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 153 262144 8192 8192
HEVC_MAIN_STILL --- not supported ---
HEVC_MAIN_12 153 262144 8192 8192
HEVC_MAIN_444 153 262144 8192 8192
HEVC_MAIN_444_10 153 262144 8192 8192
HEVC_MAIN_444_12 153 262144 8192 8192
AV1_MAIN 16 262144 8192 8192
AV1_HIGH --- not supported ---
AV1_PROFESSIONAL --- not supported ---
Output surface:
name width height nat types
----------------------------------------------------
B8G8R8A8 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
Bitmap surface:
name width height
------------------------------
B8G8R8A8 32768 32768
R8G8B8A8 32768 32768
R10G10B10A2 32768 32768
B10G10R10A2 32768 32768
A8 32768 32768
Video mixer:
feature name sup
------------------------------------
DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
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 1 8192
VIDEO_SURFACE_HEIGHT y 1 8192
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
在大模型的指示下我使用gst-inspect-1.0获得了文件内所示内容:gst-inspect-1.0.txt (29.1 KB)
我认为我的N卡应当是支持AV1硬件编码的。于是我在Kitty中输入prime-run gpu-screen-recorder -w portal -k av1 -q high -o ~/Videos/gsr/1.mkv以试图使用NVIDIA显卡录制AV1格式的视频,但却有这样的返回结果:
gsr warning: selected video codec av1 is not supported, trying h264 instead
而且在使用prime-run firefox后查看about:support,也会发现所有软件、硬件编码以及软件解码都是不支持的,只支持硬件解码其列出的所有视频格式:
想问下这种情况该咋解决?
另外,附上我的fastfetch:
OS: Arch Linux x86_64
Host: RS
Kernel: Linux 6.18.13-zen1-1-zen
Uptime: 49 mins
Packages: 1282 (pacman), 6 (flatpak)
Shell: zsh 5.9
Display (NE160QDM-NZC): 2560x1600 @ 2x in 16", 240 Hz [Built-in]
WM: niri 25.11 (Wayland)
Theme: Breeze [Qt]
Icons: Papirus-Dark [Qt]
Font: Sarasa Gothic SC (12pt) [Qt]
Cursor: default (24px)
Terminal: kitty 0.45.0
CPU: AMD Ryzen 9 7945HX (32) @ 5.46 GHz
GPU 1: NVIDIA GeForce RTX 5070 Ti Mobile [Discrete]
GPU 2: AMD Radeon 610M [Integrated]
Memory: 4.61 GiB / 14.83 GiB (31%)
没有开启dGPU,是AMD核显+NVIDIA独显混合输出。
经过大家的指点,才发现我其实已经启用了硬件编解码了,只是FireFox默认不支持VDPAU, 而GSC则似乎是因为我是混合输出所以注定不行。prime-run的影响范围只有GLX和Vulkan。
