GalleonCore

GalleonCore

Open-source Linux support for the Corsair Galleon 100 SD: its Stream Deck keys, screen and dials, customizable home widgets and automatic Gaming mode. Le support Linux libre du Corsair Galleon 100 SD : les touches, l'écran et les molettes de son Stream Deck, des widgets d’accueil personnalisables et un mode Gaming automatique.

Active development. The Stream Deck module works on Linux, with Galleon Bosun for settings. Version 0.2.0 brings home widgets and automatic Gaming mode to Linux and Windows; Plasma widgets remain planned. En développement actif. Le module Stream Deck fonctionne sous Linux, avec Galleon Bosun pour les réglages. La version 0.2.0 apporte les widgets d’accueil et le mode Gaming automatique sous Linux et Windows ; les widgets Plasma restent prévus.

Install GalleonCoreInstaller GalleonCore

Choose your operating system. Version 0.2.1 has direct downloads; distribution repositories also provide updates. The keyboard needs its own hardware access rules and a running per-user daemon.Choisis ton système. La version 0.2.1 propose des téléchargements directs ; les dépôts de distribution facilitent aussi les mises à jour. Le clavier nécessite des règles d’accès au matériel et un démon utilisateur actif.

Download countsCompteurs de téléchargement

—Windows · all direct downloadstéléchargements directs cumulés7d : —24h : —
—Ubuntu .deb · all direct downloadstéléchargements directs cumulés7d : —24h : —
—Fedora RPM · all direct downloadstéléchargements directs cumulés7d : —24h : —
—Arch package · all direct downloadstéléchargements directs cumulés7d : —24h : —
—AppImage · all direct downloadstéléchargements directs cumulés7d : —24h : —
—Ubuntu PPA · package downloads · cumulativetéléchargements de paquets · cumulés7d : —24h : —
—Fedora COPR · RPM downloads · cumulativetéléchargements RPM · cumulés7d : —24h : —
—AUR votes (not downloads)Votes AUR (pas des téléchargements)

Direct source: Source directe : —

Loading download counts…Chargement des compteurs…

Windows x86_64

The Setup installs Bosun and galleond for your user. The ZIP is a portable alternative.Le Setup installe Bosun et galleond pour ta session. Le ZIP est une variante portable.

Ubuntu 24.04 / 26.04

Use the PPA for automatic updates, or install the .deb matching your Ubuntu release.Utilise le PPA pour les mises à jour, ou installe le .deb correspondant à ta version d’Ubuntu.

sudo add-apt-repository ppa:paulwoisard/galleoncore
sudo apt update
sudo apt install galleoncore

Fedora 43 / 44 / 45

Use COPR for updates, or download the RPM built for your Fedora release.Utilise COPR pour les mises à jour, ou télécharge le RPM construit pour ta version de Fedora.

sudo dnf copr enable paullux/GalleonCore
sudo dnf install galleoncore

Arch Linux

AUR builds the package on your machine. The release also offers a binary package and its PKGBUILD recipe.L’AUR construit le paquet sur ta machine. La release propose aussi un paquet binaire et sa recette PKGBUILD.

yay -S galleoncore

Other Linux x86_64Autres Linux x86_64

Run the AppImage directly. Its separate host-integration archive installs the hardware rules and an optional user service; follow its instructions before using the keyboard.Lance directement l’AppImage. L’archive d’intégration séparée installe les règles matérielles et un service utilisateur facultatif ; suis ses instructions avant d’utiliser le clavier.

Native Linux packages include galleond, Bosun, libgalleon, widgets, wallpapers and udev rules. Enable the optional user service with systemctl --user enable --now galleond.service. Fedora RPMs are Fedora-specific. On other distributions, check AppImage compatibility with your system and install the separate hardware integration.Les paquets Linux natifs incluent galleond, Bosun, libgalleon, les widgets, les fonds d’écran et les règles udev. Active le service utilisateur facultatif avec systemctl --user enable --now galleond.service. Les RPM Fedora sont propres à Fedora. Sur les autres distributions, vérifie la compatibilité de l’AppImage avec ton système et installe l’intégration matérielle séparée.

What each release file contains and its checksumsContenu de chaque fichier de la release et sommes de contrôle

Project and build linksLiens du projet et des compilations

Website CI Linux packages Windows desktop Release GitHub downloads (latest release) Ubuntu PPA Fedora COPR Arch AUR AppImage Licenses Security policy

Ubuntu 24.04 or later and Qt 6.4 or newer are the native Debian baseline. The GitHub badge counts files from the latest release; the direct totals above include all releases, and the recent counters also include PPA and COPR when their public statistics are available. AUR does not publish download counts.Ubuntu 24.04 ou plus récent et Qt 6.4 minimum forment la base du paquet Debian. Le badge GitHub compte les fichiers de la dernière release ; les totaux directs ci-dessus couvrent toutes les releases et les compteurs récents incluent aussi PPA et COPR lorsque leurs statistiques publiques sont disponibles. L’AUR ne publie pas de nombre de téléchargements.

Installation and packaging guideGuide d’installation et de distribution

New in 0.2.1: update checks in BosunNouveau en 0.2.1 : vérification des mises à jour dans Bosun

Bosun can notify you when a newer stable GitHub release is available. Choose optional daily checks or check manually, then open the matching download in your browser. Installation remains your choice.Bosun peut te prévenir lorsqu’une nouvelle version stable est disponible sur GitHub. Active la vérification quotidienne facultative ou lance-la manuellement, puis ouvre le téléchargement adapté dans ton navigateur. Tu gardes le choix de l’installation.

When a configured repository supplies GalleonCore, including PPA or COPR, your package manager handles updates without duplicate notifications. Independently installed DEB/RPM packages retain update notifications. Users of 0.2.0 or earlier must first install 0.2.1 manually or through their package manager.Lorsqu’un dépôt configuré fournit GalleonCore, notamment PPA ou COPR, le gestionnaire de paquets gère les mises à jour sans notification en double. Les DEB/RPM installés indépendamment conservent les notifications. Depuis la 0.2.0 ou une version antérieure, installe d’abord la 0.2.1 manuellement ou avec ton gestionnaire de paquets.

Update checks: settings and limitationsVérification des mises à jour : réglages et limites

New in 0.2.0Les nouveautés de la 0.2.0

Widgets: build your home screenWidgets : compose ton écran d’accueil

The Widgets tab brings together the local clock and date, weather for your chosen city, CPU and RAM usage, CPU temperature, partial downloads and game FPS. Show or hide each widget, drag it in the preview, and adjust its position, dimensions and text size. Apply sends the saved layout to the keyboard screen.L’onglet Widgets réunit l’heure et la date selon ta locale, la météo de la ville choisie, l’utilisation du CPU et de la RAM, la température CPU, les téléchargements partiels et les FPS du jeu. Affiche ou masque chaque widget, déplace-le dans l’aperçu et règle sa position, ses dimensions et sa taille de texte. Appliquer enregistre la disposition et l’envoie sur l’écran du clavier.

Gaming: a dedicated screen while you playGaming : un écran dédié pendant tes parties

When a game is detected, automatic Gaming mode displays its artwork, FPS, CPU/GPU load gauges and available temperatures. It prevents the keyboard screensaver from starting during play. The Gaming pad controls appear while the game is active and disappear when it closes, even if you switch key pages during the session.Lorsqu’un jeu est détecté, le mode Gaming automatique affiche son image, les FPS, les jauges de charge CPU/GPU et les températures disponibles. Il empêche la veille du module pendant la partie. Les commandes Gaming du pad apparaissent pendant le jeu et disparaissent à sa fermeture, même si tu changes de page de touches entre-temps.

Choose Automatic, OBS or Game Bar in the Gaming tab. Automatic uses OBS on Linux and Game Bar on Windows; unavailable choices are disabled. OBS uses its local WebSocket connection for supported recording and replay actions with confirmed states. Game Bar uses keyboard shortcuts without claiming an unconfirmed recording state. Your choice is saved.Choisis Automatique, OBS ou Game Bar dans l’onglet Gaming. Automatique utilise OBS sous Linux et Game Bar sous Windows ; les choix indisponibles sont grisés. OBS passe par sa connexion WebSocket locale pour les actions d’enregistrement et de replay prises en charge, avec des états confirmés. Game Bar utilise des raccourcis clavier sans annoncer un état d’enregistrement non confirmé. Ton choix est mémorisé.

FPS capture on Linux and WindowsLa capture des FPS sous Linux et Windows

On Windows, Galleon detects the installed PresentMon service and uses its API without opening its interface. The capture control distinguishes installation, readiness and active capture. On Linux, Bosun prepares the MangoHud configuration and FPS folder, then provides instructions for Steam, Heroic, Lutris, PlayOnLinux and Bottles. A launcher setup is still required; detection becomes automatic on subsequent launches.Sous Windows, Galleon détecte le service PresentMon installé et utilise son API sans ouvrir son interface. Le bouton distingue l’installation, l’attente d’un jeu et la capture active. Sous Linux, Bosun prépare la configuration MangoHud et le dossier des FPS, puis explique les réglages pour Steam, Heroic, Lutris, PlayOnLinux et Bottles. Une configuration du lanceur reste nécessaire ; la détection devient ensuite automatique à chaque lancement.

Sensor availability depends on the hardware and drivers. NVIDIA uses NVML; AMD uses AMD-SMI or Linux hwmon. AMD ADLX is not yet integrated on Windows; optional local sensor providers may be needed for temperatures. The download widget counts partial files in the Downloads folder, rather than browser progress percentages. See the guides for Vulkan, DXVK, VKD3D-Proton and Flatpak limitations.Les capteurs disponibles dépendent du matériel et des pilotes. NVIDIA utilise NVML ; AMD utilise AMD-SMI ou hwmon sous Linux. ADLX n’est pas encore intégré sous Windows ; un fournisseur de capteurs local facultatif peut être nécessaire pour les températures. Le widget de téléchargements compte les fichiers partiels du dossier Téléchargements, sans afficher un pourcentage de progression du navigateur. Les guides détaillent les limites liées à Vulkan, DXVK, VKD3D-Proton et Flatpak.

Widgets and FPS guideGuide des widgets et des FPS · Linux launcher setup (French)Configuration des lanceurs Linux · Recording setupConfiguration de l’enregistrement

Galleon Bosun in picturesGalleon Bosun en images

The five default pages are shown with applications found on one Linux desktop; installed apps and icons vary by computer. Widgets and Gaming are integrated alongside Keyboard, Wallpapers and Screensavers. These captures use an isolated demonstration profile; live readings depend on the host. Click a picture to view it at full size.Les cinq pages par défaut sont montrées avec les applications trouvées sur un poste Linux ; les applications et icônes varient selon l’ordinateur. Widgets et Gaming sont intégrés aux côtés de Clavier, Fonds d’écran et Écrans de veille. Ces captures utilisent un profil de démonstration isolé ; les mesures dépendent du poste. Clique sur une image pour l’agrandir.

Playing loads a YouTube video. La lecture charge une vidéo YouTube. Open on YouTubeOuvrir sur YouTube.
Galleon Bosun: media controls on the Control page
ControlContrôle
Galleon Bosun: browsers and media players on the Multimedia page
MultimediaMultimédia
Galleon Bosun: installed games on the Games page
GamesJeu Vidéo
Galleon Bosun: system tools on the System page
SystemSystème
Galleon Bosun: virtual numeric keypad
Numeric keypadPavé numérique
Galleon Bosun: choosing a wallpaper from the repository collection
Choose a wallpaperChoisir un fond d’écran
Galleon Bosun: integrated Widgets tab with layout preview and text size controls
Widgets: layout, size and textWidgets : disposition, dimensions et texte
Galleon Bosun: integrated Gaming tab with recording selection and automatic game mode settings
Gaming: recording and automatic game modeGaming : enregistrement et mode Jeu automatique
Galleon Bosun: choosing from two bundled screensaver videos
Choose a screensaver videoChoisir une vidéo de veille

Windows: unresponsive Stream Deck keysWindows : touches Stream Deck sans réponse

On the owner's Galleon 100 SD, images kept updating while the LCD keys and dials were inactive until the module reset. Updating the Stream Deck firmware with Elgato's official Windows app, then uninstalling that app, restored input in the next test. Because both changed together, this does not establish which step was decisive on other keyboards.Sur le Galleon 100 SD du propriétaire, les images continuaient à s'afficher mais les touches LCD et les molettes restaient inactives jusqu'à une réinitialisation. La mise à jour du firmware Stream Deck avec l'application officielle Elgato pour Windows, suivie de sa désinstallation, a rétabli les commandes lors de l'essai suivant. Les deux changements ayant été faits ensemble, on ne sait pas lequel a été décisif sur d'autres claviers.

Record the firmware version and close GalleonCore and other software using the module. In the Elgato Stream Deck app on Windows or macOS, open Preferences → Devices → Galleon 100 SD → Update Firmware. Keep the keyboard connected until completion. Record the new version, close Stream Deck and test GalleonCore after a cold Windows start. Uninstall Stream Deck afterward only if you do not need it for another device.Relève la version du firmware et ferme GalleonCore et les autres logiciels utilisant le module. Dans l'application Elgato Stream Deck sous Windows ou macOS, ouvre Préférences → Appareils → Galleon 100 SD → Mettre à jour le microprogramme. Garde le clavier connecté jusqu'à la fin. Note la nouvelle version, ferme Stream Deck et teste GalleonCore après un démarrage à froid de Windows. Désinstalle ensuite Stream Deck seulement s'il ne te sert pas pour un autre périphérique.

The main keyboard has separate firmware. Update it in a compatible browser through Corsair Web Hub → Device Settings; there is no app to install or uninstall. The recording below shows the Stream Deck module update, not the main keyboard update.Le clavier principal possède un firmware distinct. Mets-le à jour dans un navigateur compatible via Corsair Web Hub → Paramètres de l'appareil ; aucune application n'est à installer ou à désinstaller. La capture ci-dessous montre la mise à jour du module Stream Deck, pas celle du clavier principal.

Elgato's release notes mention Galleon firmware 3.06.005Les notes d'Elgato mentionnent le firmware Galleon 3.06.005. Windows test notesNotes des essais Windows.

Elgato Stream Deck device preferences with the Galleon 100 SD firmware update control
Owner-provided recording of the official firmware update control.Capture fournie par le propriétaire : commande officielle de mise à jour du firmware.

Project scopePérimètre du projet

Stream Deck

Drive the 12 LCD keys, the screen and the two dials from Linux, without Elgato's software, which only runs on Windows and macOS. Piloter les 12 touches LCD, l'écran et les deux molettes depuis Linux, sans le logiciel d'Elgato, réservé à Windows et macOS.

Shared widgetsWidgets partagés

Write a widget once in QML: a clock, a system monitor, what's playing. It renders on the keyboard screen and sits on your KDE Plasma desktop. Écrire un widget une seule fois en QML : horloge, moniteur système, lecture en cours. Il s'affiche sur l'écran du clavier et sur ton bureau KDE Plasma.

RGB lightingÉclairage RVB

Per-key colours, the mood bar and the dial rings, through OpenRGB, so every OpenRGB user gets the support too. Couleurs par touche, barre d'ambiance et anneaux des molettes, via OpenRGB, pour que tous ses utilisateurs en profitent.

The first five pagesLes cinq pages initiales

A fresh Linux or Windows profile starts with Control, Multimedia, Video Games, System and Numeric Keypad. Each page holds at most 12 fixed keys. Multimedia suggests browsers and players first; System suggests administration tools; Video Games starts with installed Steam games. Labels and icons depend on what is installed on your computer. Unrelated applications do not fill empty slots, and editing or removing a key does not refill it.Un profil neuf sous Linux ou Windows commence avec Contrôle, Multimédia, Jeu Vidéo, Système et Pavé Numérique. Chaque page contient au plus 12 touches fixes. Multimédia propose d'abord les navigateurs et lecteurs ; Système, les outils d'administration ; Jeu Vidéo commence par les jeux Steam installés. Les noms et icônes dépendent de ce qui est installé sur ton ordinateur. Les applications sans rapport ne remplissent pas les places libres, et modifier ou retirer une touche ne la remplit pas à nouveau.

Existing personal profiles are preserved.Les profils personnels existants sont conservés.

StatusAvancement

The OpenRGB plugin controls the dial rings. Per-key lighting on the main keyboard remains blocked: an unsafe colour write can freeze it until unplugged. Windows controls worked in the owner's first test after updating the Stream Deck firmware; cold-start and long-session stability still need confirmation. Le plugin OpenRGB pilote les anneaux des molettes. L'éclairage par touche du clavier principal reste bloqué : une écriture de couleur risquée peut le figer jusqu'au débranchement. Les commandes Windows ont fonctionné lors du premier essai du propriétaire après la mise à jour du firmware Stream Deck ; le démarrage à froid et la stabilité prolongée restent à confirmer.

How it fits togetherComment tout s'articule

libgalleon
The C++20 / Qt 6 library that talks to the keyboard. La bibliothèque C++20 / Qt 6 qui dialogue avec le clavier. Split in three layers: the protocol (pure functions, no I/O), the transport (HID access), and the deck logic. The protocol can be tested and fuzzed without the keyboard. LGPL-3.0, so other projects can reuse it. Découpée en trois couches : le protocole (fonctions pures, sans entrées/sorties), le transport (accès HID) et la logique du deck. Le protocole se teste et se fuzze sans le clavier. Sous LGPL-3.0, pour que d'autres projets puissent la réutiliser.
galleond
The daemon. It owns the keyboard, renders widgets for its screen and offers a D-Bus interface to the rest of the desktop. Le démon. Il possède le clavier, rend les widgets pour son écran et offre une interface D-Bus au reste du bureau.
WidgetsWidgets
Plain QML, with no Plasma dependency, so the same file runs inside galleond and inside a Plasma widget. Du QML pur, sans dépendance à Plasma : le même fichier tourne dans galleond et dans un widget Plasma.
RGB controllerContrôleur RVB
Developed in OpenRGB itself and proposed upstream, rather than in this repository. Développé dans OpenRGB lui-même et proposé en amont, plutôt que dans ce dépôt.

Build itCompiler

On Debian, Ubuntu or Kubuntu:Sous Debian, Ubuntu ou Kubuntu :

sudo apt install cmake g++ qt6-base-dev qt6-declarative-dev libhidapi-dev pkg-config
git clone https://github.com/Paullux/GalleonCore
cd GalleonCore
cmake -B build
cmake --build build
ctest --test-dir build

To use the keyboard without root, install the udev rule:Pour utiliser le clavier sans root, installe la règle udev :

sudo cp tools/udev/70-galleon.rules /etc/udev/rules.d/
sudo udevadm control --reload && sudo udevadm trigger

Checked on every changeVérifié à chaque modification

A driver reads bytes from hardware, which is where memory bugs hide. Every pull request has to pass these checks before it can land: Un pilote lit des octets venant du matériel, et c'est là que se cachent les bugs mémoire. Chaque pull request doit passer ces vérifications avant d'être fusionnée :

How this project is madeComment ce projet est fait

Most of the code is written with AI coding agents (Claude Code and Codex), under the maintainer's direction and following the instructions in CLAUDE.md. The maintainer owns the keyboard, defines the features, tests on the real hardware, examines the proposed changes and approves their merge. L'essentiel du code est écrit avec des agents de programmation IA (Claude Code et Codex), sous la direction du mainteneur et avec les consignes décrites dans CLAUDE.md. Le mainteneur possède le clavier, définit les fonctionnalités, teste sur le matériel réel, examine les changements proposés et valide leur intégration.

Generated code is not accepted without verification. The project's rules require protocol facts to come from cited sources or real captures, device data to be validated before use, and behaviour changes to come with tests. The status above distinguishes “tested” (automatic tests) from “confirmed on the module” (human verification on the hardware). Le code généré n'est pas accepté sans vérification. Les règles du projet demandent de documenter les faits de protocole à partir de sources citées ou de captures réelles, de valider les données du module avant leur utilisation et d'accompagner les changements de comportement de tests. L'avancement distingue « testé » (tests automatiques) de « confirmé sur le module » (vérification humaine sur le matériel).

Pull requests go through automated checks: compilation, tests and static analysis. These checks are public; they catch some errors and verify that the project's rules are followed. They do not guarantee the absence of bugs, but passing them is required before merging into the protected main branch. Les demandes de fusion sont soumises à des contrôles automatisés : compilation, tests et analyse statique. Ces contrôles sont publics ; ils permettent de détecter certaines erreurs et de vérifier le respect des règles du projet. Ils ne garantissent pas l'absence de bugs, mais leur réussite est exigée avant la fusion dans la branche protégée main.

CreditsRemerciements

GalleonCore builds on the reverse engineering done by:GalleonCore s'appuie sur la rétro-ingénierie réalisée par :

  • node-elgato-stream-deck, which added Galleon support in v7.5.0;, qui a ajouté le support du Galleon en v7.5.0 ;
  • galleon-deck, a Python Stream Deck service for the Galleon;, un service Stream Deck en Python pour le Galleon ;
  • opendeck-galleon, an OpenDeck plugin for the Galleon., un plugin OpenDeck pour le Galleon.

LicenseLicence

  • The library, libgalleon: LGPL-3.0-or-later.La bibliothèque libgalleon : LGPL-3.0-or-later.
  • Application, widgets, tools and documentation: GPL-3.0-or-later.Application, widgets, outils et documentation : GPL-3.0-or-later.

Repository wallpapers and videos: CC-BY-SA-4.0, with provenance.Fonds d’écran et vidéos du dépôt : CC-BY-SA-4.0, avec provenance.

Full licensing overviewDétail des licences