The reason for the whole problem is that the current flatpak forces the version that was downloaded. It seems like parsec decided to change the API and requires an updated client version.
Sadly the parsec team doesn’t consider proper packaging a priority and therefore they just download the newest version on startup and try to load it following their appdata config. This introduces two problems:
- It requires the flatpak to persist those downloads, which hopefully doesn’t pile up.
- It requires the flatpak to make the appdata.json mutable without removing it from the initial setup, because otherwise the parsec client won’t start.
My PR above solves the problem to some degree. The way better way would be, when the parsec team would provide a proper package, but my requests and general questions in that direction ended up unheard, so I hope that’s enough.
PS: It would be great if someone could try the version from the PR with standard permissions to make sure my local install isn’t any special.
I have wired proxy server to my PC: both http/https and socks5 set up. All apps including discord, telegram, mozzila works just fine, when parsec is reporting [-800] cannot obtain /me.
I was trying to use PARSEC config file and set up the same http proxy, but no luck.
Anyone met simillar behaviour while working with PARSEC and proxy server?
Log in or sign up to leave a comment
level 1
Progress: I was able to fix the issue by ignoring app_proxy_scheme
in config file.
Now Parsec can reach my account and scan available devices, but all connections ends with another error: Failed to connect to parsec STUN server [-6024].
level 1
Yeah, my friend has the same problem.
What is Parsec Error 800?
If you’ve ever used Parsec for streaming games or remote desktop, you may have encountered an error message with the code 800. This error usually occurs when there are issues with connecting to the Parsec servers or with the local network settings.
There are several reasons why you might encounter Parsec Error 800:
- Network connectivity issues on your local computer or network
- Firewall or antivirus software blocking the Parsec connection
- Issues with the Parsec server
- Incorrect configuration of the Parsec client settings
How to Fix Parsec Error 800?
Check Network Connectivity
One of the most common causes of Parsec Error 800 is network connectivity issues. By checking your local network settings, you can determine if this is the cause of the error. Ensure that your network settings are set to allow Parsec to connect through your firewall and proxy server, if you have one.
Disable Firewall or Antivirus Software
Firewall or antivirus software can sometimes block Parsec connections from being established. Try disabling these programs temporarily and see if the error goes away. If it does, you can then add Parsec as an exception in your firewall or antivirus settings.
Restart Parsec and Your Computer
Restarting both the Parsec software and your computer can sometimes resolve the error. This clears out any temporary issues or conflicts that may have caused the error to occur.
Update Parsec Client
It’s possible that an outdated version of the Parsec client is causing the error. Check for updates to the client and install them if available.
Contact Parsec Support
If none of these solutions work for you, you should reach out to Parsec support. They can provide more specific assistance if there is a known issue with their servers or client.
By following these steps, you can resolve Parsec Error 800 and continue streaming games or remote desktop with ease.
The reason for the whole problem is that the current flatpak forces the version that was downloaded. It seems like parsec decided to change the API and requires an updated client version.
Sadly the parsec team doesn’t consider proper packaging a priority and therefore they just download the newest version on startup and try to load it following their appdata config. This introduces two problems:
- It requires the flatpak to persist those downloads, which hopefully doesn’t pile up.
- It requires the flatpak to make the appdata.json mutable without removing it from the initial setup, because otherwise the parsec client won’t start.
My PR above solves the problem to some degree. The way better way would be, when the parsec team would provide a proper package, but my requests and general questions in that direction ended up unheard, so I hope that’s enough.
PS: It would be great if someone could try the version from the PR with standard permissions to make sure my local install isn’t any special.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Comments
This is due to Parsec deprecating and shutting off api.parsecgaming.com
.
The default deb downloaded from Parsec contains parsecd-150-28.so
, which still attempts to connect to the old API.
When you run Parsec the first time, it will download parsecd-150-50.so
into $HOME/.parsec
.
You will then need to shut down parsec, and edit $HOME/.parsec/appdata.json
to point to the new version, as well as updating its sha256sum
value to match the new version.
I’ve raised an issue in their discord about shipping the debian installers with a newer version of parsecd
, but they haven’t confirmed if they will do it.
@RaghavSood Thank you so much for that explanation, wonderful. But how come it still works as root? Root has the same scenario occuring, as can be seen in .parsec/
.
I’m looking into using Moonlight game streaming since it looks like it’s better supported on Nix, and is more sustainable/open source anyway.
My suspicion is that Parsec’s default update approach of downloading the newer library and then pointing the main electron(?) app to it doesn’t work on Nix when run as a regular user, possibly because it might be trying to update something in the nix store.
Running as root might allow it to do that, although it may break other stuff if it breaks assumptions that Nix makes about files being handled by Nix.
I eventually settled on this by running strace
and starting it manually to verify it was connecting to api.parsecgaming.com
, and then updating the library manually — after doing that, strace
showed no connections to the old endpoints, and its been pretty stable since then
@delroth Thanks for the workaround. Do you want to maybe create a NUR, so people can fetch your pkgs easily?
Here is delroth’s pkg for people to try:
(import <nixpkgs> {}).callPackage (builtins.fetchurl "https://raw.githubusercontent.com/delroth/infra.delroth.net/master/pkgs/parsec.nix") {}
Alternatively with my package, you can use this workaround:
mkdir ~/.parsec
cd ~/.parsec
rm appdata.json
wget -O appdata.json https://builds.parsecgaming.com/channel/release/appdata/linux/latest
wget https://builds.parsecgaming.com/channel/release/binary/linux/gz/$(cat appdata.json | nix-shell -p jq --run "jq -r .so_name")
with this package. You probably only have to run this once.
I sadly don’t use Parsec anymore. So I will probably just mark this package broken.
@clefru Do you now use an alternative? If so, what is it?
wget https://builds.parsecgaming.com/channel/release/binary/linux/gz/parsecd-150-78.so
works just fine for me.
@MatthewCroughan I moved my gaming PC next to my workstation and hooked it up physical. Parsec just isn’t fast enough for more than 1080p. Also with Steam supporting many games via Proton, the need for Parsec just decreased drastically.
Thanks for the response, I tried to lunch parsec and now I get 👍
/home/pi/.parsec/parsecd-150-78.so: wrong ELF class: ELFCLASS64
I’m on the rasberry pi 3 / raspian bullseye
Thanks for the response, I tried to lunch parsec and now I get +1 /home/pi/.parsec/parsecd-150-78.so: wrong ELF class: ELFCLASS64 I’m on the rasberry pi 3 / raspian bullseye
That is trying to tell you that the static object (.so
) you’re trying to execute is not compiled for the correct architecture. You are trying to run x86_64 code on an ARM device (Raspberry Pi 3).
so is there any way of getting parsec to run on a pi 3 ? Using the default way I get this v1 auth error (-800 no internet connection)
been trying for days now, on pi3 and 4 but no chance
so is there any way of getting parsec to run on a pi 3 ? Using the default way I get this v1 auth error (-800 no internet connection)
Not unless you make your own derivation to support ARM. I’m sick of this crappy proprietary software, so I won’t be doing that
because parsec isn’t open source noone compiled another arm version and I really tried everything, raspbian, ubuntu, android and kodi (which worked but not on widescreen)
They did compile an arm version here https://s3.amazonaws.com/parsec-build/package/parsec-rpi.deb, but you’re not going to have a good time with this software because it is proprietary. Every few months you will get an error with this Nix derivation, because the source code will have changed its contents at the same url. So next month, the sha256 of the link I shared above will change, which will cause the derivation to fail.
I fixed up the parsec package to at least work for me under x86_64. However, since I am not really using parsec on a regular basis, it will probably go stale again. It would be best if it is moved to a different repo of someone using it regularly.
As to the original issue, root is certainly not required for networking, so I am closing this issue. I presume that this observation was just a side effect of resetting ~/.parsec.