---
title: "What do I need for hardware video encoding and screen sharing on Linux?"
description: "On Linux, the Fluxer desktop app encodes screen shares on AMD and Intel graphics through VA-API, encodes them in software on NVIDIA graphics, and shares your screen on Wayland through PipeWire and your desktop's portal."
url: "https://fluxer.com/help/linux-hardware-encoding"
language: "en"
last_updated: "2026-11-04"
category: "Features and apps"
---

> Index of Fluxer's official pages for AI agents: https://fluxer.com/llms.txt
> Index of this topic: https://fluxer.com/help/category/features/llms.txt
> Links to Fluxer pages go to their Markdown versions when they have one. For other Fluxer help, policy or blog links, remove any #section part and add .md to the end.

# What do I need for hardware video encoding and screen sharing on Linux?

On Linux, the Fluxer desktop app encodes screen shares on AMD and Intel graphics through VA-API, encodes them in software on NVIDIA graphics, and shares your screen on Wayland through PipeWire and your desktop's portal.

On Linux, the Fluxer desktop app can encode your screen share on your graphics card through VA-API, which works with AMD and Intel graphics when a VA-API driver that can encode is installed. On NVIDIA graphics, the voice system we use today encodes your screen share on your CPU. To share your screen on Wayland, you need PipeWire, xdg-desktop-portal and the portal backend for your desktop.

## Which graphics cards get hardware encoding on Linux?

The desktop app turns on Chromium's VA-API video encoder, and it uses your graphics card when Chromium finds a VA-API driver that can encode. AMD graphics use the VA-API driver from Mesa, and Intel graphics from Broadwell on use Intel's media driver. How well Chromium's VA-API support works depends on your graphics card, your driver and your desktop, and hardware encoding doesn't work on every setup.

The app checks which codecs your graphics card can encode and picks one of those first. H.265 and AV1 screen sharing stay off until you turn on "Allow H.265 (HEVC) for screen sharing" or "Allow AV1 for screen sharing" in "Advanced" settings.

## Does hardware encoding work with NVIDIA graphics on Linux?

On today's voice system, the desktop app encodes screen shares on NVIDIA graphics in software, whichever driver you install. Chromium doesn't use NVIDIA's encoder, NVENC, for calls on Linux. The [nvidia-vaapi-driver](https://github.com/elFarto/nvidia-vaapi-driver) project only supports decoding.

When the app finds no hardware encoder on Linux, the screen share picker says "Your system has no hardware video encoder that Fluxer can use, so screen sharing uses software encoding." It then prefers other codecs over H.264, and when your screen share does use H.264, it's limited to 720p at 30 frames per second.

Setting "Encoder path" to "Prefer hardware" doesn't turn on hardware encoding, and the setting then says that it works like "Automatic". You'll find "Encoder path" under "Screen share encoder controls" in "Advanced" settings, after you click "Configure".

Our [new voice system](https://fluxer.com/help/linux-hardware-encoding.md) will add NVENC for NVIDIA graphics on Linux before it ships.

## How do I check that hardware encoding works?

You can see what your VA-API driver can do with `vainfo`, which comes in the `vainfo` package on Ubuntu and Debian and in `libva-utils` on Fedora and Arch Linux.

```sh
vainfo
```

Each line that ends in `VAEntrypointEncSlice` or `VAEntrypointEncSliceLP` is a codec your graphics card can encode, for example `VAProfileH264High : VAEntrypointEncSlice`. If every line ends in `VAEntrypointVLD`, the driver can only decode video, and the app encodes your screen share in software.

When the app finds no hardware encoder, the screen share picker shows the note above. If your screen share falls back to software encoding after it starts, a banner at the top of the app starts with "Screen share is using software encoding".

Also check that the "Hardware acceleration" switch is on in "Linux app" settings. When it's off, the desktop app encodes every screen share in software.

## Which VA-API driver do I install?

Install the VA-API driver for the graphics card that runs your desktop, then restart Fluxer and run `vainfo` again to check that the driver can encode.

| Distribution | AMD | Intel |
| --- | --- | --- |
| Ubuntu and Debian | `mesa-va-drivers` | `intel-media-va-driver-non-free` |
| Fedora | `mesa-va-drivers-freeworld` from RPM Fusion | `intel-media-driver` from RPM Fusion |
| Arch Linux | Included in `mesa` | `intel-media-driver` |

On Ubuntu, `intel-media-va-driver-non-free` is in multiverse, and on Debian it's in non-free. On Fedora, the Mesa VA-API driver from Fedora itself can't encode H.264 or H.265, and [RPM Fusion](https://rpmfusion.org/Howto/Multimedia) has the `mesa-va-drivers-freeworld` package that can.

## What do I need to share my screen on Wayland?

On Wayland, the desktop app asks xdg-desktop-portal for your screen, and the portal sends the video to Fluxer through PipeWire. You need PipeWire running, xdg-desktop-portal and the portal backend that goes with your desktop or compositor.

| Desktop | Portal backend |
| --- | --- |
| GNOME | `xdg-desktop-portal-gnome` |
| KDE Plasma | `xdg-desktop-portal-kde` |
| Hyprland | `xdg-desktop-portal-hyprland` |
| Sway and other wlroots compositors | `xdg-desktop-portal-wlr` |
| niri | `xdg-desktop-portal-gnome` |

When you share your screen, the "Applications" and "Entire screen" tabs in Fluxer have an "Open system picker" button. It opens your desktop's own picker, which shows every window and screen together, and you choose what to share there. You can then pick the sound you share in "Stream settings", as the [screen share audio guide](https://fluxer.com/help/screen-share-audio.md) explains.

If the portal returns nothing, Fluxer says "No screens or windows were returned by the Linux screen sharing portal." With systemd, `systemctl --user status xdg-desktop-portal` shows whether it's running, and the Hyprland wiki has [steps for its portal](https://wiki.hypr.land/Hypr-Ecosystem/xdg-desktop-portal-hyprland/).

## How does screen sharing work on X11?

On X11, Fluxer lists your windows and screens in its own picker, and you don't need xdg-desktop-portal. VA-API encoding works the same way on X11 as on Wayland.

## Does it depend on how I installed Fluxer?

The [official builds](https://fluxer.com/help/linux-packages.md) for Flatpak, AppImage, .deb, .rpm and pacman have the same screen sharing and encoding code. The Flatpak has access to your graphics card and to PipeWire, and it uses the portal on Wayland just like the other builds.

## What changes with the new voice system?

On our [new voice system](https://fluxer.com/help/new-voice-system.md), the desktop app encodes video with VA-API on AMD and Intel graphics, and it'll encode with NVENC on NVIDIA graphics on Linux before it ships. Video from other people is drawn with EGL on Linux with X11. The [list of reported problems the new system fixes](https://fluxer.com/help/new-voice-system-reported-problems.md) shows what changes for Linux and when.

---

Canonical page: https://fluxer.com/help/linux-hardware-encoding

Last updated on November 4, 2026
