Plex Media Player packages for Linux

I have used both this appimage and flatpak (stable release) on Ubuntu 20.04.
I have a Yamaha AV receiver which I’m using for 5.1 audio through HDMI. But this plex media player is not decoding surround sound correctly. I can hear voices from even rear channels which is supposed to hear only from the center channel. (front and rear channels are mirroring to each other) Does anyone have the same problem? Any workaround for this?
Btw my surround sound is working correctly on plex web-app.

EDIT: Nevermind. I figured it out. Appimage uses a configuration from the below location. And it had values for stereo audio output. I changed it to “5.1”.

Thanks, @Knapsu for your great work…!

Thanks @skaveesh for sharing :+1:

1 Like

Getting segmentation fault when launching plex media player on Fedora 34.

I’ve been running on fedora 34 pretty much since it was released without any problems. Did you download the AppImage from Plex Media Player for Linux | knapsu.eu or from some other location ?

Flatpak build seems to be broken. When attempting to play video on Kubuntu 20.04 I get errors. I downloaded the AppImage and it is working fine. Before you ask I did manually pull an update under flatpak and it still isn’t working.

3 Likes

Yeah I couldn’t get any version to work on Fedora 34 or 35

EDIT:
Sadly no longer playing back media for me on Elementary 5 or 6 now, getting the same error on both.

I tried rolling back the flatpak (using flatpak update --commit=331926c433f1c9ab97128791f33c741e5979ffaf840afa43b5e5886ddc12ad80 tv.plex.PlexMediaPlayer) but that didn’t get it to work either. Can’t figure out how to get a logfile out of the PMP client to help debug this issue to some extent.

There were some issues with Plex a couple of hours ago too so maybe that’s related?

After some more investigating I think this could be a plex issue, this looks like a related thread: PMS suddenly shows issues with remote access 9/30/2021 10AM EST - #3 by VirulentPip.

In my setup, PMP doesn’t seem to use a *.plex.direct address to access media on the server externally. It’s aware of the *.plex.direct address at least, according to the logs, and seems to use that to load the UI images/settings etc. securely. No idea why it isn’t using that address for media playback though, instead it opts to use the IP address (unsuccessful - invalid cert).

This behavior does seem to be intermittent - about 9/10 it doesn’t playback media for me.

Plex Web is able to playback media with no issues (but with all the known limitations), and Plex for Windows also was able to playback media.

Went ahead and updated the plex server to latest just in-case, but that’s made no difference. Worth noting the server settings says ‘not available outside your network’, despite me successfully able to connect to it directly using the *.plex.direct address shown in the logs, and double-checking my port forwarding config (even though it hasn’t been touched in months).

Attached some PMP log below

Logs

Detects *.plex.direct address just fine

2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Initializing... 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Initialize server with token, REDACTED_SERVERNAME, REDACTED_TOKEN, https://REDACTED_REMOTE_IP.REDACTED_ADDR.plex.direct:32400 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Initialize server without token, [Loopback], http://127.0.0.1:32400 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Waiting for initial servers = [Loopback], plex.tv 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Primary Server] Waiting to set the primary server 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Primary Server] Waiting for the last primary server, REDACTED_TOKEN, to connect 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Commands] Executing testServerConnection 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Commands] Executing testServerConnection 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Commands] Executing testServerConnection 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Companion] No companion found 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Finished initialization 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Providers] Initializing... 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Providers] Finished initialization 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Testing connection for REDACTED_SERVERNAME at https://REDACTED_REMOTE_IP.REDACTED_ADDR.plex.direct:32400/media/providers 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Testing connection for plex.tv at https://plex.tv/monitoring/health 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Testing connection for [Loopback] at http://127.0.0.1:32400/media/providers 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Testing legacy connection for [Loopback] at http://127.0.0.1:32400 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] [Loopback] is unavailable at http://127.0.0.1:32400/media/providers (Status 0) 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] [Loopback] is unavailable at http://127.0.0.1:32400/media/providers (Status 0) 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] All connections to [Loopback] failed 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Waiting for initial servers = plex.tv 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Retrying connection tests for [Loopback] in 2 seconds 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Companion] No companion found 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] plex.tv connected at https://plex.tv/monitoring/health 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Active connection to plex.tv is https://plex.tv 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Active connection to REDACTED_SERVERNAME is https://REDACTED_REMOTE_IP.REDACTED_ADDR.plex.direct:32400 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Servers] Waiting for initial servers = plex.tv 
2021-10-01 08:02:09 [ INFO  ] JS: %c[MediaServerEventManager] Opening server event connection to REDACTED_SERVERNAME at wss://REDACTED_REMOTE_IP.REDACTED_ADDR.plex.direct:32400/:/websockets/notifications?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Connections] Retrying server events connection for REDACTED_SERVERNAME in 2 seconds 
2021-10-01 08:02:09 [ INFO  ] JS: %c[Primary Server] REDACTED_SERVERNAME is now the primary server 
2021-10-01 08:02:09 [ INFO  ] JS: %c[User] userPromise succeeded 
2021-10-01 08:02:09 [ INFO  ] JS: %c[MediaServerEventManager] Opened server event connection to REDACTED_SERVERNAME at wss://REDACTED_REMOTE_IP.REDACTED_ADDR.plex.direct:32400/:/websockets/notifications?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx 

Doesn’t seem to use the *.plex.direct address to connect to the server, the first thing it tries is the IP and fails (not secure/cert error)

2021-10-01 08:02:52 [ INFO  ] PlayerComponent.cpp @ 600 - cplayer: Playing: https://REDACTED_REMOTE_IP:32400/library/parts/9946/1628396831/file.flac?X-Plex-Session-Identifier=zpcil5va7jq7xjpb8famkz5i&X-Plex-Client-Identifier=REDACTED_CLIENT_ID&X-Plex-Device-Screen-Resolution=1280x739%2C1280x800&X-Plex-Version=4.29.2&X-Plex-Features=external-media&X-Plex-Client-Capabilities=protocols%3Dshoutcast%2Chttp-video%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A2160%26level%3A52%7D%3BaudioDecoders%3Dmp3%2Caac%2Cdts%7Bbitrate%3A800000%26channels%3A2%7D%2Cac3%7Bbitrate%3A800000%26channels%3A2%7D&X-Plex-Product=Plex%20Media%20Player&X-Plex-Platform=Konvergo&X-Plex-Platform-Version=2.58.0.dev-ae73e074&X-Plex-Device=Linux&X-Plex-Device-Name=nmbp&X-Plex-Model=5.12&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx&X-Plex-Language=en&Accept-Language=en 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: Running hook: main/on_load 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: Set property: ad="flac" -> 1 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: Set property: vd="flac" -> 1 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - ffmpeg: Opening https://REDACTED_REMOTE_IP:32400/library/parts/9946/1628396831/file.flac?X-Plex-Session-Identifier=zpcil5va7jq7xjpb8famkz5i&X-Plex-Client-Identifier=REDACTED_CLIENT_ID&X-Plex-Device-Screen-Resolution=1280x739%2C1280x800&X-Plex-Version=4.29.2&X-Plex-Features=external-media&X-Plex-Client-Capabilities=protocols%3Dshoutcast%2Chttp-video%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A2160%26level%3A52%7D%3BaudioDecoders%3Dmp3%2Caac%2Cdts%7Bbitrate%3A800000%26channels%3A2%7D%2Cac3%7Bbitrate%3A800000%26channels%3A2%7D&X-Plex-Product=Plex%20Media%20Player&X-Plex-Platform=Konvergo&X-Plex-Platform-Version=2.58.0.dev-ae73e074&X-Plex-Device=Linux&X-Plex-Device-Name=nmbp&X-Plex-Model=5.12&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx&X-Plex-Language=en&Accept-Language=en 
2021-10-01 08:02:52 [ INFO  ] PlayerComponent.cpp @ 470 - Entering state: buffering 
2021-10-01 08:02:52 [ INFO  ] JS: %c[Player] Buffering detected by PMP 
2021-10-01 08:02:52 [ ERROR ] PlayerComponent.cpp @ 604 - ffmpeg: tls: Peer certificate failed verification 
2021-10-01 08:02:52 [ ERROR ] PlayerComponent.cpp @ 604 - stream: Failed to open https://REDACTED_REMOTE_IP:32400/library/parts/9946/1628396831/file.flac?X-Plex-Session-Identifier=zpcil5va7jq7xjpb8famkz5i&X-Plex-Client-Identifier=REDACTED_CLIENT_ID&X-Plex-Device-Screen-Resolution=1280x739%2C1280x800&X-Plex-Version=4.29.2&X-Plex-Features=external-media&X-Plex-Client-Capabilities=protocols%3Dshoutcast%2Chttp-video%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A2160%26level%3A52%7D%3BaudioDecoders%3Dmp3%2Caac%2Cdts%7Bbitrate%3A800000%26channels%3A2%7D%2Cac3%7Bbitrate%3A800000%26channels%3A2%7D&X-Plex-Product=Plex%20Media%20Player&X-Plex-Platform=Konvergo&X-Plex-Platform-Version=2.58.0.dev-ae73e074&X-Plex-Device=Linux&X-Plex-Device-Name=nmbp&X-Plex-Model=5.12&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx&X-Plex-Language=en&Accept-Language=en. 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: Opening failed or was aborted: https://REDACTED_REMOTE_IP:32400/library/parts/9946/1628396831/file.flac?X-Plex-Session-Identifier=zpcil5va7jq7xjpb8famkz5i&X-Plex-Client-Identifier=REDACTED_CLIENT_ID&X-Plex-Device-Screen-Resolution=1280x739%2C1280x800&X-Plex-Version=4.29.2&X-Plex-Features=external-media&X-Plex-Client-Capabilities=protocols%3Dshoutcast%2Chttp-video%3BvideoDecoders%3Dh264%7Bprofile%3Ahigh%26resolution%3A2160%26level%3A52%7D%3BaudioDecoders%3Dmp3%2Caac%2Cdts%7Bbitrate%3A800000%26channels%3A2%7D%2Cac3%7Bbitrate%3A800000%26channels%3A2%7D&X-Plex-Product=Plex%20Media%20Player&X-Plex-Platform=Konvergo&X-Plex-Platform-Version=2.58.0.dev-ae73e074&X-Plex-Device=Linux&X-Plex-Device-Name=nmbp&X-Plex-Model=5.12&X-Plex-Token=xxxxxxxxxxxxxxxxxxxx&X-Plex-Language=en&Accept-Language=en 
2021-10-01 08:02:52 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: finished playback, loading failed (reason 4)

EDIT:

Another possible theory - maybe an API change they’ve made for something else has unintentionally broke PMP? Important information about Plex for smart TVs after September 30, 2021.


EDIT 2:
Looks like I was wrong with both of the above, after I managed to dig up logs from 2020 on an older system and compare the two. I think this is indeed the Letsencrypt root cert issue, but it seems to only be affecting something related to PlayerComponent.cpp/cplayer/ffmpeg. The rest of the app seems to work just fine over HTTPS.

My limited knowledge here can only suggest this is might be caused by an older version of openssl being compiled in e.g. <= v1.0.2, which prefers expired certs over new ones.

The Appimage works perfectly fine, but will definitely miss the auto updates and nicer system integration offered by the Flatpak

@yardeboynich I switched from the Flatpak version the the appimage version and it started working. Not sure what difference there were in the code base but that one was working for me.

2 Likes

Same for me on Ubuntu 20.04.3 LTS. Flatpak just stopped working yesterday. Update nor reinstall resolved the issue but I can confirm the AppImage works.

I can see the content and server but when trying to play anything I get “Playback Error” and "An error occurred trying to play “”.

I also get the “An error occurred trying to play” error when trying to play anything, using the AppImage.

I found this in the PMP debug log. Doesn’t make me any wiser:

  {
    "type": "log:message",
    "level": 1,
    "message": "[Player] A critical PMP media error occurred: loading failed; the player cannot recover",
    "time": "2021-10-02T17:36:13.309Z"
  },
  {
    "type": "log:message",
    "level": 1,
    "message": "[Player] Video transcode failed. Attempting to fallback to video and audio transcode...",
    "time": "2021-10-02T17:36:13.310Z"
  },

Which AppImage version are you running? Mine is 2.58.0.dev-ae73e074 and works fine.

I’ve never seen that log format before… try checking the log file located under $HOME/.local/share/plexmediaplayer/logs. A poke around in there will tell you exactly what component is causing the playback hiccup

I had the same problem as of 1st of October, so I suspected it was the LetsEncrypt certificate expiry I read about. Thanks for the info @yardeboynich, after reading the link , I did a bit of googling and I found this on how to remove the out of date certificate, so openssl 1.02 will use the new version. Just make sure the new certificate is present on the client.

After removing the expired certificate on my ubuntu PMP I was able to play content from a server that previously would not play anything.But did display the library contents.

A second server I connect to still has the problem, but I suspect it is the server that has old certificates. I am getting a tls: Peer certificate failed verification error on the player when I connect to that one still.

I’ll repost if I can solve that one . It is a old windows machine running a plex server

edit: updating the second server to the latest version fixed the second server.

So make sure the server is newer then 21.3 and removing the expired certificate from the client fixes the problem of the library being displayed but nothing being playable.

I’m also running 2.58.0.dev-ae73e074. I checked the log file you mentioned and it’s the ffmpeg/openssl issue. Removing the DST Root CA X3 certificate (old LetsEncrypt root certificate) fixed it.

I am not a Linux expert but I do use raspberry pi’s for multiple things in my house. I’m savvy enough to get raspberry pi OS up and running as well as install packages etc.

So I apologize if this is not the correct thread but is this conversation relevant for arm platforms or is this only x86? I have a long wanted a client that I can put on a raspberry pie to use as Plex streamers in some of the other rooms in my house.

Sorry if I’m in the wrong place!

I’m having the same issue on my Ubuntu install with Flatpak Plex Media Player version installed. Would you mind being a bit more specific with your fix? Where did you delete the old cert and then did you have to generate a new one or simply run sudo dpkg-reconfigure ca-certificates as found in the link you provided?

Hi @ksnell
before I removed the expired certificate I ran this to make sure I had the latest installed

sudo update-ca-certificates --fresh

the link in my post above tells you to run in a terminal

sudo dpkg-reconfigure ca-certificates

use tab to select “yes”

on the next screen use the arrow keys to scroll down to mozilla/DST_Root_CA_X3.crtcertificate ( in my case, I’m not sure they all have mozilla)

(the list is alphabetical order)

use the space bar to de-select it

while you are in there ensure that you havemozilla/ISRG_Root_X1.crt this one should be present and enabled it is the replacement certificate so leave it as it is.
then tab to ok and press enter
that should remove the problem certificate.
and fix the plex issue

:slight_smile:

Noob question here.

I am just trying this out for the first time. I am not able to get passthrough working. I have it running on a PopOS system with pulseaudio.

I can get pass through running on the kodi and shows on my AVR as DTS / AC3.

But the plex media player doesn’t seem to find this. Disabling passthrough the audio works.What I missing some here?

2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Codec list:
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd:     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd:     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd:     h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd:     h264_cuvid (h264) - Nvidia CUVID H264 decoder
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Opening decoder h264
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: No hardware decoding requested.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Using software decoding.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Detected 8 logical cores.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Requesting 9 threads for decoding.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: DR failed - disabling.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: Window size: 1280x720
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: Video source: 0x0 (0:0)
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: Video display: (0, 0) 1x1 -> (0, 0) 1280x720
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: Video scale: 1280.000000/720.000000
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: OSD borders: l=-1073741184 t=0 r=-1073741184 b=0
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - libmpv_render: Video borders: l=0 t=0 r=0 b=0
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vd: Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vf: User filter list:
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - vf:   (empty)
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - ad: Codec list:
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - ad:     spdif_dts (dts) - libavformat/spdifenc audio pass-through decoder
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - ad: Opening decoder spdif_dts
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - ad: Selected codec: spdif_dts (libavformat/spdifenc audio pass-through decoder)
2021-10-12 09:24:41 [ ERROR ] PlayerComponent.cpp @ 604 - lavcac3enc: Couldn't find encoder ac3.
2021-10-12 09:24:41 [ ERROR ] PlayerComponent.cpp @ 604 - user_filter_wrapper: Creating filter 'lavcac3enc' failed.
2021-10-12 09:24:41 [ ERROR ] PlayerComponent.cpp @ 604 - cplayer: Audio filter initialized failed!
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - ad: Uninit decoder.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - mkv: deselect track 1
2021-10-12 09:24:41 [ INFO  ] PlayerComponent.cpp @ 600 - cplayer: Audio: no audio
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - sub/ass: Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 2.7.4 (COMPLEX)
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - sub/ass: Setting up fonts...
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - sub/ass: Using font provider fontconfig
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - sub/ass: Done.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: Starting playback...
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - mkv: queuing seek to 7390.000000
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - mkv: execute seek (to 7390.000000 flags 32)
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - cplayer: hr-seek, skipping to 7390.000000
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - cache: Dropping cache at pos 12517755777, cached range: 8227-3955475.
2021-10-12 09:24:41 [ DEBUG ] PlayerComponent.cpp @ 598 - cache: Seeking underlying stream: 3955475 -> 12517755777


This is my settings.

        "audio": {
            "allowAC3": true,
            "allowDCA": true,
            "allowEAC3": false,
            "allowTrueHD": false,
            "audioBoost": 100,
            "channels": "5.1",
            "device": "alsa/iec958:CARD=PCH,DEV=0",
            "devicetype": "spdif",
            "exclusive": false,
            "normalize": false,
            "passthrough.ac3": true,
            "passthrough.dts": true,
            "passthrough.dts-hd": false,
            "passthrough.eac3": false,
            "passthrough.truehd": false
        },

Hey thanks for writing that out. I followed along and unfortunately it did not seem to solve the issue for me. After running the first two commands, I could not see mozilla/DST_Root_CA_X3.crt to deselect. I did however see mozilla/ISRG_Root_X1.crt and left it enabled. Not sure what the deal is.

In my previous post, I mentioned removing the certificate on the client fixed it for a connection to one of 3 servers I connect too. Two other servers which I was also connecting too still caused the same problem with the client. They were version19.~ and 21.3,
the server that worked was version 21.4 removing the certificates from these servers did not fix the problem for connecting to those particular servers.
We upgraded them to the latest version of plex server and then I could connect to all 3 servers. Might be worth checking your server version.