På Linux kan Fluxers skrivbordsapp koda din skärmdelning på grafikkortet via VA-API, vilket fungerar med AMD- och Intel-grafik när en VA-API-drivrutin som kan koda är installerad. På NVIDIA-grafik kodar röstsystemet vi använder i dag din skärmdelning på processorn. För att dela skärmen på Wayland behöver du PipeWire, xdg-desktop-portal och portalens backend för din skrivbordsmiljö.
Vilka grafikkort får maskinvarukodning på Linux?
Skrivbordsappen slår på Chromiums videokodare för VA-API, och den använder grafikkortet när Chromium hittar en VA-API-drivrutin som kan koda. AMD-grafik använder VA-API-drivrutinen från Mesa, och Intel-grafik från Broadwell och senare använder Intels mediedrivrutin. Hur bra Chromiums stöd för VA-API fungerar beror på grafikkortet, drivrutinen och skrivbordsmiljön, och maskinvarukodning fungerar inte på alla datorer.
Appen kontrollerar vilka kodekar grafikkortet kan koda och väljer någon av dem först. Skärmdelning med H.265 och AV1 är avstängd tills du slår på "Tillåt H.265 (HEVC) för skärmdelning" eller "Tillåt AV1 för skärmdelning" i inställningarna under "Avancerat".
Fungerar maskinvarukodning med NVIDIA-grafik på Linux?
I dagens röstsystem kodar skrivbordsappen skärmdelningar på NVIDIA-grafik i programvara, oavsett vilken drivrutin du installerar. Chromium använder inte NVIDIAs kodare NVENC för samtal på Linux. Projektet nvidia-vaapi-driver stöder bara avkodning.
När appen inte hittar någon maskinvarukodare på Linux står det "Ditt system saknar en hårdvarukodare för video som Fluxer kan använda, så skärmdelning använder programvarukodning." i skärmdelningsväljaren. Appen föredrar då andra kodekar än H.264, och när skärmdelningen ändå använder H.264 begränsas den till 720p och 30 bilder per sekund.
Att sätta "Kodningsmetod" till "Föredra maskinvara" slår inte på maskinvarukodning, och inställningen säger då att den fungerar som "Automatisk". Du hittar "Kodningsmetod" under "Inställningar för skärmdelningskodare" i inställningarna under "Avancerat", efter att du klickat på "Konfigurera".
Vårt nya röstsystem får stöd för NVENC för NVIDIA-grafik på Linux innan det släpps.
Hur kontrollerar jag att maskinvarukodning fungerar?
Du kan se vad din VA-API-drivrutin klarar med vainfo, som finns i paketet vainfo på Ubuntu och Debian och i libva-utils på Fedora och Arch Linux.
vainfo
Varje rad som slutar med VAEntrypointEncSlice eller VAEntrypointEncSliceLP är en kodek som grafikkortet kan koda, till exempel VAProfileH264High : VAEntrypointEncSlice. Om alla rader slutar med VAEntrypointVLD kan drivrutinen bara avkoda video, och då kodar appen din skärmdelning i programvara.
När appen inte hittar någon maskinvarukodare visar skärmdelningsväljaren texten ovan. Om skärmdelningen går över till programvarukodning efter att den har startat visas en banderoll högst upp i appen som börjar med "Skärmdelningen använder programvarukodning".
Kontrollera också att reglaget "Maskinvaruacceleration" är på i inställningarna under "Linux-app". När det är av kodar skrivbordsappen alla skärmdelningar i programvara.
Vilken VA-API-drivrutin ska jag installera?
Installera VA-API-drivrutinen för grafikkortet som kör din skrivbordsmiljö, starta sedan om Fluxer och kör vainfo igen för att kontrollera att drivrutinen kan koda.
| Distribution | AMD | Intel |
|---|---|---|
| Ubuntu och Debian | mesa-va-drivers |
intel-media-va-driver-non-free |
| Fedora | mesa-va-drivers-freeworld från RPM Fusion |
intel-media-driver från RPM Fusion |
| Arch Linux | Ingår i mesa |
intel-media-driver |
På Ubuntu finns intel-media-va-driver-non-free i multiverse, och på Debian finns det i non-free. På Fedora kan Fedoras egen VA-API-drivrutin från Mesa inte koda H.264 eller H.265, och RPM Fusion har paketet mesa-va-drivers-freeworld som kan det.
Vad behöver jag för att dela skärmen på Wayland?
På Wayland ber skrivbordsappen xdg-desktop-portal om din skärm, och portalen skickar videon till Fluxer via PipeWire. Du behöver PipeWire igång, xdg-desktop-portal och den portalbackend som hör till din skrivbordsmiljö eller kompositor.
| Skrivbordsmiljö | Portalbackend |
|---|---|
| GNOME | xdg-desktop-portal-gnome |
| KDE Plasma | xdg-desktop-portal-kde |
| Hyprland | xdg-desktop-portal-hyprland |
| Sway och andra wlroots-kompositorer | xdg-desktop-portal-wlr |
| niri | xdg-desktop-portal-gnome |
När du delar skärmen har flikarna "Appar" och "Hela skärmen" i Fluxer knappen "Öppna systemväljaren". Den öppnar skrivbordsmiljöns egen väljare, som visar alla fönster och skärmar tillsammans, och där väljer du vad du vill dela. Sedan kan du välja vilket ljud du vill dela under "Sändningsinställningar" i Fluxer.
Om portalen inte skickar tillbaka något visar Fluxer "Linux-portalen för skärmdelning returnerade inga skärmar eller fönster." Med systemd visar systemctl --user status xdg-desktop-portal om den körs, och Hyprlands wiki har steg för sin egen portal.
Hur fungerar skärmdelning på X11?
På X11 listar Fluxer dina fönster och skärmar i sin egen väljare, och du behöver inte xdg-desktop-portal. Kodning med VA-API fungerar på samma sätt på X11 som på Wayland.
Spelar det roll hur jag installerade Fluxer?
Våra officiella versioner för Flatpak, AppImage, .deb, .rpm och pacman har samma kod för skärmdelning och kodning. Flatpak-versionen har åtkomst till grafikkortet och till PipeWire, och den använder portalen på Wayland precis som de andra versionerna.
Vad ändras med det nya röstsystemet?
I vårt nya röstsystem kodar skrivbordsappen video med VA-API på AMD- och Intel-grafik, och innan det släpps kodar den med NVENC på NVIDIA-grafik på Linux. Video från andra ritas med EGL på Linux med X11. Du kan se vilka rapporterade problem det nya systemet åtgärdar på Linux och när åtgärderna kommer.