Nvidia + Wayland + hardwarebeschleunigter Firefox (+Extras)

Y-Chromosome

Commander
Registriert
Aug. 2008
Beiträge
2.870
Mich würde interessieren, ob jemand, die im Titel erwähnte Konfiguration, am Laufen hat?

Was ich bisher bei meinen Recherchen herausgefunden habe, dass Nvidia und Wayland inzwischen wohl passabel harmonieren (in Gnome) und dass Nvidia auch den Firefox via vaapi beschleunigen kann.
Quellen:
https://rpmfusion.org/Howto/NVIDIA#Wayland
https://fedoraproject.org/wiki/Fire...ion#Configure_VA-API_Video_decoding_on_NVIDIA

Allerdings lese ich im oberen Link, dass vdpau nicht unter Wayland tut.
Was mich aber doch wieder positiv stimmt ist, dass der nvidia-vaapi-driver nicht auf vdpau sondern auf NVDEC aufsetzt.
Quelle:
https://github.com/elFarto/nvidia-vaapi-driver

Extras:
Secure-Boot sollte ja mit einem selbst signiertem Key funktionieren.

Die TDP der Nvidiakarten lässt sich ja mit nvidia-smi einstellen und persistent z.B. via einem Systemd-Dienst abbilden. Zu undervolting habe ich jetzt nichts zwingendes gefunden.
 
Bei mir Fedora 38 aber z.Z. unter Xorg, statt Wayland. (Weil unter Gnome Desktop Probleme auftraten)
Ich habe im FF nun laut Deiner verlinkten Anleitung "media.ffmpeg.vaapi.enabled to true" gesetzt, war auf false. Und nun, wie soll ich das testen ob das im FF Effekt hat?
nvidia-smi
bash: nvidia-smi: Befehl nicht gefunden...
Pakete, die diese Datei bereitstellen, sind:
'xorg-x11-drv-nvidia-340xx-cuda'
'xorg-x11-drv-nvidia-470xx-cuda'
'xorg-x11-drv-nvidia-cuda'
'xorg-x11-drv-nvidia-390xx-cuda.

nvidia-smi Geht wohl nur mit den Cuda Treibern?
Von dem Thema habe ich keine Ahnung, wenn das aber besser sein soll, will ich das auch. :)
Meine alte Nvidia, ist eine NVIDIA GeForce GTX 1050 Ti, Treiber Version: 535.86.05

Edit: xorg-x11-drv-nvidia-cuda' nun normal nach installiert:

nvidia-smi:

xorg-x11-drv-nvidia-cuda'
NVIDIA-SMI 535.86.05 Driver Version: 535.86.05 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| 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 GTX 1050 Ti Off | 00000000:01:00.0 On | N/A |
| 0% 55C P0 N/A / 120W | 236MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1955 G /usr/libexec/Xorg 97MiB |
| 0 N/A N/A 2359 G xfwm4 1MiB |
| 0 N/A N/A 3671 G /usr/lib64/firefox/firefox 134MiB |
+---------------------------------------------------------------------------------------+

Was sagt mir das nun? Es läuft ein YT Video im FF.
Tabelle ist unschön eingefügt, sorry.
 
Zuletzt bearbeitet:
@Gregorie
Danke für Deinen Input.

Sieh Dir einmal den 2. Link von mir an.
Nachdem Du den Eintrag wie in Deinem Post gesetzt hast, startest Du den Firefox aus dem Terminal mit folgender Befehlszeile:
Code:
NVD_BACKEND=direct MOZ_DISABLE_RDD_SANDBOX=1 MOZ_LOG="PlatformDecoderModule:5" firefox

Wenn er Dir anzeigt, dass es geht, kannst Du den Teil mit MOZ_LOG später weglassen.

Am besten postest Du das Log dann auf www.pastebin.com
Essentiell für den Test wäre aber, dass Du es auch einmal via Wayland ausführst.

Würde Dir empfehlen Deinen Post nochmal zu editieren und die Ausgabe als "Code" darzustellen.
dazu einen "dreifachen" Gravis vor und nach den Code. (wie bei Markup)
 
Zuletzt bearbeitet: (Markup)
@Y-Chromosome
Soll ich im Terminal FF so starten?: "firefox NVD_BACKEND=direct MOZ_DISABLE_RDD_SANDBOX=1 MOZ_LOG="PlatformDecoderModule:5 firefox"

Da lande ich auf einem Prompt, FF startet nicht.
Wenn ich FF ohne Optionen im Terminal starte, bekam ich zunächst VAPi Error, plötzlich nicht mehr.
Jetzt wieder da:
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: vaapitest: ERROR (t=0.330459) [GFX1-]: vaapitest: ERROR
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: vaapitest: ERROR (t=0.330459) |[1][GFX1-]: vaapitest: VA-API test failed: failed to initialise VAAPI connection.
(t=0.330483) [GFX1-]: vaapitest: VA-API test failed: failed to initialise VAAPI connection.


Wozu bist Du an dem Thema interessiert, hast eine Nvidia Karte und brauchst das unter einem Linux mit
Wayland für irgendwas?
 
Zuletzt bearbeitet:
Nein, bitte genau so, wie ich es geschrieben habe.
Habe einen Typo korrigiert.

prüfe bitte mal, ob der vaapi driver installiert ist:
Code:
sudo dnf install nvidia-vaapi-driver

Und wieso ich das gerne hätte?
Ich bin am überlegen mir für Stable Diffusion eine 4090 zu kaufen und ich würde ganz gerne meine bisherigen Einstellungen so weiter nutzen.
 
O.K. nvidia-vaapi-driver war nicht installiert. :(
Scheint jetzt zu funktionieren, "NVD_BACKEND=direct MOZ_DISABLE_RDD_SANDBOX=1 MOZ_LOG="PlatformDecoderModule:5" firefox"
Gibt haufenweise Meldungen im Terminal, und FF startet auch.
Wo finde ich den Log?
Gut vielleicht gibt es noch user die Dir helfen können ich sehe nicht durch.
Unter Wayland könnte ich es auch noch testen.
 
Jut, jemacht, bei pastbin als Guest, und nu?
[Utility 6953: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=60621000µs ; mTimecode=60621000µs
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Decoding frames: [60.621000, 60.641000]
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Total frames so far: 2910408
[Child 6999: MediaPDecoder #3]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::HandleDecodedResult: sample[{60621000,1000000}, {60641000,1000000}] (decoded[{60614500,1000000}, {60634500,1000000}] no trimming needed
[Child 6999: MediaPDecoder #1]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::prepareTrimmers: sample[{60641000,1000000},{60661000,1000000}] no trimming information
[Utility 6953: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=60641000µs ; mTimecode=60641000µs
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Decoding frames: [60.641000, 60.661000]
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Total frames so far: 2911368
[Child 6999: MediaPDecoder #3]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::HandleDecodedResult: sample[{60641000,1000000}, {60661000,1000000}] (decoded[{60634500,1000000}, {60654500,1000000}] no trimming needed
[RDD 6952: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=41666µs ; mTime=58791666µs ; mTimecode=58791666µs
[RDD 6952: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Frame decode finished, time 0.03 ms averange decode time 0.06 ms decoded 1410 frames
[RDD 6952: MediaPDecoder #1]: D/PlatformDecoderModule FFVPX: Got one frame output with pts=58708333 dts=58708333 duration=41666 opaque=-9223372036854775808
[Child 6999: MediaPDecoder #2]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::prepareTrimmers: sample[{60661000,1000000},{60681000,1000000}] no trimming information
[Utility 6953: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=60661000µs ; mTimecode=60661000µs
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Decoding frames: [60.661000, 60.681000]
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Total frames so far: 2912328
[Child 6999: MediaPDecoder #1]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::HandleDecodedResult: sample[{60661000,1000000}, {60681000,1000000}] (decoded[{60654500,1000000}, {60674500,1000000}] no trimming needed
[Child 6999: MediaPDecoder #2]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::prepareTrimmers: sample[{60681000,1000000},{60701000,1000000}] no trimming information
[Utility 6953: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=60681000µs ; mTimecode=60681000µs
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Decoding frames: [60.681000, 60.701000]
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Total frames so far: 2913288
[Child 6999: MediaPDecoder #1]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::HandleDecodedResult: sample[{60681000,1000000}, {60701000,1000000}] (decoded[{60674500,1000000}, {60694500,1000000}] no trimming needed
[RDD 6952: MediaPDecoder #2]: V/PlatformDecoderModule ProcessDecode: mDuration=41666µs ; mTime=58833333µs ; mTimecode=58833333µs
[RDD 6952: MediaPDecoder #2]: D/PlatformDecoderModule FFVPX: Frame decode finished, time 0.02 ms averange decode time 0.06 ms decoded 1411 frames
[RDD 6952: MediaPDecoder #2]: D/PlatformDecoderModule FFVPX: Got one frame output with pts=58750000 dts=58750000 duration=41666 opaque=-9223372036854775808
[Child 6999: MediaPDecoder #4]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::prepareTrimmers: sample[{60701000,1000000},{60721000,1000000}] no trimming information
[Utility 6953: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=60701000µs ; mTimecode=60701000µs
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Decoding frames: [60.701000, 60.721000]
[Utility 6953: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7f1895f79100] ::Decode: Total frames so far: 2914248
[Child 6999: MediaPDecoder #2]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::HandleDecodedResult: sample[{60701000,1000000}, {60721000,1000000}] (decoded[{60694500,1000000}, {60714500,1000000}] no trimming needed
[Child 6999: MediaPDecoder #4]: V/PlatformDecoderModule AudioTrimmer[7f1e85453d50] ::prepareTrimmers: sample[{60721000,1000000},{60741000,1000000}] no trimming

Ich sagte ja, ich kann wohl nicht weiterhelfen, wollte aber wissen ob das mein Linux System Fedora und meine Nvidia-Karte unterstützt.
 
sieht gut aus, aber mir fehlt der vaapi Teil.
Ergänzung ()

war das unter X11 oder Wayland?
 
Zuletzt bearbeitet:
und eine Bitte, wenn Du Code oder Logs postest. Pack es in "Codeblöcke", dann ist es auch besser lesbar.

mach mal bitte noch vor dem nächsten Test die drei Sachen hier:

Code:
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
# Das sorgt dafür, dass auch x264 in Hardware decodiert wird.

sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
#und
sudo dnf groupupdate sound-and-video
Die Zeilen kümmern sich darum, dass alle möglichen (nur in rpmfusion enthaltenen) Codecs installiert werden.

Ist im Prinzip der Guide hier:
https://rpmfusion.org/Howto/Multimedia?highlight=(\bCategoryHowto\b)
Ergänzung ()

Code:
[RDD 83046: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Frame decode finished, time 0.19 ms averange decode time 0.22 ms decoded 79 frames
[RDD 83046: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: VA-API Got one frame output with pts=2600000 dts=2600000 duration=33333 opaque=-9223372036854775808
[Child 82838: MediaPDecoder #2]: V/PlatformDecoderModule AudioTrimmer[7fb50dac6b20] ::PrepareTrimmers: sample[{4901000,1000000},{4921000,1000000}] no trimming information
[Utility 83048: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=4901000µs ; mTimecode=4901000µs
[Utility 83048: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7ff292e79580] ::Decode: Decoding frames: [4.901000, 4.921000]
[Utility 83048: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7ff292e79580] ::Decode: Total frames so far: 235848
[Child 82838: MediaPDecoder #4]: V/PlatformDecoderModule AudioTrimmer[7fb50dac6b20] ::HandleDecodedResult: sample[{4901000,1000000}, {4921000,1000000}] (decoded[{4894500,1000000}, {4914500,1000000}] no trimming needed
[Child 82838: MediaPDecoder #2]: V/PlatformDecoderModule AudioTrimmer[7fb50dac6b20] ::PrepareTrimmers: sample[{4921000,1000000},{4941000,1000000}] no trimming information
[Utility 83048: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=20000µs ; mTime=4921000µs ; mTimecode=4921000µs
[Utility 83048: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7ff292e79580] ::Decode: Decoding frames: [4.921000, 4.941000]
[Utility 83048: MediaPDecoder #1]: D/PlatformDecoderModule OpusDataDecoder[7ff292e79580] ::Decode: Total frames so far: 236808
[Child 82838: MediaPDecoder #4]: V/PlatformDecoderModule AudioTrimmer[7fb50dac6b20] ::HandleDecodedResult: sample[{4921000,1000000}, {4941000,1000000}] (decoded[{4914500,1000000}, {4934500,1000000}] no trimming needed
[RDD 83046: MediaPDecoder #2]: V/PlatformDecoderModule ProcessDecode: mDuration=33333µs ; mTime=2633333µs ; mTimecode=2633333µs
[h264 @ 0x7fdc4fbd8c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x7fdc4fbd8c00] Param buffer (type 0, 672 bytes) is 0x1b.
[h264 @ 0x7fdc4fbd8c00] Param buffer (type 1, 240 bytes) is 0x1c.
[h264 @ 0x7fdc4fbd8c00] Slice 0 param buffer (3128 bytes) is 0x1d.
[h264 @ 0x7fdc4fbd8c00] Slice 0 data buffer (2785 bytes) is 0x1e.
[h264 @ 0x7fdc4fbd8c00] Decode to surface 0x11.
[RDD 83046: MediaPDecoder #2]: D/PlatformDecoderModule FFMPEG: Frame decode finished, time 0.22 ms averange decode time 0.22 ms decoded 80 frames
[RDD 83046: MediaPDecoder #2]: D/PlatformDecoderModule FFMPEG: VA-API Got one frame output with pts=2633333 dts=2633333 duration=33333 opaque=-9223372036854775808
[RDD 83046: MediaPDecoder #1]: V/PlatformDecoderModule ProcessDecode: mDuration=33333µs ; mTime=2666666µs ; mTimecode=2666666µs
[h264 @ 0x7fdc4fbd8c00] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 0
[h264 @ 0x7fdc4fbd8c00] Param buffer (type 0, 672 bytes) is 0x1b.
[h264 @ 0x7fdc4fbd8c00] Param buffer (type 1, 240 bytes) is 0x1c.
[h264 @ 0x7fdc4fbd8c00] Slice 0 param buffer (3128 bytes) is 0x1d.
[h264 @ 0x7fdc4fbd8c00] Slice 0 data buffer (3262 bytes) is 0x1e.
[h264 @ 0x7fdc4fbd8c00] Decode to surface 0x16.
[RDD 83046: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: Frame decode finished, time 0.23 ms averange decode time 0.22 ms decoded 81 frames
[RDD 83046: MediaPDecoder #1]: D/PlatformDecoderModule FFMPEG: VA-API Got one frame output with pts=2666666 dts=2666666 duration=33333 opaque=-9223372036854775808
[Child 82838: MediaPDecoder #1]: V/PlatformDecoderModule AudioTrimmer[7fb50dac6b20] ::PrepareTrimmers: sample[{4941000,1000000},{4961000,1000000}] no trimming inform

So sollte das aussehen.
 
Zuletzt bearbeitet:
Meine Ergebnisse waren unter Xorg + Xfce Desktop.
Nun hatte ich die Session Wayland + Gnome gestartet.
Zuvor bin ich Deiner letzten Anleitung gefolgt.
Danach wurden von der Standard Update-Verwaltung wieder Nvidia Treiber aktualisiert, nun auf Version 535.98. NVLM Ver. 12.535.98.
Läuft soweit auch. Nur die Gui Nvidia Settings, hat wieder weniger Ausgaben, als unter Xorg.
Rubrik Monitor (alter DVI Monitor, kein HDMI) fehlt völlig und anderes.
Meine alte Geforce 1050 Ti, scheint auch nicht mit dem nvidia-smi Tool (aus Cuda) in allen Punkten unterstützt zu sein.
Zeigt wenige Werte an, ausser Memory, Prozesse und Temperatur.
Jetzt nach der Prozedur, läuft erst Nvidia HW-Beschleunigung ordentlich?

Die Sache mit dem Programmcode als Blöcke hier im Forum einfügen, mache ich mich noch schlau.
 
Zuletzt bearbeitet:
Zurück
Oben