Rich presence discord linux

Discord

Discord is a proprietary, cross-platform, all-in-one voice and text chat application. Many open-source communities have official Discord servers as well. Discord can be used through a web browser or through the desktop application, which is made with Electron.

Installation

You can use one of the following packages to install the desktop application for Discord:

Warning: The usage of third-party clients, or any unofficial package or application that modifies the Discord client, is against Discord’s Terms of Service and may get your account banned [1]. You take all responsibility when using such packages. Avoid using outdated or abandoned clients, as they are more likely to trigger Discord’s anti-spam system in their API and thus get your account banned.

Graphical clients

Official applications

Official clients using system electron

Official clients, using the system provided electron for increased security and potentially better performance:

Third-party clients

  • Abaddon — An alternative Discord client made with C++/gtkmm with voice support.
  • discord-screenaudio — A custom discord client that supports streaming with audio on Linux.
  • Fast-Discord — A new Discord client made in C++ and Qt. Discontinued on Feb 26, 2023.
  • gtkcord4 — GTK4 Discord client in Go.
  • Ripcord — A lightweight, proprietary desktop chat client for group-centric services like Slack and Discord built upon the Qt toolkit.
  • WebCord — Wrapper for the web client that improves privacy and allows for screensharing on Wayland.
  • VenCord — A Discord client mod that loads entirely before Discord’s boot—aiming to make it faster and more stable.

Command-line clients

There are numerous CLI-based third party clients on the AUR (and non-packaged ones on Github), although most are deprecated or broken. discordo is maintained and packaged on the AUR as discordo-git AUR .

Chat client plugins

  • purple-discord — Discord plugin for libpurple based messengers such as Pidgin
  • bitlbee-discord — Discord plugin for Bitlbee
  • weechat-discord — Discord plugin for WeeChat

Custom CSS & plugins

  • BetterDiscord — A project which allows Discord to be modified to use custom CSS and plugins.
  • Discocss — A simple script that can inject custom CSS into Discord clients. To inject CSS into the discord-ptbAUR and discord-canaryAUR versions, replace any mentions of the discord folder with the version in use.
  • Replugged — A fork of Powercord, the lightweight discord client mod focused on simplicity and performance.
Читайте также:  Linux запуск терминала от имени администратора

Overlay

For Linux clients, Discord does not support in-game overlay. discover-overlay AUR is an open-source GTK application that provides these functions. Discover works on X11 or wlroots environments.

Utilities

Tips and tricks

GNOME top bar icon

If you would like to have the icon on the top bar of GNOME, install the AppIndicator and KStatusNotifierItem Support extension and libappindicator-gtk3 .

Discord asks for an update not yet available in the repository

Discord will refuse to launch if there is an update available, and the following message will be shown «Must be your lucky day, there’s a new update!». If the updated version is not yet available in the official repos, you can build and install the updated package using the Arch Build System.

To disable the update check, add the following to ~/.config/discord/settings.json :

~/.config/discord/settings.json

Note that you will need to add an extra comma after the «WINDOW_BOUND» array due to JSON requirements, i.e.:

Start Discord minimized

Discord can be started minimized through the —start-minimized argument.

Microphone noise suppression

Discord now has noise suppression built in, with both a standard option and an AI-powered option provided by Krisp. You can also provide your own noise suppression on PipeWire by following PipeWire#Noise suppression for voice.

Screen sharing with audio

This article or section is out of date.

Reason: Discord’s intent is to eventually provide native audio sharing via PipeWire. [2] (Discuss in Talk:Discord)

This article or section needs expansion.

Reason: This looks like a good starting point for setting up PipeWire audio routing: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#create-a-sink (Discuss in Talk:Discord)

Screen sharing with audio is not officially supported on Linux. One alternative to this is to route the application audio through your microphone:

  • For PulseAudio, following PulseAudio/Examples#Remapping select audio sources to obtain a Monitor of source for the program to share, which can be used as input for another instance of Discord running in a browser.

Another approach is to use a modded client that will feed the audio into the Discord stream rather than mixing it in with the microphone:

  • For PipeWire, a current workaround, and most likely the easiest way to use audio screen sharing, is to use discord-screenaudioAUR .

Warning: Modded clients are against the Discord Terms of Service; see #Installation for more details.

Enabling Developer Tools

Warning: Code that is pasted into the Console of the developer tools has the ability to steal your credentials and compromise your Discord account. Do not enable this unless you know what you are doing.

After a recent update, devtools were disabled by default on Discord for safety reasons. To re-enable them, add this to ~/.config/discord/settings.json :

"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true

Enabling Text-to-Speech

By default, Text-to-Speech is disabled in the Discord client. However, it can be enabled using the —enable-speech-dispatcher flag. This utilizes the speech-dispatcher daemon to output the speech.

Troubleshooting

Lagging when scrolling through your guilds

If you experience lags and stutters while scrolling through your guilds please ensure that your hardware acceleration is working correctly. You can do this by opening chrome://gpu in a Chromium based browser. If it is not working please check the chapter on Hardware video acceleration and try running Discord with some additional options:

$ discord --ignore-gpu-blocklist --disable-features=UseOzonePlatform --enable-features=VaapiVideoDecoder --use-gl=desktop --enable-gpu-rasterization --enable-zero-copy

Crackling during voice calls

If you experience crackling sounds when in voice chat, try the steps outlined in PulseAudio/Troubleshooting#Troubleshooting buffer underruns (glitches, skips, crackling).

Читайте также:  Linux asus eee pc 901

Screen sharing on Wayland

As of version 0.0.17, the Screen Share feature does not work on Wayland, even when enabling Ozone for Wayland using /usr/bin/discord —enable-features=UseOzonePlatform —ozone-platform=wayland . See this Reddit post and the Discord bug report.

As a work around webcord AUR can be used which fully supports screensharing on Wayland, however lacks features like rich presence as it bundles the web version of Discord. The web version itself may also be used.

Enabling rich presence on Flatpak

When using the Flatpak version of Discord, Rich Presence will not work out of the box. To make it work, it is necessary to create a symlink from $XDG_RUNTIME_DIR/discord-ipc-0 to $XDG_RUNTIME_DIR/app/com.discordapp.Discord/discord-ipc-0 . To create the symlink for the current user session, run:

To automatically create the symlink, systemd-tmpfiles can be used by adding the following line to a file with the .conf extension in ~/.config/user-tmpfiles.d/ :

L %t/discord-ipc-0 - - - - app/com.discordapp.Discord/discord-ipc-0

Discord becomes unresponsive during long calls

If Discord becomes unresponsive during long calls, try the —no-sandbox argument. You can also add the following to your .bashrc, or alias file for your shell:

alias discord='discord --no-sandbox'

Discord freezes after getting pinged or messaged

If a message that would trigger a notification (pings, DMs, servers with notifications on, etc) causes the client to freeze, the client is failing to find a notification server. To fix it without installing a notifications server, disable Enable Desktop Notifications in the Notifications options.

Notification sounds do not work with PipeWire

Emojis are not rendered correctly

If you encounter rendering issues regarding emojis (rendering as rectangles for example), discord-canary-electron-bin AUR has the appropriate fonts as optional dependencies. You should install ttf-symbola AUR , noto-fonts-cjk , and noto-fonts-emoji .

ttf-twemoji AUR is required for emoji to appear in channel names. Be sure to install 75-twemoji.conf to /etc/fonts/conf.d/ , which doesn’t happen by default.

If clicking a link does not open a tab in your default web browser, you should install the xdg-utils optional dependency.

Sync with computer feature not working

Discord is parsing the following file to find which theme to apply:

$HOME/.config/gtk-3.0/settings.ini

and it is looking for these specific lines:

[Settings] gtk-theme-name=Adwaita-dark

If you change the theme from Adwaita-dark to Adwaita, then Discord will automatically change to light version and vice-versa.

Note that Discord only supports a few popular themes, so if it does not work for your particular theme (in this example with Materia theme), a «dirty» fix would be to put the following in your settings.ini file:

[Settings] gtk-theme-name=Adwaita-dark gtk-theme-name=Materia-dark

The definition order is important because GTK will use the second variable definition so in this case Materia-dark but Discord will still successfully detect that you are using a dark theme by providing Adwaita-dark in the first variable definition of the GTK theme.

Blurry Discord icon in KDE Plasma system tray

You can attempt to fix this issue by installing libappindicator-gtk3 to replace libappindicator-gtk2 , which is known to cause this issue.

Читайте также:  TODO supply a title

Discord spams systemd journal

You may find that Discord creates a lot of messages in your journal in a format like:

(device_info_linux.cc:45): NumberOfDevices 

To disable the logging that causes this pollution: go to User Settings, select «Voice & Video», scroll to bottom of the screen and disable «Debug Logging».

No voice chat in a pure-ALSA environment

Discord’s desktop application relies on PulseAudio for voice chat and does not run on ALSA directly. Using apulse as a workaround is, in this case, deprecated. If you want to use Discord’s voice chat without PulseAudio or Pipewire, access Discord’s web client through a Chromium-based web browser. Alternatively, as a Chromium-based wrapper, Webcord works in pure-ALSA environments.

If you choose this route and are unable to unmute, i.e., to get permission to access your microphone, set it as default capture device in ~/.asoundrc . Also, in Discord, go to User Settings > Voice & Video > Input Device, and make sure Default is selected.

Notification badge is missing

Discord can display a badge showing the number of unread mentions on the taskbar icon. If the badge is not displayed, verify that the libunity AUR package is installed, as it is required for this feature to work.

Black screen on Wayland on NVIDIA proprietary driver

Discord on Wayland requires VA-API support, which the NVIDIA proprietary driver does not have. A translation layer such as libva-nvidia-driver AUR can be used to get VA-API support.

Источник

How to Compile and Package Discord Rich Presence for Linux

This guide is for Discord plugin users that can’t compile or package their game for the Linux platform.

The first step is to download all of the required files.

Downloading the Files

To download the library files necessary for compilation, navigate to the releases section of the DiscordRPC GitHub page.

This file is hosted on the official Discord GitHub page and not CouchLearn.com

Find the latest release (Green text on the left) and download the discord-rpc-linux.zip file.

Downloading the files for Linux compilation

Unzip the discord-rpc-linux.zip file somewhere you can easily access it.

Installing the Files

Include Files

Navigate to the /ThirdParty/DiscordRpcLibrary folder in your project’s plugins folder and check if you already have the Include folder.

Renaming the include folder to Include

If you have this folder move on to the next step.

Linux Build Files

Create a new folder named Linux:

Creating the Linux folder

Navigate to the /linux-dynamic/lib folder from the files extracted earlier. Simply copy and paste the libdiscord-rpc.so file into the Linux folder created in the last step.

Copying the libdiscord-rpc.so file from the archive extracted earlier

Conclusion

Your Discord Rich Presence enabled game will now successfully compile and package for the Linux platform!

Packaging for the Linux platform is possible from a Windows machine but requires extra steps to enable this in your project.

A guide for packaging Linux executables from a Windows PC is being developed and will be linked here on completion.

To set up the blueprints required for Discord Rich Presence, read the guide here on CouchLearn.com

  • discord linux
  • linux compile discord
  • ue4
  • ue4 discord linux
  • unreal engine
  • unreal engine discord
  • unreal engine linux discord

Источник

Оцените статью
Adblock
detector