Package Details: discord-electron 0.0.37-1

Git Clone URL: (read-only, click to copy)
Package Base: discord-electron
Description: Discord using system provided electron (v24) for increased security and performance
Upstream URL:
Keywords: discord discord-stable discordapp electron
Licenses: custom
Conflicts: discord
Provides: discord
Submitter: SunRed
Maintainer: SunRed
Last Packager: SunRed
Votes: 10
Popularity: 0.57
First Submitted: 2023-04-03 07:00 (UTC)
Last Updated: 2023-12-05 20:45 (UTC)

Dependencies (9)

Required by (18)

Sources (2)

Pinned Comments

SunRed commented on 2022-10-23 08:55 (UTC) (edited on 2023-06-02 20:00 (UTC) by SunRed)

Maybe I should write down the motivation for creating yet another Discord AUR package:

  • This package uses a better/correct naming scheme that is also recommended by the Arch package guidelines (also underscores are just ugly).
  • Launch script uses an additional option to enable Wayland on supported systems and allows defining additional custom Electron flags (e.g. to enable gpu acceleration).
  • The launch script includes a rudimentary patch that allows for Krisp noise suppression support.
  • U̶s̶e̶ ̶o̶f̶ ̶E̶l̶e̶c̶t̶r̶o̶n̶ ̶1̶3̶ ̶t̶h̶a̶t̶ ̶i̶s̶ ̶t̶h̶e̶ ̶l̶a̶s̶t̶ ̶v̶e̶r̶s̶i̶o̶n̶ ̶t̶h̶a̶t̶ ̶d̶o̶e̶s̶n̶'̶t̶ ̶m̶a̶k̶e̶ ̶D̶i̶s̶c̶o̶r̶d̶ ̶c̶r̶a̶s̶h̶ ̶w̶h̶e̶n̶ ̶v̶i̶e̶w̶i̶n̶g̶ ̶a̶ ̶v̶i̶d̶e̶o̶ ̶f̶e̶e̶d̶ ̶(̶c̶a̶m̶e̶r̶a̶ ̶o̶r̶ ̶s̶c̶r̶e̶e̶n̶ ̶s̶h̶a̶r̶e̶)̶.̶ ̶E̶l̶e̶c̶t̶r̶o̶n̶ ̶1̶5̶ ̶(̶a̶n̶d̶ ̶1̶6̶-̶1̶9̶ ̶w̶i̶t̶h̶ ̶a̶ ̶p̶a̶t̶c̶h̶)̶ ̶a̶l̶s̶o̶ ̶w̶o̶r̶k̶e̶d̶ ̶i̶n̶ ̶m̶y̶ ̶e̶x̶p̶e̶r̶i̶e̶n̶c̶e̶ ̶b̶u̶t̶ ̶c̶r̶a̶s̶h̶e̶s̶ ̶o̶n̶ ̶r̶e̶c̶e̶i̶v̶i̶n̶g̶ ̶v̶i̶d̶e̶o̶ ̶f̶e̶e̶d̶s̶.̶ ̶I̶f̶ ̶t̶h̶i̶s̶ ̶i̶s̶s̶u̶e̶ ̶c̶a̶n̶ ̶b̶e̶ ̶r̶e̶s̶o̶l̶v̶e̶d̶ ̶I̶ ̶w̶i̶l̶l̶ ̶u̶p̶d̶a̶t̶e̶ ̶t̶h̶e̶ ̶E̶l̶e̶c̶t̶r̶o̶n̶ ̶v̶e̶r̶s̶i̶o̶n̶ ̶u̶s̶e̶d̶ ̶b̶y̶ ̶t̶h̶i̶s̶ ̶p̶a̶c̶k̶a̶g̶e̶.̶ (Discord supports Electron 22 now)

For streaming / sharing a screen on Wayland I recommend using discord-screenaudio in tandem with this package.

Maintenance of this package is done in my Gitea repo.

Latest Comments

1 2 Next › Last »

SunRed commented on 2023-11-02 15:14 (UTC)

@LRitzdorf greping the app.asar, this seems absolutely patchable. Thanks for the hint, I will look into it on the weekend. The OpenAsar package apparently needs a similar fix.

LRitzdorf commented on 2023-11-01 04:55 (UTC)

Quick note: it looks like the option to open Discord at startup doesn't behave quite as expected. Enabling the toggle does create an autostart entry, but it launches plain /usr/lib/electron24/electron, as opposed to Discord itself. Not sure how much of that is due to internal Discord behavior that can't (easily) be changed, but thought it was at least worth mentioning.

SunRed commented on 2023-10-17 21:14 (UTC)

@darkbasic Do you by any chance have this issue with the discord package from the official repos as well? If yes it's some gnome bug and not necessarily related to the Electron version used.

darkbasic commented on 2023-10-17 19:55 (UTC)

Yeah gnome is the worst when it comes to systray.

SunRed commented on 2023-10-17 18:24 (UTC)

@darkbasic Sadly I cannot reproduce this behavior but so far I only tested it on KDE, sway and hyprland.

darkbasic commented on 2023-10-17 17:17 (UTC) (edited on 2023-10-17 17:17 (UTC) by darkbasic)

@SunRed it's already enabled there but doesn't show up the in systray. The process remains alive despite the window disappears from the screen.

SunRed commented on 2023-10-17 16:40 (UTC)

@darkbasic You have to enable "Minimize to Tray" in Settings > App Settings > Linux Settings in Discord itself as well for it to work.

darkbasic commented on 2023-10-17 08:43 (UTC)

It doesn't minimize in the system tray despite having both libappindicator-gtk3 and gnome-shell-extension-tray-icons-reloaded. I'm using the ozone wayland backend.

SunRed commented on 2023-09-02 16:36 (UTC)

As I didn't announce it here when I updated the package: As of 0.0.29-2 Electron 24 is now used, segfaults due to arch repo's electron22 version shouldn't occur any longer. electron25 with this package resulted in unstable behavior again.

clems4ever commented on 2023-07-22 14:27 (UTC)

I'm facing what looks like the same issue as @weirdbeard. Discord crashes when starting. I can see the update screen and then it segfaults.

2023-07-22T14:20:01.223Z [Modules] Modules initializing
2023-07-22T14:20:01.224Z [Modules] Distribution: remote
2023-07-22T14:20:01.224Z [Modules] Host updates: enabled
2023-07-22T14:20:01.224Z [Modules] Module updates: enabled
2023-07-22T14:20:01.224Z [Modules] Module install path: /home/cmichaud/.config/discord/0.0.28/modules
2023-07-22T14:20:01.224Z [Modules] Module installed file path: /home/cmichaud/.config/discord/0.0.28/modules/installed.json
2023-07-22T14:20:01.224Z [Modules] Module download path: /home/cmichaud/.config/discord/0.0.28/modules/pending
[129484:0722/] Passthrough is not supported, GL is egl, ANGLE is 
2023-07-22T14:20:01.316Z [Modules] No updates to install
2023-07-22T14:20:01.317Z [Modules] Checking for host updates.
2023-07-22T14:20:01.455Z [Modules] Host is up to date.
2023-07-22T14:20:01.455Z [Modules] Checking for module updates at
2023-07-22T14:20:01.480Z [Modules] No module updates available.
Optional module ./ElectronTestRpc was not included.
[WebContents] crashed (reason: crashed, exitCode: 139)... reloading
Optional module ./ElectronTestRpc was not included.
[WebContents] double crashed (reason: crashed, exitCode: 139)... RIP =(

I'm facing it with the official discord, this discord-electron as well as discord_arch_electron.

It's happening on wayland only apparently because I tried to run it on X and it seems to work.

I have tried to debug and came up with this stack trace which does not give me an obvious answer

[Thread debugging using libthread_db enabled]                                                                                                                                                                                                                                                                                                                                
Using host libthread_db library "/usr/lib/".
Core was generated by `/usr/lib/electron24/electron --type=renderer --crashpad-handler-pid=120751 --en'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  XInternAtom (dpy=0x0, name=0x7f4e07a750c0 "_NET_WM_PID", onlyIfExists=1) at /usr/src/debug/libx11/libX11-1.8.6/src/IntAtom.c:175
175   LockDisplay(dpy);                                                                                                                                                                                                                                                                                                                                                
[Current thread is 1 (Thread 0x7f4e079ff6c0 (LWP 120982))]
(gdb) bt
#0  XInternAtom (dpy=0x0, name=0x7f4e07a750c0 "_NET_WM_PID", onlyIfExists=1) at /usr/src/debug/libx11/libX11-1.8.6/src/IntAtom.c:175
#1  0x00007f4e07a2fc0b in discord::ProcessObserver::PlatformInit() () at ../../discord_desktop/native_modules/discord_utils/src/process_observer_linux.cpp:90
#2  0x00007f4e07a1bb2f in (anonymous namespace)::CreateWorker()::$_19::operator()() const (this=<optimized out>) at ../../discord_desktop/native_modules/discord_utils/src/utils_bindings.cpp:56
#3  discord::uv::Executor::ExecuteBlocking<(anonymous namespace)::CreateWorker()::$_19>((anonymous namespace)::CreateWorker()::$_19&&)::{lambda()#1}::operator()() const (this=<optimized out>) at ../../discord_common/native/uv/executor.h:52
#4  discord::uv::Task<discord::uv::Executor::ExecuteBlocking<(anonymous namespace)::CreateWorker()::$_19>((anonymous namespace)::CreateWorker()::$_19&&)::{lambda()#1}>::Run() (this=0x14a8017a7660) at ../../discord_common/native/uv/executor.h:29
#5  0x00007f4e07a33f09 in discord::uv::Executor::ExecutePending() (this=0x14a8016c9800) at ../../discord_common/native/uv/executor.cpp:140
#6  0x0000563825aa8ec3 in uv.async_io ()
#7  0x0000563825ab9588 in uv.io_poll ()
#8  0x0000563825aa9309 in uv_run ()
#9  0x00007f4e07a34699 in discord::uv::ThreadedEventLoop::ThreadMain(char const*, std::__1::promise<void>) (this=0x0, name=<optimized out>, ready=...) at ../../discord_common/native/uv/threaded_event_loop.cpp:95
#10 0x00007f4e07a3496d in std::__1::__invoke<void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void>, void>(void (discord::uv::ThreadedEventLoop::*&&)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*&&, char const*&&, std::__1::promise<void>&&)
    (__f=@0x14a8017e1118: (void (discord::uv::ThreadedEventLoop::*)(class discord::uv::ThreadedEventLoop * const, const char *, class std::__1::promise<void>)) 0x7f4e07a345d0 <discord::uv::ThreadedEventLoop::ThreadMain(char const*, std::__1::promise<void>)>, __a0=@0x14a8017e1128: 0x14a8017cfa98, __args=@0x14a8017e1130: 0x7f4e07a74bfd "Utils", __args=...)
    at ../../discord_common/native/third_party/llvm/libcxx/include/type_traits:3470
#11 std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void>, 2ul, 3ul, 4ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void> >&, std::__1::__tuple_indices<2ul, 3ul, 4ul>) (__t=...) at ../../discord_common/native/third_party/llvm/libcxx/include/thread:273
#12 std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (discord::uv::ThreadedEventLoop::*)(char const*, std::__1::promise<void>), discord::uv::ThreadedEventLoop*, char const*, std::__1::promise<void> > >(void*) (__vp=0x14a8017e1110)
    at ../../discord_common/native/third_party/llvm/libcxx/include/thread:283
#13 0x00007f4eac09d44b in start_thread (arg=<optimized out>) at pthread_create.c:444
#14 0x00007f4eac120e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

I have tried using many versions of electron (20, 22, 23, 24, 25), always the same issue and whatever the flag, either --ozone-platform=wayland or --ozone-platform-hint=auto. I also tried to strace the process but without any luck so far.

Anyone has any idea what could be the problem?