Hi,
I’m having a problem with outgoing screen sharing on Jami Desktop under Linux.
I’m trying to use Jami as a Discord replacement while playing with small group of friends (like 2-4).
System:
-
CachyOS
-
KDE Plasma / Wayland
-
NVIDIA RTX 2080 Ti
-
Jami Flatpak
20260917.0 -
PipeWire
1.6.8 -
xdg-desktop-portal
1.22.1 -
xdg-desktop-portal-kde
6.7.5
My desktop resolution is 2560×1440, and I would like to keep it that way.
Screen capture itself appears to work correctly. PipeWire reports a 2560×1440 BGRA stream, and Jami receives the screen at the expected resolution.
However, the outgoing video seen by the other participant is heavily corrupted/pixelated, while incoming video streams from the other participant are perfectly fine.
I investigated the encoding side and noticed that Jami is using libx264 for the outgoing H.264 stream:
[libx264 @ ...] frame MB size (160x90) > level limit (8192)
[libx264 @ ...] MB rate (864000) > level limit (245760)
There are also VBV underflow messages.
The interesting part is that the Flatpak environment has NVIDIA NVENC support available. From inside the Jami Flatpak, FFmpeg reports:
h264_nvenc
hevc_nvenc
and I can successfully encode a 2560×1440@60 test source with h264_nvenc. nvidia-smi dmon also confirms that the NVIDIA encoder engine is actually being used.
Jami’s configuration already contains:
decodingAccelerated: true
encodingAccelerated: true
I also tried adding h264_nvenc to encoder.json, but Jami continued to use libx264.
So my question is:
Is H.264 hardware encoding with NVIDIA NVENC supported by Jami’s current Linux video pipeline, or is H.264 intentionally hard-coded to use libx264?
If hardware H.264 encoding is supported, is there a configuration option or codec negotiation setting that I’m missing?
If not, is there a recommended way to make Jami downscale the screen-share stream (e.g. 2560×1440 desktop → 1920×1080 stream) while keeping the desktop itself at 2560×1440?
I’d be happy to provide full Jami logs, PipeWire node information, or any other diagnostic information that would be useful.
Thanks!