#No Discord Rich Presence with arRPC!

1 messages · Page 1 of 1 (latest)

tiny pilot
#

This is strange, because it's worked before on a different machine (KDE Fedora + Vesktop). Here's an excerpt from the logs:

Discord.ResultException: InternalError
   at Discord.Discord..ctor(Int64 clientId, UInt64 flags) in DiscordGameSDK/Discord/Core.cs:line 1073
   at Celeste.Mod.Everest.DiscordSDK..ctor(Game game) in Celeste.Mod.mm/Mod/Everest/Everest.DiscordSDK.cs:line 67
(08/27/2025 19:58:31) [Everest] [Info] [discord-game-sdk] Discord Game SDK disposed
(08/27/2025 19:58:31) [Everest] [Info] [discord-game-sdk] Discord Game SDK disposed
(08/27/2025 19:58:31) [Everest] [Info] [discord-game-sdk] Discord Game SDK disposed
(08/27/2025 19:58:31) [Everest] [Warn] [discord-game-sdk] Could not initialize Discord Game SDK!

arRPC running through Vesktop 1.5.8, Arch Linux, Hyprland 0.50.1, Everest 1.5720.0

#

This, as far as I can tell, is not a very verbose error

#

"internal error" yes? go on?

#

Is there any possible way to debug this further?

#

cc @sonic falcon, whenever you've the time cutebaddy

#

according to #1359300019332710472 message its impossible D:

#

hmmmm

tiny pilot
#

Oh lovely I figured it out

#

Flatpak nonsense

#

TWO LAYERS DEEP

tiny pilot
#

symlinked the flatpak discord-ipc-0 to the native one, still doesn't work :D

#

in other news, I just typed "steak" instead of steam

#

I cooked it

#

yep that's enough shenanigans for one day

sonic falcon
#

I don't even know if it works on my end with Vesktop installed with the .deb

tiny pilot
#

Guys I think I might be running it through Proton

severe mauve
#

might?

tiny pilot
#

I don’t rember

#

I just woke up 😭

#

bwehhhhh gonna get some food and come back to this

tiny pilot
#

if this is unchecked, it's not, right?

severe mauve
#

That should be the case but I think it can be bugged sometimes

#

Can you send screenshot/ls of your celeste folder

tiny pilot
#

Both Celeste and Celeste.dll exist.. is that normal concerneline

severe mauve
#

yeah

stable gorge
#

Celeste is an unmanaged linux apphost which then executes the managed Celeste.dll which has all the .NET celeste code, using either the system-wide installed runtime or the runtime installed in piton-runtimes

tiny pilot
#

so I’m running it through native Linux then

#

well that doesn’t really help, does it

#

if it’s Proton then I would’ve had some ideas

stable gorge
#

running celeste via proton in 90% of cases makes things worse

#

and we don't really support it

tiny pilot
#

hmm

#

oh wait

#

I fear I may have done a silly

#

more testing is required

#

right now the plan is symlinking /run/user/1000/.flatpak/…/discord-ipc-0 to /run/user/1000/discord-ipc-0

#

or is it the other way around?

#

either way Steam needs to be able to access the native socket

stable gorge
tiny pilot
stable gorge
#

how is this ipc thing supposed to help anyways

tiny pilot
#

discord-ipc-0 is the socket at which Discord listens for RPC responses

#

I believe the issue is caused by a combination of Flatpak Steam and native Vesktop

stable gorge
#

i've seen this happen to people without flatpak but i don't remember whether any of them didn't have flatpak steam

tiny pilot
#

allowing Steam to communicate with the native socket instead of the sandboxed one (which is for Flatpak Discord) should fix the issue

#

so a good test may be to install Vesktop through Flatpak?

stable gorge
#

is discord-ipc-0 a FIFO

tiny pilot
#

what that

stable gorge
#

pipe

#

mkfifo makes a named pipe file

#

if you do ls -F the file should be ending with a pipe symbol (|)

tiny pilot
#

I will do that when I return home

#

I’m gonna be honest though, I’ve never worked with this socket business

stable gorge
#

-# and i don't run linux

tiny pilot
tiny pilot
#

bump so the thread doesn’t close

#

I’ll come back to this soon I swear

stable gorge
#

we don't auto close threads

tiny pilot
#

it disappears from the menu for me though and I want it there so I can rember

#

otherwise I forgor bweheline

stable gorge
#

fair i guess

sonic falcon
#

"defaultAutoArchiveDuration": 1440
uhh
the unit is apparently minutes, so that's 1 day

#

well, to answer my own question, it works™ on Linux with Vesktop and no Flatpak anywhere

tiny pilot
sonic falcon
#
const SOCKET_PATH = platform === 'win32' ? '\\\\?\\pipe\\discord-ipc'
  : join(env.XDG_RUNTIME_DIR || env.TMPDIR || env.TMP || env.TEMP || '/tmp', 'discord-ipc');

in my case XDG_RUNTIME_DIR is /run/user/1000 and I can indeed find that file

$ ls -l /run/user/1000/discord-ipc-0 
srwxrwxr-x 1 maddie maddie 0 août  30 21:46 /run/user/1000/discord-ipc-0
stable gorge
#

confusing name, i know

sonic falcon
#

"archive" and "close" are 2 separate things? ohnoshiro

stable gorge
#

yep

stable gorge
#

if you ls -lF does it show /run/user/1000/discord-ipc-0|

sonic falcon
#

it shows /run/user/1000/discord-ipc-0=

stable gorge
#

hm

sonic falcon
#
-F, --classify
       append indicator (one of */=>@|) to entries

thanks man, now I know what that's supposed to mean

stable gorge
#

okay so it's not a fifo

sonic falcon
#

stat was the one that told me that it was a socket

#
$ stat /run/user/1000/discord-ipc-0
  Fichier : /run/user/1000/discord-ipc-0
   Taille : 0           Blocs : 0          Blocs d'E/S : 4096   socket
Périphérique : 33h/51d  Inœud : 532         Liens : 1
Accès : (0775/srwxrwxr-x)  UID : ( 1000/  maddie)   GID : ( 1000/  maddie)
[...]
#

well okay, with less 🧀

$ LC_MESSAGES=en stat /run/user/1000/discord-ipc-0
  File: /run/user/1000/discord-ipc-0
  Size: 0               Blocks: 0          IO Block: 4096   socket
Device: 33h/51d Inode: 532         Links: 1
Access: (0775/srwxrwxr-x)  Uid: ( 1000/  maddie)   Gid: ( 1000/  maddie)
#

this is, in fact, a socket

#

(there are doors? tf)

sonic falcon
tiny pilot
#

That one is apparently symlinked to ./com.discordapp.Discord/discord-ipc-0

tiny pilot
#

Theoretically editing the symlink to point to run/user/1000/discord-ipc-0 should work, but I’m not quite sure how to allow Flatpak to access a file outside of its bounds

#

Connection out here is ass