-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DRM device recognition error on dual GPU devices #311
Comments
I am noticing a similar issue, but I only have one GPU in my system.
with NVD_LOG=1
with vainfo --display drm --device /dev/dri/renderD128
|
I have this issue too: ❯ NVD_LOG=1 LIBVA_DRIVER_NAME=nvidia NVD_BACKEND=direct vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
957.721601938 [19427-19427] ../src/vabackend.c:2188 __vaDriverInit_1_0 Initialising NVIDIA VA-API Driver: 40
957.721607989 [19427-19427] ../src/vabackend.c:2197 __vaDriverInit_1_0 Now have 0 (0 max) instances
957.721610895 [19427-19427] ../src/vabackend.c:2223 __vaDriverInit_1_0 Selecting Direct backend
957.732369563 [19427-19427] ../src/backend-common.c: 31 isNvidiaDrmFd Invalid driver for DRM device: amdgpu
957.732378340 [19427-19427] ../src/vabackend.c:2248 __vaDriverInit_1_0 Exporter failed
libva error: /run/opengl-driver/lib/dri/nvidia_drv_video.so init failed
libva info: va_openDriver() returns 1
vaInitialize failed with error code 1 (operation failed),exit
Fixed when: Trying display: drm
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'nvidia'
libva info: Trying to open /run/opengl-driver/lib/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
4232.998322754 [42848-42848] ../src/vabackend.c:2188 __vaDriverInit_1_0 Initialising NVIDIA VA-API Driver: 31
4232.998327463 [42848-42848] ../src/vabackend.c:2197 __vaDriverInit_1_0 Now have 0 (0 max) instances
4232.998330238 [42848-42848] ../src/vabackend.c:2223 __vaDriverInit_1_0 Selecting Direct backend
4233.005616676 [42848-42848] ../src/direct/nv-driver.c: 267 init_nvdriver Initing nvdriver...
4233.005647463 [42848-42848] ../src/direct/nv-driver.c: 285 init_nvdriver NVIDIA kernel driver version: 555.58.02, major version: 555, minor version: 58
4233.005651551 [42848-42848] ../src/direct/nv-driver.c: 292 init_nvdriver Got dev info: 100 1 2 6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_12 : VAEntrypointVLD
4233.247716911 [42848-42848] ../src/vabackend.c:2098 nvTerminate Terminating 0x84a8e0
4233.248419924 [42848-42848] ../src/vabackend.c:2112 nvTerminate Now have 0 (0 max) instances |
Unfortunately multiple GPUs can pose a problem. Firefox seems to only want to run on the default device, and if that device isn't the NVIDIA one, then even if you set the correct NVD_GPU settings, Firefox won't be able to import the frames that the driver exports. |
I actually got it to work. It was very hard, but I did it: __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia VDPAU_DRIVER=nvidia LIBVA_DRIVER_NAME=nvidia VAAPI_DEVICE=/dev/dri/by-path/pci-0000:01:00.0-render MOZ_DISABLE_RDD_SANDBOX=1 NVD_BACKEND=direct floorp I use |
It's working for me, too.
|
It doesn't work for me, sadly, it still tries to use my other DRM device:
|
Here's the thing, |
Thank you all for your efforts! My laptop consists of AMD integrated graphics and NVIDIA discrete graphics, and I need NVIDIA's dGPU to hard decode for my firefox, so I'm trying to use
vainfo
to check that the vaapi is working, and I think I'm running into a problem.Here are the details:
nvidia-smi
vainfo
NVD_LOG=1
to executevainfo
to view the informationI'm not quite sure the reason for this, it seems amd's iGpu is recognised as a DRM device. It's a bit mind boggling.
vainfo
for the specified DRM devicevainfo --display drm --device /dev/dri/renderD128
Obviously, it worked. Now the big question becomes how to set the DRM device to
/dev/dri/renderD128
.This seems like a strange issue, it seems that
/dev/dri/renderD128
can be set as the default DRM device via an environment variable. But I failed, I triedWLR_DRM_DEVICES
(which caused Hyprland to crash),MOZ_DRM_DEVICE
(which didn't seem to have any effect,Firefox still doesn't try to hard-decode, even though I've set it up.).The text was updated successfully, but these errors were encountered: