Skip to content

About

Fix for Parsec Linux 'Error [-17] Client connection failure' (decode_frame = -17) on distros with FFmpeg 7/8, e.g. Ubuntu 26.04

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ParsecFixLinux

Fix for the Parsec Linux client failing with Error [-17] Client connection failure on distros that ship FFmpeg 7 or 8 (e.g. Ubuntu 26.04).

Português abaixo

Symptoms

  • Parsec logs in and finds the host, but every connection drops right away with Error [-17] Client connection failure.
  • ~/.parsec/log.txt shows the connection succeeding and video decoding failing:
net           = BUD|::ffff:192.168.x.x|22001
BUD AES_GCM   = 256
...
* decode_frame[341] = -17
Client status changed to: -3

The network is fine (audio channels even get set up). The failure is in video decoding.

Cause

The Parsec Linux client does not bundle a video decoder. It loads the system FFmpeg at runtime (libavcodec / libavutil), and in practice only works with FFmpeg 4.4 (libavcodec.so.58, libavutil.so.56).

Newer distros ship only FFmpeg 7/8 (libavcodec.so.61/.62). Parsec loads them without complaining, but every frame fails to decode with -17.

Things that do not fix it:

  • installing GPU VA-API/VDPAU drivers (intel-media-va-driver, etc.)
  • the old decoder_software option in config.json (current versions drop it)

Fix

This repo downloads the official Ubuntu 22.04 FFmpeg 4.4 runtime libraries into ~/.parsec/compat-libs and launches Parsec with LD_LIBRARY_PATH pointing there. Only Parsec uses them; the rest of the system keeps its own FFmpeg.

git clone https://github.com/BelmanteGu/ParsecFixLinux.git
cd ParsecFixLinux
./install.sh

Then fully close Parsec and open it again from the app menu. From a terminal:

LD_LIBRARY_PATH=~/.parsec/compat-libs parsecd

What the script does

  1. Downloads 10 .deb packages from archive.ubuntu.com (Ubuntu 22.04, amd64), with old-releases.ubuntu.com as a fallback.
  2. Checks each file against a SHA256 pinned in the script and aborts on any mismatch.
  3. Unpacks them with dpkg-deb (or ar + tar on non-Debian distros) and checks that every dependency resolves.
  4. Copies the .so files to ~/.parsec/compat-libs/.
  5. Creates ~/.local/share/applications/parsecd.desktop, a copy of the system launcher whose Exec sets LD_LIBRARY_PATH.

It does not use sudo, touch /usr, or change apt/dpkg state.

Package Version
libavcodec58, libavutil56, libswresample3 4.4.2-0ubuntu0.22.04.1
libvpx7 1.11.0-2ubuntu2.5
libdav1d5 0.9.2-1
libcodec2-1.0 1.0.1-3
libtheora0 1.1.1+dfsg.1-15ubuntu4
libx264-163 0.163.3060+git5db6aa6-2build1
libx265-199 3.5-2
libmfx1 22.3.0-1

Undo

./uninstall.sh

It removes ~/.parsec/compat-libs/ and the launcher override. It does not touch Parsec or any system package.

Compatibility

  • Tested: Ubuntu 26.04 LTS (FFmpeg 8), Parsec 150-105c, official .deb, Intel + NVIDIA hybrid laptop.
  • Should work: other x86_64 distros whose FFmpeg is newer than 4.4, with the official Parsec .deb.
  • Flatpak Parsec: not covered; it uses the Flatpak runtime's FFmpeg instead of the system one.

If it worked (or didn't) on your distro, please open an issue with your distro, Parsec version and log so this list can grow.

Notes

  • After a Parsec update, check ~/.parsec/log.txt again. If Parsec starts supporting newer FFmpeg, run ./uninstall.sh.
  • Prior work on the same issue: undert0wn/parsec-ubuntu-decoder-fix. This repo pins exact package versions and checksums so you can see exactly what gets installed.
  • Not affiliated with Parsec / Unity Technologies.

Português

Correção para o Parsec no Linux dando Error [-17] Client connection failure em distros com FFmpeg 7/8, como o Ubuntu 26.04.

Sintoma: o Parsec encontra o outro PC, mas a conexão cai na hora. O ~/.parsec/log.txt mostra decode_frame[341] = -17.

Causa: o Parsec usa o FFmpeg do sistema para decodificar o vídeo e só funciona com o FFmpeg 4.4. Distros novas trazem só o FFmpeg 7/8, e aí todo quadro de vídeo falha. Instalar driver de vídeo (VA-API) não resolve.

Correção:

git clone https://github.com/BelmanteGu/ParsecFixLinux.git
cd ParsecFixLinux
./install.sh

Feche o Parsec por completo e abra de novo pelo menu.

O script baixa as bibliotecas oficiais do FFmpeg 4.4 do Ubuntu 22.04, confere o SHA256 de cada uma e coloca tudo em ~/.parsec/compat-libs. Só o Parsec usa essas bibliotecas. Não precisa de sudo e não mexe no sistema.

Para desfazer: ./uninstall.sh.

License

MIT

About

Fix for Parsec Linux 'Error [-17] Client connection failure' (decode_frame = -17) on distros with FFmpeg 7/8, e.g. Ubuntu 26.04

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages