Me Gamer and Linux User = Impossible Mission ? Not exactly. Part 7

Nous continuons notre parcours dans les périphériques gaming. Vous pensiez que c’était fini ? Non. Comme je l ‘ai souvent dis ici et ailleurs, le libre (ou le monde open source comme vous voulez) est un monde en perpétuel mouvement. Des logiciels naissent tandis que d’autres meurs pour maintes raisons. D’autres sortent du lot et deviennent des fleurons. Je reviens vers vous pour de nouveaux opus et j’apporte même du lourd, du très lourd. Mais ce n’est pas pour l’instant. Commençons par le commencement. Mais démarrons léger.

Commençons donc par le début et léger.

Powermeter

Dans la partie numéro 5,  je vous avait présenté 3 logiciels dont OpenCorsairLink qui permettaient de gérer les AIO et les alimentations intelligentes du style Corsair.  Ce logiciel en ligne de commande (comme aussi les deux autres!) n’affiche qu’une seule fois les informations du  PSU. Si vous voulez avoir ces valeurs à un instant T, il n’y a aucun problème. Mais si vous les voulez continuellement alors vous êtes obligés de relancer la commande du programme . Ce qui est entre nous pas franchement intéressant. C’est là qu’intervient le logiciel qui nous intéresse : Powermeter.

Il vient se greffer sur OpenCorsairLink.  Puis, c’est à vous de préciser le temps entre chaque mesure du PSU. Dans l’exemple donné dans le Readme, c’est 50 millisecondes.

Powermeter n’est packagé pour aucune distribution.

Corsair SP 120 RGB Custom Controler

Continuons avec un projet supportant les ventilateurs de la marque Corsair (encore !) mais cette fois-ci, il s’agit des SP 120 RGB. Ces ventilateurs sont fournis sur pas mal de boîtiers Corsair tel que le Corsair Crystal 570X RGB.  Il s’agit de Corsair SP120 RGB Custom Contrôleur le bien nommé. Cependant, afin de les piloter logiciellement  avec iCue, il vous faut un contrôleur de type Lighting Node Pro ou Commander Pro. Or ni iCue,  ni ces contrôleurs sont présents. Seul un boîtier de type RGB Fan Led Hub est présent. C’est pas top s’il faut ouvrir la tour pour changer les couleurs, l’animation et la vitesse de celle-ci. D’où la création de ce projet assez original et ……..Geek.

Le contrôleur du boîtier (RGB Fan Led Hub)est shunté par un NodeMCU ESP8266 ESP-12 disposant d’un SOC Wifi. Celui-ci permet d’avoir accès grâce à un serveur Web (dont vous déterminerez votre adresse IP) qui vous permettra de contrôler le statuts des ventilateurs, des couleurs de ceux-ci et de leurs effets.

Attention: le NodeMCU ESP8266 est vraiment petit. Le schéma ci-dessous vous montre comment câbler le NodeMCU et le contrôleur corsair. Comme vous venez de vous en rendre compte, ce genre de « bricolage » n’est pas réservé à tout le monde.

L’interface graphique  que vous apercevez ci-dessous permet les fonctionnalités suivantes:

    • activation/désactivation des effets
    • ajustement de la luminosité
    • changer les couleurs (blanc, rouge,orange, jaune, vert, bleu, violet
    • réglages des effets suivants:
    • Cycle arc-en-ciel avec réglage de la vitesse
    • Junggle
    • Bpm

 

Il reste cependant des fonctionnalités à implanter qui sont :

  • le contrôle individuel des ventilateurs
  • ajouter les effets manquants

Aucun paquet n’est disponible. Pour l’installer, il faudra mettre les mains dans le cambouis en suivant ce qui est décris dans le paragraphe Step du Readme.

Amusez-vous bien !!!

 

Lighting Node Pro

Lighting Node Pro est un programme en CLI pour les ventilateurs Corsairs LL qui viennent avec le contrôleur Lighting Node Pro. Bien entendu, ce contrôleur est pilotable avec iCue mais comme d’habitude, seulement pour Windows. C’est l’objet de ce projet. N’ayant trouvé aucun projet, son auteur a fait du Reverse Engineering du protocole employé.

Lighting Node Pro – Commander Pro-RGB Fan Led Hub

Une demande d’intégration de ce projet créé en nodejs a été faite au projet Colorsair il y a un an sans avoir obtenue une réponse positive.

Un mot concernant le support du contrôleur Lighting Node Pro et des ventilateurs Corsair sous Linux. En rédigeant cet article, j’ai vu que le développeur de Colorsair avait été débauché pour travailler sur cette fonctionnalité pour le projet Ckb-next. Malheureusement, il semblerait que rien ne se soit passé depuis. Un français, mrdev023 en se basant sur le projet Lighting Node Pro a implanté cette fonctionnalité pour ce même projet. Actuellement, il est en train de travailler sur son intégration graphique. Espérons que nous verrons rapidement au moins le support de cette fonctionnalité intégré dans une prochaine version. Cela permettra aux utilisateurs de ce produit d’attendre l’intégration graphique. N’ayant pas encore fait de PR, vous trouverez son travail à cet endroit.

Thermaltake level10m

Thermaltake est un fabriquant de boîtier de haute qualité qui produit aussi tout un écosystème de périphériques gaming pas très connu du grand public. Bien que cela n’engage que moi, l’actualité de Thermaltake est assez active en ce moment et ce montre assez agressif avec de nouveaux produits.

Mais interressons-nous aux souris. Parmi la gamme du fabriquant, nous retrouvons la Level 10 M déclinée sous toutes ses formes (Advanced, Hybrid, Diamond, black, rion white, etc…). Bien entendu l’application de Thermaltake n’est disponible pour Linux et franchement ce n’est pas une perte.

Thermaltake-level10m est un projet pour le support graphique des souris Level 10 M. Écris en Python3 (yes!) et en PyQt4 (houla!), il n’est  packagé pour aucune distribution.

Il permet de créer 5 profils sur lesquels vous pouvez assigner des touches aux boutons, éditer les couleurs du profil sélectionné et changer les paramètres des DPI.

C’est à essayez si vous avez ce genre de souris et pourquoi pas à améliorer en commençant par le support de PyQt5 car l’échéance approche à grand pas.

Et maintenant, nous commençons avec une série de logiciels pour les claviers SteelSeries.

ApexCtl

Il s’agit d’un ancien projet (dernier commit en date d’il y a quatre ans!). Cet outil en ligne de commande (CLI) permet de créer des macros pour les claviers SteelSeries Apex (idProduct 1200)  et Apex Raw (idProduct 1202).

Bien entendu, ApexCtl n’est disponible pour aucune distribution.

A tester si vous avez ce genre de matériel et que les projets suivants ne vous auront pas satisfaits.

Apex-Macros

Apex-Macros n’est pas non plus un projet tout jeune (3 ans déjà) mais le développement continue encore. Preuve, le support pour le clavier SteelSeries M800 a été rajouté il y a une quinzaine de jours.

D’ailleurs, son auteur a besoin de testeurs. Si vous êtes volontaires rendez-vous ici. Cet outil en ligne de commande (CLI) se destine à la création de macros.

Il concerne les claviers SteelSeries suivants:

  • Apex,
  • Apex Raw,
  • Apex 300,
  • Apex 350,
  • Apex M800

En fouillant un peu, son auteur GibtNix est aussi le créateur de MSIKLM dont j’avais parlé ici. 

Là aussi, il n’est pas packagé, quelque soit la distribution utilisée.

Qui sera le premier à dégainer ?

apexctl

Repartant de zéro, écris en C par AstroSnail en se basant sur un autre ancien projet au nom analogue ApexCtl (vous avez suivi, il est plus haut !!!!) et en étant influencé pour l’écriture des macros par un autre projet (Apex-Macros),  apexctl est un outil en ligne de commande (CLI) dont le but est de contrôler les claviers Apex de SteelSeries.

Actuellement, les claviers suivants sont supportés:

  • Apex,
  • Apex Raw,
  • Apex 300,
  • Apex 350,

Un support expérimental existe pour le clavier Apex M800.

Il n’est pas packagé sur AUR ni pour aucune autre distribution.

Ce projet récent est actif et réactif.

M800-Visualizer

J’ai hésité à mettre M800-Visualizer dans cette série. Initialement, en le découvrant, je croyais qu’il se destinait à supporter la visualisation spectral du clavier SteelSeries Apex M800 sous Linux. Mais en regardant d’un peu plus près le code,  je me suis rendu compte qu’il était codé en C# avec le framework .Net. Mono est la version libre du C# sous Linux. Mais qu’en est-il de .Net ? Mystère. Si vous êtes téméraires et avez ce genre de matériel, le mieux serait de l’essayer dans un IDE que je qualifie de fourre-tout (genre Geany) cad qu’il supporte un maximum de langage. Tout retour serait apprécié soit ici soit sur la page du projet.

Bien entendu, il n’est pas packagé pour aucune distribution quelle quel soit.

 

Steelkeys

Crée par Baptiste Augrain alias  daiyam en python, steelkeys est un programme en CLI  conçu pour configurer les claviers RGB SteelSeries.

Pour l’instant, le support se limite au  clavier Apex M800.

Comme vous pouvez le voir sur la capture suivante,  cet outil complet est prévu pour supporter plusieurs périphériques.

Comme tous les créateurs de projet de ce genre, ils sont limités au début au(x) périphérique(s) qui sont en leur possession et ont donc besoins de l’aide de personnes tierces ayant d’autres périphériques de la marque en tant que demandeurs de périphériques, de fonctionnalités de testeurs, … Quelque soit vos compétences, n’ hésitez pas à participer. Parfois, il suffit de peu de choses. Et j’en sais quelque chose.

Roccat RGB LED effect for The Roccat Vulkan   Keyboard

Passons maintenant à Roccat avec cet autre projet. Dans  me-gamer-and-linux-user-impossible-mission-not-exactly-part-2/, je présentait le projet . Voici aujourd’hui, Linux RGB LED effect for Roccat Vulkan keyboard ou en plus court roccat-vulkan. Le nom est assez long mais il est aussi assez explicite.  Il s’agit aussi d’un fork plus développé de roccat-vulkan dont le développement a repris récemment mais tout en étant plus limité au niveau du support du matériel.

Il support donc les claviers suivants:

  • 100,
  • 120,
  • 121

Il a aussi l’avantage d’être packagé sur AUR. Et voici le ligne de commande qui va bien:

yay -Sy aur/roccat-vulcan

Keyleds

D’après son auteur, keyleds supporte tous les claviers RGB Logitech ainsi que tous profiles. En tout cas, le Readme indique que les claviers suivants sont pris en charge :

  • G 213
  • G 410
  • G 513
  • G 610
  • G 810
  • G 910
  • GPRO

Modeste au premier abord, c’est un outil en ligne de commande (CLI) complet qui dispose aussi d’un wiki assez complet.

En se rendant sur cette page du wiki, vous noterez que Keyleds est disponible pour les principales distributions. Pour résumer, Keyleds est disponible pour Ubuntu (et dérivés), Débian (et dérivés), Fedora, OpenSUSE et Archlinux (et dérivés dont Manjaro). La compilation manuelle est aussi possible. Les utilisateurs d’Archlinux ont même le choix entre la version stable et la version de développement Git. Libre à eux de modifier ensuite le PKBUILD pour le pointer vers une branche spécifique. Et voici la commande magique qui va bien pour :

-> la version stable

yay -S keyleds

-> la version de développement git

yay -S keyleds-git

Note : Par défaut, seul les utilisateurs non root ne peuvent pas utiliser le logiciel. Pour palier cette situation, nous avons deux solutions :

  • lancer le projet en tant que root (c’est valable pour la CLI ou bien pour votre propre programme ; un script ou mieux une GUI)
  • configurer le système pour rendre accessible le périphérique aux autres utilisateurs en créant une règle udev.

Keyleds permets aussi :

->  Breathe
-> Feedback
-> Fill
-> Idle dim
-> Reactives Lines
-> Stars
-> Wave
-> Whack-a-mole

keyleds est un ensemble d’outils qui ont des tâches bien spécifiques. Par exemple, keyledsctl en lui ajoutant un paramètre permet de lister, de connaître son matériel (exemple ici un clavier). Je ne saurais trop vous conseiller de faire un tour dans la (large) documentation du projet.

Dans la rubrique Truc et Astuces :

  • N’oubliez pas de le lancer avec la commande :

keyledsd

Vous pouvez aussi rajouter des options (voir ici pour plus de détails)

  • Lancer le automatiquement dés votre arrivée sur votre bureau avec :
    ln -s /usr/share/keyledsd/keyledsd.desktop $HOME/.config/autostart/
  • Pour l’arrêter :

killall keyledsd

J’espère vous avoir donné envie, au moins d’essayer Keyleds avant de l’adopter. Bien entendu seulement si vous avez ce genre de matos. Il ne manque plus qu’une belle GUI…..

MX5500-set

Dans la 1ere partie de cette série consacrée au gaming et ses périphériques , j’avais évoqué un ancien projet pour un ancien clavier assez référencé à l’époque: le Logitech mx5000. Bien entendu, cet outil n’est plus développé depuis fort longtemps mais il reste encore de nombreux claviers de ce type en service à 1ere vue.

mx5500-set est une réécriture de mx5000lib et de mx5000tools.

Il est disponible sur AUR et voici la version en ligne de commande pour l’installer:

yay -Sy mx5500-set

KeyboardVisualizer

KeyboardVisualizer est un programme réalisé par CalcProgrammer1 en C# pour Windows et surtout pour Linux.  Cet outil en ligne de commande permet de réaliser des effets RGB style Barres, Spectrographe, leds, changement de couleurs, etc.. Chaque périphérique supporté a des fonctionnalités bien spécifiques. Le mieux est d’aller consulter l’abondante documentation présente dans le Readme du projet.

Il supporte pas mal de périphériques (bien que la liste pour Windows est bien plus longue mais ne nous plaignons pas, celle de Linux est aussi conséquente) des marques :

  • Razer: Claviers, Keypad, Souris, Casques Audio, Tapis de Souris, Dock graphique externe, autre.
  • SteelSeries: Clavier Apex M800
  • MSI SteelSeries : Claviers
  • NZXT : Hue+
  • WS28XX: les bandes de Leds

A noter que CalcProgrammer1 est aussi l’auteur d’un autre projet plus ancien CorsairKeyboardSpectograph et limité à un visualiseur Spectrographe audio pour le clavier Corsair K70 RGB pour Windows et pour Linux. Ce projet n’est plus développé et n’est pas packagé pour aucune distribution.

Wootility

En faisant ce comparatif, je suis tombé par hasard sur le fait que le pilote Wotility des claviers Wooting One étaient disponibles non seulement pour Windows (comme d’habitude) mais aussi pour MacOSx et surtout pour Linux sous la forme d’une Appimage. C’est le premier constructeur de périphériques gaming, de ma connaissance à proposer des pilotes pour les autres Système d’exploitations. Et en plus, ils fournissent leur SDK sur Github que ce soit pour le clavier et le pilotage des RGB. C’est fort. Dommage qu’il ne soit pas très connu en France, surtout qu’ils ont du matos de qualité qui n’a rien a envier aux ténors du  marché.

 

Leviathan

leviathan est un driver pour Linux qui permet de contrôler et de gérer les AIO de la marque NZXT Kraken. Suivant le matériel vous piloterez la pompe et/ou l’éclairage. Le mieux est de consulter la liste des périphériques reconnus.

 

NZXQT

nzxqt est une interface graphique écrite en PyQt5 par wepiha pour un autre très grand projet que je n’ai malheureusement pas encore parlé : liquidctl. Je croyais l’avoir fait lors de mon article sur GKraken qui est aussi une autre interface graphique de liquidctl mais en PyGtk3 cette fois-ci. liquidctl est un logiciel clé dont j’ai omis de parler. Honte à moi. Ce sera fait dans la prochaine partie.

nzxqt (et aussi GKraken) ne prend pas en compte toutes les fonctionnalités offertes par liquidctl et se concentre donc sur le pilotage et la gestion des AIO au niveau des pompes et de leurs éclairage RGB.

 

nzxqt n’est packagé pour aucune distribution. C’est dommage car il propose quelque chose de différent de GKraken et semble plus évolué que celui-ci (il gère les lumières et l’overclocking) . On note les onglets refroidissements, éclairage et overclocking.

Linux_Thermaltake_Riing

Continuons notre exploration avec un projet assez particulier : linux_thermaltake_riingThermaltake est, contrairement à ce que l’on croit majoritairement, en plus des boîtiers aussi un fabriquant de nombreux périphériques gaming. Il dispose d’une gamme qui couvre tous les domaines. D’ailleurs, si vous suivez un peu l’actualité des périphériques hardware, vous avez constaté une participation de plus en plus agressive de deux marques avec de nombreux produits : CoolerMaster et Thermaltake.  Pour en revenir à linux_thermaltake_riing, c’est un driver et un daemon Python pour contrôler les Ventilateurs, les Lumières et les Pompes.

A que c’est beaaaauuuuuuuuuuuu..

Il est disponible de deux manières:

  • en se servant de la commande pip (ou pip3 si vous êtes sur Ubuntu et dérivés). Une fois cette commande exécutée, des opérations post-installations sont nécessaires. Consultez la documentation du Readme pour plus d’informations. Voici la commande qui va bien avec pip3 :

sudo pip3 install linux_thermaltake_rgb

  • en ce qui concerne Manjaro (et donc tout l’écho-système de Arch), c’est beaucoup plus simple puisqu’il est disponible sur AUR.  Voici la commande qui va bien :

yay -S linux-thermaltake-rgb

Vous devez ensuite (quelque soit la méthode employée) démarré et activé le daemon avec systemd par la commande suivante :

sudo systemctl enable --now linux-thermaltake-rgb.service

Voici la liste des périphériques concernés par linux_thermaltake_riing.

Le projet semble un peu moins actif qu’au début.  L’auteur est ouvert à inclure d’autres produits (comme ceux dans la liste ci-dessous d’un autre projet mais windowsien celui-là).  ll suffit de demander et de l’aider un peu en faisant quelques tests. Rassurez-vous, les développeurs ne mordent pas et vous guiderons dans votre tache.

 

Puisque nous parlons de Thermaltake et bien que cette série d’articles concerne Linux et non Windows comme ce (double) logiciel, je ne puis résister à vous présenter un autre projet open-source pour Thermaltake réalisé par MoshiMoshiO : TTController et son API ttrgbplusapi.

La liste des périphériques est longue.

La liste des plugins est aussi conséquente.

La documentation de l’api ttrgbplusapi est aussi très instructive, en plus de la documentation de TTController. Pas mal d’informations sont disponibles et à mon avis, réutilisable pour linux_thermaltake_riing sous Linux.

Mais est-ce tout ?

Non. Pas du tout. Notre histoire ne s’arrête pas là. Bien au contraire, elle continuera avec le prochain épisode. Mais il est quand même temps pour moi de conclure. Avec 17 projets à votre actif, vous avez de quoi vous occuper en attendant la prochaine partie qui ne saurait trop tardé. Et celle-ci viendra avec du lourd et de très beaux projets open-source. Mais en attendant, bonne lecture et bon tests, si vous avez le matériel adéquate.