Updates for Linux users / Mises à jour pour utilisateurs Linux



  • Bonjour,

    je viens d'acquérir le Sylphyo+Link il y a quelques jours, et le Sylphyo avait la version 1.4.4beta.

    J'essaie maintenant de les mettre à jour en 1.4.5. Comme il n'y a pas de version Linux de la mise à jour, je me suis rabattu sur la version Windows.

    D'après mes tests, le Sylphyo et le Link n'ont aucun problème à être reconnus et utilisés sous Linux. Par contre, il n'en est pas de même avec Wine. Il semblerait que le support midi de Wine ait régressé, et en tout cas, il m'a été impossible de faire reconnaître le Link ou le Sylphyo en lançant la mise à jour sous Wine.

    J'ai dû me rabattre sur une machine virtuelle sous Windows, mais là encore, ça ne semble pas concluant. J'arrive bien à connecter le Sylphyo et le Link sous la VM Windows, mais la mise à jour semble ne pas vraiment fonctionner:

    Pour le Link, le logiciel de mise à jour le reconnaît, indique que la mise à jour va commencer dans quelques instants, la diode du Link clignote bleu/vert pendant quelque temps, puis devient rouge et plus rien, sans que le logiciel de mise à jour ne change son message (toujours "la mise à jour va commencer dans quelques instants"). Je n'ai aucun moyen de vérifier quelle version de logiciel est maintenant dans le link (je ne pourrai tester si le nouveau son est là que dans la soirée). Après une dizaine de minutes, j'ai débranché le Link pour m'occuper du Sylphyo.

    Là, pour le Sylphyo, c'est plus compliqué: le Sylphyo marche bien sous linux, et j'ai vérifié qu'il transmet bien le midi correctement. Sous la VM par contre, il est visible par le système Windows, mais par contre, n'apparaît pas comme appareil MIDI (il a pourtant été visible dans un essai antérieur, j'avais pu le faire marcher avec le Bench, et j'avais eu une erreur, et depuis plus rien). Du coup, il n'est pas visible du Bench ou de la mise à jour.

    J'avoue que je suis un peu perdu sur quoi faire ensuite. Mon seul intérêt pour les connecter à un ordinateur est pour faire des mises à jour, je ne souhaite pas utiliser l'ordinateur comme synthé virtuel (j'ai un Fantom X8 avec les patches de patchmanmusic, et c'est chouette, même si un peu encombrant, et sinon, j'ai l'intention d'utiliser le Sylphyo de manière autonome).

    Y aurait-il un moyen d'avoir une mise à jour native sous Linux ?

    Toute aide est bienvenue.

    PS: I'll do an update in English once I have a solution, but tl;dr: I tried updating the Sylphyo/Link using my linux-based computer, both with Wine and using a Windows VM, and neither works, despite the Linux system itself having no problem with the Sylphyo.



  • (English answer at the end)

    Quelle technologie de machine virtuelle utilises-tu ?
    Pendant la mise à jour, le Sylphyo et le Link changent de "personnalité" (classe USB) plusieurs fois, oscillant entre périphérique MIDI et périphérique USB HID. Cela peut poser des soucis à quelques moteurs de machine virtuelle car c'est comme si le périphérique USB représentant le Sylphyo se déconnectait et se reconnectait.
    En général, nous avons toujours réussi à faire fonctionner les mises à jour dans une machine virtuelle, mais il faut dire à la machine virtuelle de connecter immédiatement tous les périphériques USB au lieu d'en laisser certains pour l'OS hôte.
    Il y a ensuite des problèmes spécifiques à la version de Windows utilisée. La première fois que tout le cirque des mises à jour se déroule, Windows peut prendre un peu (voire parfois beaucoup) de temps à reconnaître les différentes "personnalités" du Sylphyo pendant la mise à jour.
    La première chose que je vous conseillerais est d'essayer plusieurs fois, en faisant des redémarrages entre les tentatives, et si ça ne va toujours pas, de changer de version de Windows ou de moteur de machine virtuelle. Je réalise bien que ce n'est pas l'idéal. Des retours que nous avons eu, le peu d'utilisateurs linuxiens que nous avons s'arrangent en général avec un PC Windows ou Mac à côté pour faire les mises à jour.

    Tout cela n'est pas simple, et malheureusement nous n'avons pas assez de ressources pour fournir le support nécessaire pour le fonctionnement de nos outils logiciels sous Linux, car il y a trop peu d'utilisateurs intéressés.
    Nous utilisons également Wine pour tester notre version Windows (cross-compilée depuis macOS avec mingw-w64), mais comme vous l'avez remarqué le support MIDI dans Wine n'est pas encore très complet (pour cela, nous utilisons aussi une machine virtuelle).

    Pour ce qui est de produire une version Linux native de notre utilitaire de mise à jour, le plus court chemin pour nous serait de proposer un outil en ligne de commande, mais il nous manquerait une couche MIDI fonctionnant sous Linux, ainsi qu'un pipeline de test pour Linux, mais nous sommes encore trop petits pour pouvoir pouvoir assumer ces développements en parallèle de nos priorités actuelles.

    J'espère que ce post attirera de nombreux utilisateurs sous Linux, ce qui nous amènerait à remonter la priorité du support Linux dans nos priorités de développement.


    Which virtual machine technology are you using?
    During the update, the Sylphyo and the Link change their "personality" (USB device class) several times, switching between MIDI and USB HID device. Concretely, the switching is as if an USB device disconnected and reconnected several times during the update, and it can be problematic for some VM engines.
    Up until now, we always had success with VMs, but with some we had to tell them to always connect new USB devices to the VM, not to the host OS.
    Then, there are the Windows-specific problems, and they can differ depending on the Windows version. Notably, the first time the update dance occurs, Windows might take a little (sometimes a lot of) time to recognize and register the different USB "personalities" of the Sylphyo during the update.
    As a first course of action, I'd recommend you to try again several times, rebooting the VM and/or the host in-between attemps. If it still doesn't work, it might be useful to try with a different version of Windows, or a different VM engine. I know it's far from ideal, but from what we've been told, the few Linux users we had generally managed to use a Windows PC or a Mac to run the updates.

    That's far from simple, and unfortunately we don't have enough resources to provide the level of support necessary to make our software tools work on Linux, because there simply aren't enough interested users.
    We also use Wine to test our Windows version (cross-compiled in macOS using mingw-w64), but as you've noticed, MIDI support isn't that great on Wine (that's why we also use VMs for our tests).

    As for making a native Linux version of the update tools, the shortest path for us would be to offer a command-line tool, but we're missing a Linux-compatible MIDI layer, as well as a Linux test pipeline. Unfortunately, we're too resource-constrained to be able to develop this while continuing to pursue our current priorities.

    My hope is that this post will allow many Linux users to be heard, and if so, we could increase the priority of Linux support in our roadmap.



  • @join
    Merci pour la réponse détaillée. Pour la machine virtuelle, j'utilise VirtualBox avec une VM Windows 7.

    Pour le coup, j'ai eu l'opportunité de faire la mise à jour sur Windows lors d'une visite en famille, où il y avait un portable avec Windows. J'ai pu ainsi voir comment la procédure devait fonctionner, et j'ai en effet remarqué ce changement de personnalité. Je pense que si je pouvais faire que le Sylphyo et le Link changent de personnalité hors de la procédure, il devrait être possible de les enregistrer dans les USB de Virtual Box. Ça me semble évident que c'était là le (premier) problème.

    Y a-t-il donc moyen de faire ressortir cette personnalité ? (j'ai vu que Windows appelait celle du Sylphyo "Sylphyo updater") Ou bien est-il possible de lancer la procédure sur un Sylphyo déjà à jour (est-ce risqué) ? Je pense que pour les utilisateurs Linux, ça serait bien d'avoir au moins une telle option, même si devoir dépendre d'une licence Windows reste un problème.

    Sinon, idéalement, il faudrait avoir en effet un utilitaire natif directement sur Linux (je pense qu'il serait plus compliqué de faire que Wine fonctionne avec ce double système), en ligne de commande serait probablement suffisant. Je comprends que le temps vous est limité, et il me semble plus important pour la communauté Sylphyo que vous continuez à améliorer les fonctionnalités du Sylphyo même (cette mise à jour a introduit un super son, et le contrôle externe du Link me sera certainement bien utile avec mon synthé).

    Ma capacité à coder est limitée (j'ai pas mal codé il y a un certain nombre d'années, mais je suis rouillé) et le temps que je peux y accorder serait aussi (très) limité, mais si ça vous tente, je peux essayer de me lancer dans un projet à moyen terme (on va dire, sur 2020) pour intégrer le code de mise à jour avec les bibliothèques USB et ALSA MIDI et essayer de créer une application indépendante de mise à jour, dont la compilation pourrait être lancée sur une Ubuntu sur clé USB ou autre (et de là, cross-compiler sur architecture ARM pour pouvoir le lancer depuis un Raspberry Pi aussi ?) ? Si ça vous intéresse, on pourrait passer par courriel pour la suite pour voir la faisabilité.

    Summary in English:
    Thanks for the detailed answer. I was using VirtualBox with a Windows 7 VM.

    I have had an opportunity to use a Windows machine while visiting family, so I could witness how an update is supposed to work, and I could see this personality change during the procedure. I wonder whether it is possible to get the Sylphyo and the Link to exhibit this personality outside the procedure, so that they can be registered in VirtualBox as USB devices to be shared to the VM. It would be nice to have a way for Linux users to make the update, although on the long term, depending on a Windows licence remains a problem.

    The best would be indeed to have a native application, via CLI is most likely sufficient for Linux users. What would be needed is to code the interfaces to USB and ALSA MIDI libraries, and generate an independent application, and a setup to be able to generate new versions via a Ubuntu on a USB stick or something.

    It is quite understandable that you don't have the time for starting such a project, as it is more important at the moment to make improvements to the Sylphyo itself, like the last update which I quite enjoy now, and while my ability to code is a bit rusty (I haven't done anything major in years), and I have little time available for such a thing, I could still try and develop something within 2020? We could continue by mail for details if you're interested.


Log in to reply