Skip to content
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

Nvidia VA-API issues on Optimus Laptop #1581

Open
onxzy opened this issue Aug 8, 2024 · 2 comments
Open

Nvidia VA-API issues on Optimus Laptop #1581

onxzy opened this issue Aug 8, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@onxzy
Copy link

onxzy commented Aug 8, 2024

Describe the bug

I am trying to get hardware acceleration on my Laptop but I never see any process in the output of nvidia-smi. To start I'm trying on Firefox with some video from Youtube.

What did you expect to happen?

See some process in the output of nvidia-smi

Output of rpm-ostree status

State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/aurora-nvidia:stable
                   Digest: sha256:f15637029615cf74931bff1c5dbd9403ec9ea59c7b749b0c1517f04b141d96d7
                  Version: 40.20240807.0 (2024-08-07T14:15:57Z)
             InitramfsEtc: /etc/vconsole.conf

  ostree-image-signed:docker://ghcr.io/ublue-os/aurora-nvidia:stable
                   Digest: sha256:121752f194aa0c6b16393e6e690f1ced73cb62bbfe351277f3d576e77f97e173
                  Version: 40.20240807.0 (2024-08-07T14:15:57Z)
             InitramfsEtc: /etc/vconsole.conf

Output of groups

thomas wheel

Extra information or context

I followed the steps here : https://universal-blue.discourse.group/t/codecs-and-multimedia-support/314
I ran ujust configure-nvidia and ujust configure-nvidia-optimus and I've set the media.ffmpeg.vaapi.enabled flag to true in Firefox. I have rebooted multiple times.

I also ran the CUDA test from ujust configure-nvidia to check that my GPU what working, and the driver seems to be installed correctly as neither nvidia-smi nor nvidia-settings complained.

$ nvidia-smi
Thu Aug  8 14:07:31 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.58.02              Driver Version: 555.58.02      CUDA Version: 12.5     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3050 ...    On  |   00000000:01:00.0 Off |                  N/A |
| N/A   51C    P8              8W /   60W |       1MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

$ ujust configure-nvidia
Configuring Nvidia drivers
What would you like to do?
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

On the about:support tab I see only references to my Intel GPU and the vainfo command shows that my Intel iGPU is used and not my Nvidia GPU:

$ vainfo
Trying display: wayland
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib64/dri-nonfree/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.21 (libva 2.21.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.5 ()
vainfo: Supported profile and entrypoints

I am using the default Firefox flatpak.
My flatpak runtimes list :

$ flatpak list --runtime
Name                                            Application ID                                         Version                           Branch               Installation
Freedesktop Platform                            org.freedesktop.Platform                               freedesktop-sdk-23.08.21          23.08                system
Mesa                                            org.freedesktop.Platform.GL.default                    24.1.3                            23.08                system
Mesa (Extra)                                    org.freedesktop.Platform.GL.default                    24.1.3                            23.08-extra          system
nvidia-555-58-02                                org.freedesktop.Platform.GL.nvidia-555-58-02                                             1.4                  system
Intel                                           org.freedesktop.Platform.VAAPI.Intel                                                     23.08                system
ffmpeg-full                                     org.freedesktop.Platform.ffmpeg-full                                                     23.08                system
openh264                                        org.freedesktop.Platform.openh264                      2.1.0                             2.2.0                system
openh264                                        org.freedesktop.Platform.openh264                      2.4.1                             2.4.1                system
GNOME Application Platform version 45           org.gnome.Platform                                                                       45                   system
GNOME Application Platform version 46           org.gnome.Platform                                                                       46                   system
Adwaita theme                                   org.kde.KStyle.Adwaita                                                                   5.15-23.08           system
Adwaita theme                                   org.kde.KStyle.Adwaita                                                                   6.6                  system
Adwaita theme                                   org.kde.KStyle.Adwaita                                                                   6.7                  system
KDE Application Platform                        org.kde.Platform                                                                         5.15-23.08           system
KDE Application Platform                        org.kde.Platform                                                                         6.6                  system
KDE Application Platform                        org.kde.Platform                                                                         6.7                  system

But it looks like Firefox is not using the ffmpeg runtime I installed using the tutorial linked above.

$ flatpak info org.mozilla.firefox | grep Runtime
      Runtime: org.freedesktop.Platform/x86_64/23.08

I tried forcing it but I get the following result :

$ flatpak run --runtime=org.freedesktop.Platform.ffmpeg-full --branch=stable --arch=x86_64 --command=firefox org.mozilla.firefox
bwrap: execvp firefox: No such file or directory

I am sorry if I just missed something very trivial.

Device info :

  • Dell Inspiron 15 7510
  • 11th Gen Intel(R) Core(TM) i7-11800H (16) @ 4,60 GHz
  • Intel UHD Graphics @ 1,45 GHz [Integrated]
  • NVIDIA GeForce RTX 3050 Ti Mobile [Discrete]
  • Secure Boot enabled and MOK key enrolled
@dosubot dosubot bot added the bug Something isn't working label Aug 8, 2024
@onxzy onxzy changed the title Nvidia VA-API not working on Optimus Laptop Nvidia VA-API issues on Optimus Laptop Aug 8, 2024
@dosubot dosubot bot added the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Nov 7, 2024
@castrojo castrojo removed the stale Issue has not had recent activity or appears to be solved. Stale issues will be automatically closed label Nov 7, 2024
@ublue-os ublue-os deleted a comment from dosubot bot Nov 7, 2024
@castrojo
Copy link
Member

castrojo commented Nov 7, 2024

Team is investigating vaapi issues in general currently so unstaling this.

@GarciaLnk
Copy link
Contributor

AFAIK, Firefox on Linux will use the same GPU for both rendering and video decoding, so if you want to use your Nvidia GPU for video decoding you also need to set __NV_PRIME_RENDER_OFFLOAD=1 to offload Firefox's rendering to it. Unfortunately, this will lead to a higher battery drain.

I haven't found a way to only offload video decoding to the Nvidia GPU and keep using the iGPU for web rendering (which would be the ideal setup), and after reading through the issues at elFarto/nvidia-vaapi-driver, I don't think it is currently possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants