16mars 2012
Installer une Gentoo pour la MAO
11:06 - Par bpier - Gentoo_MAO - 6 commentaires
Ce post montre comment faire de la MAO sous Gentoo, la distribution sous Linux que je préfère Je vous passerai ici l'ensemble des trucs, astuces et procédures utiles pour que vous puissiez, vous aussi, tirer profit de cette distrib'. Vous bénéficierez, de fait, du Wiki que je réalise en général pour mon propre usage.
EDITnovembre 2015 => Ce post obsolète, qui peut juste servir à mesurer le travail à faire pour installer une station MAO sous Gentoo.
EDIT septembre 2016 : depuis 8 mois, je suis passé sur OSX El Capitan (sur Macbook Pro) et je ne prévois pas de revenir en arrière. Le billet sur Gentoo ne sera donc plus mis à jour.
Le 3 septembre 2020 : liens obsolètes virés et vidéos converties en mp4, en lieu et place du flv.
Préalable
Je donnerai donc toutes les étapes à franchir pour configurer Gentoo pour la MAO. Je n'entrerai cependant pas dans le détail de l'installation de base de cette distrib', sauf quand les procédures nécessaires à la MAO l'imposent. Pour être franc, l'installation ne sera pas "user friendly" !
La version de Gentoo utilisée ici est basée sur la dernière Stage 3 installée à partir d'un CD minimal d'une centaine de mégas qui contient juste les outils de base. L'objectif était de se concocter une Gentoo légère, véloce avec une interface graphique LXDE combinée à Openbox (rien de Gnome, rien de KDE). Le serveur son est évidemment alsa, surtout pas pulseaudio.
Les phases indispensables
Premier point S'il n'est pas question de détailler l'installation de base, pour faire de la MAO, il est toutefois préférable de configurer sa distrib dès son installation. Donc, pour un tas de raisons sur lesquelles je ne m'étendrai pas, j'ai fait le choix de rester en 32bits. Pour info, mon ordi est un assemblage de pièces achetées ici et là. Elles commencent à être anciennes. Ainsi, ma motherboard est une Gigabyte GA-EP41-UD3L, le processeur un Pentium Q6600, plus 4Go de RAM DDR2, une carte graphique Nvidia Gforce GT630, plusieurs disques durs Sata et USB2, une carte audio Echo Layla 24, une interface Midisport 4x4, une Midisport 2x2.
Au moment d'installer le kernel, j'ai opté pour un noyau classique, le gentoo-sources-3.14.16 à l'heure où j'écris. Je l'ai configuré en lowlatency-pae avec ces options :
J'ai également tenu compte de mes besoins : ainsi, ma carte Nvidia fonctionne avec le module libre nouveau, la carte Layla24 avec le module snd-layla24 du noyau, etc.
Le CPU Frequency scaling
Deuxième point majeur pour la MAO : faire en sorte que le kernel tire le maximum du processeur. Ainsi, toujours pendant la config du noyau, lors du make menuconfig, allez dans "Power management and ACPI options/CPU Frequency scaling" et choisissez "Default CPUFreq governor (performance)".
Quand le kernel est configuré, et que vous l'avez installé, n'oubliez pas d'ajouter dans le fichier /etc/conf.d/modules les modules que montera votre kernel_tel_version. Voir les trois dernières lignes, correspondant à trois noyaux différents :
Le choix du profile
Troisième point important Lors de la première installation, il est également nécessaire de choisir un profile Gentoo, via la commande eselect profile list. Choisissez ici un simple profile desktop, ni desktop/gnome, ni desktop/kde. Motif : vous éviterez de ce fait d'installer des couches inutiles. De plus, en écartant gnome, vous ferez l'économie d'un tas d'heures passées à tenter (en vain) de désinstaller le serveur son pulseaudio, servi d'office avec Gnome, mais à proscrire en MAO. Sur une première install, j'avais retenu l'option desktop/gnome comme profile. Je m'en suis mordu les doigts, car je n'ai jamais réussi à désinstaller proprement pulseaudio.... Le profile Desktop permet donc d'utiliser un serveur graphique léger, en fait LXDE/openbox, et d'installer le serveur son alsa, dont on se sert en priorité en MAO.
Pour tout un tas d'éléments de configuration liés à la spécificité de votre machine, référez-vous également au Handbook de Gentoo, ici.
Installer le serveur son alsa
A ce stade, je présuppose que vous avez installé Gentoo correctement, et son serveur X : LXDE/Openbox, que tout fonctionne à merveille. Il faut donc maintenant installer alsa.
Sur mes précédentes installations de Gentoo, c'était on ne peut plus simple. Mais les bonnes choses ont toujours une fin ! Hélas. Pour cette install-ci, ça a été beaucoup plus laborieux.
On y va : installez alsa-lib, alsa-oss, alsa-tools, alsa-utils, alsa-firmware, alsa-plugins, plus pyalsa.
Vérifiez maintenant que votre carte audio est reconnue en passant cette commande :
cat /proc/asound/cards
Quand tout va bien, la console vous retourne un truc de ce type :
Si votre carte n'est pas vue, tapez la commande lspci
Regardez du coup si votre carte est reconnue par la machine. Exemple pris avec mon Echo layla :
Si la vôtre est reconnue, rien n'est perdu. Mais, comme je ne connais pas la carte de chacun de mes lecteurs, je ne rentrerai pas dans le détail pour chacune d'elles (j'en serai bien incapable d'ailleurs). Alors, un seul conseil dans ce cas :rendez-vous sur les forums pour trouver de l'aide. Moi, je ne peux que rester dans les généralités, excepté mon matos.
Justement, en parlant de mon matériel, j'ai rencontré une sévère galère avec ma carte Layla... Pour que Gentoo voie la layla comme ma carte par défaut, j'ai dû créé un fichier /home/mon_user/.asoundrc, contenant ces lignes :
# pcm.layla24 {
# type hw
# card 1
# }
#
# ctl.layla24 {
# type hw
# card 1
# }
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
card 1 correspond à la place qui revient à ma Layla dans le /proc/asound/cards.
A SUIVRE....
Cela étant fait, mettez alsa en service au boot :
/etc/init.d/alsasound start
rc-update add alsasound boot
Installer Echomixer (chapitre pour les propriétaires de carte Echo)
L'utilitaire Echomixer, appartenant au paquet alsa-tools, peut être mis en raccourci sur le bureau ou même dans la barre des tâches de LXDE. Pour cela,commencez par créer un fichier Echomixer.desktop. Copiez dedans le texte ci-dessous et placez ce fichier dans votre $home dans le dossier /.local/share/applications/echomixer.desktop. Vous pouvez aussi le copier dans le dossier /usr/share/applications :
Désormais un raccourci Echomixer doit apparaître dans le menu de la barre des tâches, rubrique son et vidéo. Vous pouvez, à ce stade, créer un raccourci directement dans la barre des tâches (lxpanel). Ainsi, ouvrez toujours dans votre $home le fichier .config/lxpanel/LXDE/panels/panel et créez votre nouveau raccourci sous cette forme dans la rubrique Plugin/launchbar, sans tenir compte du gras toutefois :
Installer les interfaces Midisport (autre rubrique propriétaire)
A SUIVRE.... Et retour à l'ancien post ... ci-dessous
D'abord : Gentoo en action
Une petite vidéo d'une belle compo, Guardian Angel, enregistrée sur Ardour.
Et puis une autre vidéo, toujours en flash, pour voir ce que ça donne en MIDI avec la banque de sons Crisis sur le séquenceur Rosegarden via le lecteur/synthé Virtuel Qsynth (faite également avec la même ancienne Gentoo) :
Le groupe audio
On suppose désormais Ajoutez vous aux groupes audio et realtime :
# groupadd realtime
# groupadd audio (normalement il existe, mais bétonnons)
# gpasswd -a votre_username realtime
# gpasswd -a votre_username audio
Principaux fichiers de conf
Pour information, voici donc mes fichiers de conf. Ils sont configurés pour la MAO, notamment. Tenez compte des USEFLAGS, ils sont importants lors de la compilation des softs. Chez Gentoo, ce sont eux qui déterminent la personnalisation de votre config. Le premier fichier de conf est, je viens de le signaler, le plus important: le /etc/make.conf. Inspirez-vous du mien pour les USEFLAGS (USE) principalement. Pour le reste, adaptez en fonction de ce que votre configuration, votre matériel, votre machine :
Voici cette fois mon fichier /var/lib/layman/make.conf :
PORTDIR_OVERLAY=" /var/lib/layman/pro-audio $PORTDIR_OVERLAY"
A SAVOIR : quand vous modifié vos fichiers de conf, notamment les USEFLAGS, tapez en console et toujours en root pour mettre à jour votre environnement :
dispatch-conf && env-update && source /etc/profile
Installer les softs de MAO
Maintenant, installez via un emerge les softs (les paquets) pour la MAO. Vous pouvez pour vous faciliter une partie de la tâche, en récupérant mon fichier world, copier son contenu, le mettre dans votre propre fichier world qui se trouve dans le répertoire /var/lib/portage/. Le voilà : world.txt. Ce fichier contient la grande majorité des softs (paquets) qui composent ma Gentoo, celle de ce post. Commencez, ensuite, par l'indispensable : les paquets alsa (dont les alsa-tools, alsa-utils et alsa-firmware), qjackctl et jack-audio-connection-kit.
=> EDIT d'août 2014 : ayant rencontré des problèmes de reconnaissance de ma carte Layla24 avec alsa, j'ai directemet compilé à la main les paquets sources alsa-firmware et alsa-tools (echomixer) récupérés sur le site d'alsa.
Une fois que vous avez compilé les paquets nommés ci-dessus, passez ensuite aux logiciels avec lesquels vous jouerez : ardour, rosegarden, hydrogen..., enfin tous ceux que vous souhaitez utiliser. Ajoutez Yoshimi, plus a2jmidid, Linuxsampler et ses dépendances. Plus Audacity, Jamin, Patchage...
A SIGNALER_2 : si vous souhaitez installer une version bien précise d'un soft, exemple ardour-2.8.12, et qu'Emerge refuse de l'installer, en indiquant "All ebuilds that could satisfy "=media-sound/ardour-2.8.12" have been masked". Alors, contournez la difficulté en tapant en root : echo ">=media-sound/ardour-2.8.12 ~x86" >> /etc/portage/package.accept_keywords. Suivi d'un env-update && source /etc/profile && dispatch-conf. Puis lancez l'installation du soft.
Enfin, je conseille vivement d'installer Yoshimi. C'est un super synthé, très très complet et qui sonne. Il fonctionne avec jackmidi. Pour le contrôler via les ports Alsa MIDI, utilisez la commande : yoshimi -a. Image qui en dit long sur les possibilités du synthé :
Une démo de ce synthé : https://www.musically.me.uk/music/Ride_With_Yoshimi.mp3
Retour au post. Maintenant que vous avez installé les paquets qui vous intéressaient, choisissez de bétonner, en tapant en console l'une de ces lignes de commandes. Choisissez en fonction de l'option qui vous intéresse le plus (elles sont indiquées après les commandes). J'ai ajouté à chaque fois l'argument -a (pour ask) :
# emerge -a --update --newuse --deep --with-bdeps=y @world [Mise à jour complète]
# emerge -a --update --deep --with-bdeps=y world [Mise à jour du système entier]
Une précaution : par la suite, ne modifiez pas trop votre fichier make.conf. Ainsi, quand vous emergez un nouveau paquet qui réclame des USEFLAGS particuliers, non présents ou susceptibles de semer la pagaille dans votre belle Gentoo aux petits oignons, faites un emerge en utilisant l'argument "--autounmask-write", suivi d'un dispatch-conf.
Précaution, deux : si vous obtenez sur cette commande emerge un "verification failed" comme résultat, ne paniquez pas, ajoutez de nouveaux mirroirs dans votre make.conf, faites un env-update, suivi d'un etc-update ou dispatch-conf, puis refaites un eix-sync, avant de relancer emerge. Si ça ne marche toujours pas, attendez le lendemain que tout rentre dans l'ordre du côté de l'arbre portage de gentoo. Faut un peu de philosophie avec cette distribution, parfois.
Une fois que l'emerge --update --newuse --deep --with-bdeps=y @world est fini, faites un revdep-rebuild.
ATTENTION : à la fin de chacune de ces commandes, lisez bien les éventuels messages laissés pour chacun des paquets réinstallés. Exemple : sur l'emerge d'un paquet après un revdep-rebuild, un message me conseillait de taper cette commande : # revdep-rebuild --library '/usr/lib/libffi.so.5' && rm '/usr/lib/libffi.so. Il faut en tenir compte. Bien souvent, ça re-emerge d'autres paquets. Exemple :
Enfin, rien de plus désagréable de voir que jack numérote les cartes audio au petit bonheur la chance. Et les numéros changent à chaque redémarrage, plantant à chaque fois ou presque le serveur jack. Fixez donc l'ordre de montage de vos cartes, en rajoutant ces quelques lignes dans le fichier /etc/modprobe.d/alsa.conf.
Vu que j'ai une layla24 et trois interface USB (deux MIDI -la midiman et la Roland - plus une webcam), j'ai mis à la fin du fichier :
# Ma config options snd-layla24 index=0 options snd-usb-audio index=1,2,3
De cette manière, la layla est à chaque fois vu comme la première carte, notée hw:0 dans jack, et ainsi de suite pour les périph USB. Image :
Installez ensuite pam (on aurait pu le faire avant) :
emerge pam
Editez, ensuite, le fichier /etc/security/limits.conf en ajoutant ces lignes :
@audio - rtprio 95 @audio - memlock unlimited
Ajoutez maintenant votre user au groupe audio :
# gpasswd -a votre_user audio
EDIT août 2014 : Comme l'ebuild ne fonctionne plus, il faut télécharger rtirq directement ici : https://www.rncbc.org/archive/rtirq-20140413.tar.gz et installer à la main). J'ai donc supprimé le chapitre ci-dessous. Ce d'autant que je ne sais toujours pas comment installer le nouveau rtirq...
Installez rtirq
# emerge rtirq
Ajoutez-le en service en default ou en boot (ici en default) :
# rc-update add rtirq default
Vérifiez son statut :
# /etc/init.d/rtirq status
Ce qui donnait chez moi au moment de la rédaction de ce post :
Et ce qui donne en février 2013, après de multiples mises à jour, sur un noyau gentoo-sources en low-latency...
Et sur un vanilla-sources 2.6.11 patché realtime (toujours en février 2013) :
Revenons à nos moutons.
Vérifiez à présent vos IRQ pour voir si aucun d'eux n'est partagé :
De manière optionnelle, mais recommandée pour les anciens kernels, vous pouvez également accroître l'appel à l'interruption RTC (important en audio). l faut ajouter dans le fichier /etc/sysctl.conf :
dev.rtc.max-user-freq=2048
dev.hpet.max-user-freq=2048
Puis créer dans /etc/udev/rules.d/ le fichier 40-timer-permissions.rules, y mettre en copier/coller :
KERNEL=="rtc0", GROUP="audio"
KERNEL=="hpet", GROUP="audio"
=>Pour rtc0, je ne suis pas sûr que l'argument soit pris en compte lors du démarrage de la bécane.
Fixer ensuite la fréquence du swap, toujours dans /etc/sysctl.conf (conseil venant cette fois des utilisateurs d'ArchLinux, ainsi que de linuxmusicians) :
vm.swappiness = 10
fs.inotify.max_user_watches = 524288
Vous pouvez aussi optimiser (en le maximisant) le PCI latency timer de la carte audio. Cette manip est à prendre avec des pincettes, et beaucoup de précaution. Référez-vous aux conseils du site gentoo donnée en lien après les deux cadres montrant comment optimiser la latence PCI :
Enfin, si cela vous chante, gérez les services, afin d'alléger un peu plus Gentoo, via la commande rc-update
Pour voir les runlevels des services :
# rc-update -v show
Pour ajouter un service au boot :
# rc-update add service_choisi boot
Pour l'ajouter au niveau default :
# rc-update add service_choisi default
Pour le virer :
# rc-update del service_choisi default
Autre façon de voir l'ensemble des services :
# rc-status -a
Ce qui donne chez moi :
=>EDIT du 14 novembre 2012 : dans un premier temps, j'avais installé le service hdparm au niveau du boot. Je l'ai viré depuis.
EDIT du 26 novembre 2012 : la mise à jour d'openrc (je ne suis pas encore passé sur systemd) rajoute des services au démarrage. Voici le message de l'update :
Ensuite, éditer /etc/rc.conf puis choisir en décommentant (en virant les #) les arguments suivants : rc_interactive="YES" , rc_logger="YES", Un débat existe, en outre, sur l'ajout de l'argument rc_parallel_startup="YES". Pour ma part, je ne l'ai pas ajouté -j'ai gardé rc_logger).
Entrez à présent, pour mettre à jour l'environnement et votre profile :
# env-update && source /etc/profile
Installation de CPUfrequtils
CPUfreq est un utilitaire intéressant, quand un gouverneur, ou plusieurs sont activés dans le noyau. ce que vous avez fait lors de la configuration du kernel, je vous le rappelle, si vous avez suivi ce post depuis le début. Entrez en root les commandes :
# /etc/init.d/cpufrequtils start
# rc-update add cpufrequtils boot
Pour vérifier que les gouverneurs Ondemand et Performance sont bien à votre disposition, tapez :
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Ce qui doit répondre : ondemand performance. Du coup, pour choisir un gouverneur :
# cpufreq-set --governor [ondemand ou performance, au choix]
Cette commande ci-dessus n'agit que sur le CPU0. Pour que chaque CPU soit placé par exemple sur performance (si cela n'a pas déjà été choisi au niveau de la configuration du kernel), il faut taper la commande :
# cpufreq-set -c 1 -g performance
Et ainsi de suite pour chaque CPU :pour un quad core, refaites la même cmmande avec l'argument -c 2 et -c 3.
Pour voir les gouvernors sur chaque cpu en cas de multi-processeurs :
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governor
Est-ce que tout fonctionne bien ?
Pour vérifier si votre bécane est bien configurée pour la MAO, installez le script realTimeConfigQuickScan. Pour cela, installez d'abord le paquet mercurial :
# emerge mercurial
Puis :
hg clone https://realtimeconfigquickscan.googlecode.com/hg/ realtimeconfigquickscan
cd realtimeconfigquickscan
perl ./realTimeConfigQuickScan.pl
Sur l'image ci-dessus, vous constaterezbr / que realtimeconfigquickscan ne détecte pas la confi du kernel... Etrange. Bon, l'outil donne néanmoins les indications sur la config de base pour la MAO. Pour le reste, il existe u/public/divers/Faire_de_la_MAO_sous_Gentoo/rtirc_status.pngn autre outil.
L'autre outil : l'utilitaire latencytop.
Installez le via un emerge. Comme vous avez, si vous avez suivi mon post, configuré le kernel en cochant Latency measuring infrastructure dans la rubrique kernel hacking.... A SUIVRE
Quel gain de performance avec ces tweaks ?
Pour une totale transparence, voyons si tous ces tweaks optimisent vraiment le système. Mon ordi est un assemblage maison, à partir de pièces d'occasion. Carte mère Gigabyte en ICH7 (quelques années), proc Intel quad core Q6600, 4Go de RAM, trois/quatre disques durs, dont un en USB, graveur en IDE, écran Samsung DVI 17 pouces, carte graphique Nvidia 7950GT. Le tout en 32bits (pas vraiment d'intérêt pour le moment à passer en 64bits).
Premier point : le démarrage sur le noyeu Gentoo 3.6.5-rt14 Vanilla. Voici le fichier de log, en fait le fichier dmesg, que vous pouvez consulter ici : dmesg1.txt
Deuxième point : charge avec une session audio, composée de Jack-audio-connection-kit (en 44100hz), Patchage, Linuxsampler + le frontend Fantasia (5 instruments chargés), Yoshimi (2 pistes enclenchées), un VSTi et vsthost chargés, Hydrogen, Rosegarden et Ardour2 lancés avec quatre pistes audio en lecture dans Ardour. La mesure de la charge sur le proc et la mémoire, en images. D'abord l'ensemble dans Patchage :
Puis image de la charge pesant sur le système, lors d'une session de travail qui démarre (info : regardez la RAM que java s'octroie !) :
Enfin, du point de vue performance. On peut encore gagner. Notamment en désactivant tout ce qui a trait à la sécurité (ce que je teste actuellement, voir la rubrique sur la config du kernel). Car sécurité et performance sont rarement compatibles, prévient un de mes potes, Denis, un gourou de Linux et un des contributeurs actifs d'archlinux (voir lien en tête de ce blog). Je lui ai soumis ce post, pour qu'il apporte ses observations de développeur avisé. C'est donc lui qui suggère de désactiver tout ce qui a trait à la sécurité. "Je n'utilise simplement pas les sous-couches de contrôle d'accès du genre SELinux; overhead non négligeable sur le round-trip user-kernel", explique-t-il. En outre, il estime que l'on peut éventuellement ramener la valeur du swappiness à 0 (je l'ai fixée sur 10 dans ce post). Effectivement, le swap -autrement dit, l'espace de pagination, ne fait pas bon ménage avec le realtime. Motif, et, attention, c'est technique ! "Cela définit la tendance de l'OS à paginer la mémoire infréquemment utilisée. Ca peut être un tueur de performances inattendu en mode realtime ; sachant que si l'instrument doit fetcher le disque au cours du cycle de DSP, on est bon pour rencontrer des underruns." Je fais donc un essai avec un swappiness à 0, donc pas de swap. Ce qui doit naturellement accroître les performances du système, tout en l'exposant au risque de plantage si la mémoire est pleine. En général, avec un swapiness à 60 (sa valeur par défaut), l'OS devient paresseux, dit-on.
Si Wine sans jack est vu comme un souci...
Le serveur Jack n'est plus supporté par Wine, au moins depuis la version 1.4.1. L'explication est ici : "Jack, the low-latency sound server, had a driver in the old driver architecture. It has been removed as part of the transition to MMDevAPI. This means that there is no JACK support in Wine at this time", expliquent les développeurs de Wine, sur leurs pages de Wiki (ici). Résultat : si jack vous manque, repassez wine à la version 1.2.3, par cette commande en root :
emerge =app-emulation/wine-1.2.3
Et bloquez Wine sur cette version bien précise dans le fichier /etc/portage/package.use, en entrant :
# requis par wine/jack =app-emulation/wine-1.2.3
Et dans /etc/portage/package.mask :
>app-emulation/wine-1.2.3
Puis, faites :
env-update && source /etc/profile && dispatch-conf
Cela empêchera les updates de wine. Image de wine-1.2.3 :
Cela dit, wine n'a pas besoin de jack pour faire jouer les instruments VST. C'est l'objet de la prochaine rubrique.
Utiliser des instruments VST
Pour utiliser des synthés VST, vous aurez besoin d'une part de wineasio, d'autre part de paquet dssi-vst (commande : vsthost).
Un : wineasio. L'ebuild de 'overlay pro-audio plante. Donc faut compiler wineasio à la main après avoir récupérer ASIOSDK2 sur le site de Steinberg. Pour cela, il est nécessaire de s'inscrire sur le site de Steinberg. Une fois, fait, récupérer ASIOSDK2, décompressez-le. Mettez alors le fichier asio.h (situé dans le dossier common) dans le dossier wineasio. En user, tapez make ; en root, tapez make install. Puis, taper comme indiqué dans le README de wineasio : regsvr32 wineasio.dll. Si tout s'est bien passé, vous devez obtenir ceci :
bpier@bpier:~$ regsvr32 wineasio.dll Successfully registered DLL wineasio.dll bpier@bpier:~$
Vous pouvez désormais utiliser le driver audio ASIO dans vos VSTi. Reste néanmoins un second paquet à installer pour utiliser vos instruments : dssi-vst.
Deux, dssi-vst. Même remarque que pour wineasio. L'ebuild de l'overlay pro-audio est planté lui aussi. Pour l'installer, téléchargez du coup le paquet source sur son site officiel (ici), décompressez le dossier, puis renommez deux fichiers : dssi-vst-server.exe en dssi-vst-server et dssi-vst-scanner.exe en dssi-vst-scanner. Faites ensuite un make, puis en root : make install. vsthost est désormais installé. Limitation, hélas : pas de presets, ni de possibilité de sauvegarder les sons que l'on crée. Pour le moment (mon pote Denis travaille sur une nouvelle version avec possibilité de loader des banques, des programmes et de les sauvegarder). Enfin, creez en étant en root un lien du fichier dssi-vst-server dans /usr/lib/vst/ :
# ln -s /usr/lib/dssi/dssi-vst/dssi-vst-server /usr/lib/vst/
Vous pouvez dès lors lancer vos synthés avec cette commande : vsthost /chemin_de/votre/synthe.dll
BONNE NOUVELLE : mon pote Denis vient d'améliorer et de mettre à jour dssi-vst pour qu'il prenne mieux en charge les banques et presets des VSTi. Vous pouvez le tester (et l'adopter) en le récupérant via un terminal sur son repo git, en tapant : git clone https://bitbucket.org/cocotropico/dssi-vst.git
L'un des synthés de l'incontournable suite gratuite d'Elektrostudio (https://www.elektrostudio.ovh.org) :
Et quelques effets VST :
D'autres synthés, grâce à Calf
Pour connecter Monosynth, utilisez la boîte de dialogue MIDI de qjackctl (onglet du milieu). C'est tout. Pour obtenir du son, connectez les sorties du synthé au système. Comme d'hab, en fait. Puis jouez le dans Rosegarden. Mais, avant toute chose, installez une version de Rosegarden qui fonctionne bien. C'est l'objet du chapitre suivant.
Rosegarden
EDIT du 19 juillet 2013 : avec la dernière evrsion 13.04, le problème ne se pose plus.
Fluidsynth et Qsynth
Au lancement de qsynth/fluidsynth, un message peut apparaître : "fluidsynth: error: Help! Lost the connection to the JACK server". Résultat : p)as de sorties audio de qsynth dans jack. Pas de panique ! Allez dans le setup de jack et réglez le timeout sur 2000, au lieu de 500.La maintenance
Maintenez bien votre Gentoo, en l'updatant de temps en temps, après avoir fait un emerge --sync et un layman -S. Ou mieux un eix-sync. N'updatez pas tous les jours. Le wiki français des overlays de Gentoo explique pourquoi. Voilà ce qu'on peut y lire : "Veuillez ne pas exécuter cette commande plus d'une fois par jour ou vous pourriez mettre trop de pression sur l'infrastructure de Gentoo", est-il rappelé sur le Wiki français de Gentoo.
En outre, en mettant à jour de temps en temps, vous serez vite confrontés à quelques choix cornéliens proposés tantôt par la commande etc-update, tantôt par dispatch-conf. Voici un post sur le forum de Gentoo qui peut être utile, pour bien comprendre le maniement de ces deux commandes, sachant qu'il est nettement préférable de n'utiliser que la seconde, dispatch-conf : https://forums.gentoo.org/viewtopic-p-2696449.html#2696449
Enfin, prenez soin de suivre vos fichiers /etc/portage.accept_keywords, /etc/portage/package.use, package.keywords... Evitez de geler des versions de paquets qu'il est peut-être nécessaire de mettre à jour, pour maintenir une compatibilité avec d'autres paquets upgradés, liés avec eux. Ainsi, le petit signe "=" en début de ligne suivi d'un nom de paquet et de sa version empêche la mise à jour vers une version plus récente. S'il le faut, ajoutez devant le "=" le signe ">" qui, placé à cet endroit, autorise l'installation de toute version égale ou supérieure au paquet indiqué.
De plus les "**" placés derrière une version de paquet signifie que cette version en particulier ne doit pas être installée. Très utile si vous ne voulez pas travailler avec jack-1.9.8 (jack2), car vous avez opté pour jack1. Jetez un oeil à mon fichier package.accept_keywords (qui a cependant un peu bougé depuis).
Quant au nettoyage de sa Gentoo, il faut s'en préoccuper. Car l'arbre Portage (le /usr/portage) enfle au fil du temps. Le mien, par exemple, pèse déjà 5,2 Go ! Vérifiez le vôtre via la commande du -sh /usr/portage. Pour nettoyer proprement, lisez donc ce post consacré à l'utilitaire eclean : https://forums.gentoo.org/viewtopic-t-381258.html
UN CONSEIL: faites de copies de sauvegarde de vos principaux fichiers, comme le make.conf, alsa.conf, fstab, world (situé dans /var/portage/), grub.conf, /etc/profile, quelques fichiers placés dans /etc/conf.d (keymaps, modules...), ceux de xorg-server, plus les scripts que vous avez créés.
Si vous repérez une erreur, une coquille, un oubli, faites m'en part. Je me ferai un plaisir d'en tenir compte. Je ne suis passé sous Gentoo qu'au printemps dernier.
Si vous utilisez Linuxsampler (chapitre mis totalement à jour en août 2014)
Pour pouvoir profiter de la puissance et de la qualité de ce sampler sous Linux, il faut le compiler à la main sur Gentoo, en prenant quelques précautions, faute de quoi vous ne pourrez pas l'installer. Après avoir téléchargé les paquets via la procédure svn (svn co https://svn.linuxsampler.org/svn/libgig/trunk libgig, etc.), il faut tout d'abord faire, via un terminal et dans le dossier du paquet source à compiler un make -f Makefiles.cvs ou make -f Makefiles.svn. Passez ensuite à la compilation par elle-même,en ajoutant une séries d'arguments à la commande configure sur les différents paquets à construire :dans l'ordre, libgig, liblscp et linuxsampler. Ainsi, tapez pour le premier paquet :
$ ./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
Une fois fait, poursuivre la compilation normalement : make et # make install. Passez alors au suivant : liblscp, puis à linuxsampler. Si tout va bien, vous pourrez utiliser ce très bon sampler. N'oubliez pas d'installer gigedit via svn également. En outre, l'interface utilisée ici pour habiller linuxsampler est Fantasia :
Pour l'usage de Linuxsampler et l'usage de l'interface Fantasia, reportez-vous au post que j'ai fait sur eux, sur ce blog.
L'usage de contrôleurs logiciels
Petit complément sur les interfaces écrites en java. ce qui est le cas des certains utilitaires pour synthés et expandeurs hardware, tel que le mQEdit pour Waldorf Micro Q (image ci-dessous, interface en jaune), un synthé que je possède. L'autre interface, le Prodatum (en gris) pilote mon E-Mu Proteus 2000. Vous devez, pour utiliser ce type d'interface, installer java, puis sélectionner la machine virtuelle java que vous utiliserez pour les ouvrir. De cette manière : java-config --list-available-vms, # java-config --list-available-vms (suivi du système java utilisé) et/ou $ java-config --set-user-vm (suivi du système java utilisé). Plus d'infos ici : https://www.gentoo.org/doc/fr/java.xml
GTK-RecordMyDesktop, ce qu'il faut savoir
Pour que gtk-recordMyDesktop fonctionne, il faut repasser python en version 2.7, ne pas rester en 3.2. Faites cela :
# eselect python list
Ce qui donne normalement la réponse suivante :
Si l'astérisque est sur Python 3.2 comme ci-dessus, faites alors:
# eselect python set 1
Puis faites en root un python-updater (attention c'est assez long). Laissez aller jusqu'au bout de l'update, puis recompiler les paquets concernés par la rétroversion :
Si vous voulez aussi travailler la vidéo
Pour cela, vous aurez besoin de quelques paquets. A commencer par ffmpeg ou libav (qui lui nécessite virtual/ffmpeg). L'installation de ffmpeg et libav sur la même machine pose parfois souci. Les deux paquets ne sont pas franchement potes. Reste que libav est le successeur de ffmpeg. Donc privilégiez libav. Installer ensuite transcode ou mencoder (ce dernier s'installe via mplayer qui demande d'avoir encode dans les USE flags du fichier /etc/make.conf). Les dépendances suivront. Puis optez pour Cinelerra, qui tourne plutôt bien sur Gentoo (ça change d'Ubuntu !). Pour que Cinelerra fonctionne correctement, il faut taper préalablement la commande suivante (sur ma machine en tout cas) : echo "0x7fffffff" > /proc/sys/kernel/shmmax.
Installez ensuite Kino, mais aussi dvdrip, deux très bons programmes.
Sachez aussi que, depuis le kernel-3.7.10, la gestion des modules vidéo a un peu changé dans le noyau. Voir https://nlug.ml1.co.uk/2013/02/gentoo-kernel-3-7-9-webcams-v4l-uvc-video-kernel-config/3965
Monter sa Freebox Revolution
Cela peut être utile pour sauvegarder, par exemple, ses fichiers. Après avoir créé le dossier freebox dans /mnt, tapez en root la commande :
Suivre la procédure de boot de sa Gentoo
Il est toujours utile de savoir s'il y a oui ou non des erreurs au démarrage de son ordi. Alors, pour savoir comment monte la Gentoo lors de la procédure de boot, il est nécessaire d'activer le fichier de log qui détaille l'opération. Il s'agit de /var/log/rc.log, qui n'est pas activé d'office. Pour se faire, aller dans /etc/rc.conf et décommenter deux lignes, en virant le # : rc_logger="YES" et rc_log_path="/var/log/rc.log".
=> Si des erreurs apparaissent sur le montage des partitions, repérez d'où peut venir le problème via quelques commandes utiles : 1) mount | grep -i "^/dev" ; 2) file -sL /dev/sdXx ; 3) fsck -N /dev/sdXx ou blkid. Tentez de corriger s'il le faut dans /etc/fstab.
Des pistes d'optimisation, pour le futur...
Compiler plus rapidement encore, pour obtenir un kernel encore plus rapide. C'est a priori ce que promet le Link-Time Optimization, le LTO, qu'il faudra suivre avec intérêt. Trois liens, entre autres : https://patchwork.kernel.org/patch/1343271/, puis https://www.phoronix.com/scan.php?page=news_item&px=MTE2MzY et enfin https://realnc.blogspot.fr/
Voilà mes suggestions. Mais la liste n'est pas exhautives.
Si vous avez des remarques, des ajouts, des corrections à apporter. Encore une fois : NE VOUS PRIVEZ PAS !!
Liens utiles
Un très bon site en anglais qui demande à chaque fois (chez moi, en tout cas) uin mot de passe, mais cliquez sur "annuler" et vous accèderez aux pages :https://audiodef.com/projects.php?project_id=1
Le Wiki de Gentoo sur l'usage des overlays :
https://www.gentoo.org/proj/en/overlays/userguide.xml
Le dépôt svn de l'overlay pro-audio :
https://svnweb.tuxfamily.org/listing.php?repname=proaudio%2Fproaudio&
Les pages de l'overlay pro-audio :
https://proaudio.tuxfamily.org/wiki/index.php?title=Main_Page
Pour monter automatiquementle NAS de sa Freebox :
https://forum.ubuntu-fr.org/viewtopic.php?id=438943
Puis, du côté d'Archlinux :
https://wiki.archlinux.org/index.php/Pro_Audio#Pro_Audio_on_Arch_Linux
6 commentaires
Sympa ce post, les screenshots donnent envie d'essayer. D'ailleurs ça m'a redonné envie.
Mais un exemple de configuration "complète" ça serait pas mal. Surtout pour ceux qui ne connaitrait pas Gentoo. D'autant qu'il s'agit surtout de convaincre ces personnes, vu le titre non?
Par exemple le make.conf (pour les use generiques), les fichiers /etc/portage/package.* (pour les lib/soft à keywordé, les use spécifiques), l'installation de l'overlay proaudio, etc...
Une liste de logiciel aussi: qjackctl, linuxsampler, jsampler (le fantasia que l'on voit sur tes screenshots, j'ai mis un moment à trouver son vrai nom), qtractor et/ou rosegarden si on est frileux et qu'on préfère éviter les repos et compile à la mano pour oom, etc etc...
Merci pour ce post en tout cas.
Salut Tuna. Oui, je vais mettre tout ça, dès que j'ai un petit moment (non, un gros moment !). Pour l'instant, je finis en effet une vibe (voir post sur la Neovibe) et quelques autres trucs qui me bouffent du temps, comme le montage de micros single coil (en cours, post à venir). Mais je vais d'ores et déjà mettre en ligne mon make.conf, et le fichier portage. Cordialement. Pierre
Pour une Gentoo MAO, je conseille de ne pas manquer de visiter https://gentoostudio.org. Toutes les instructions sont disponibles pour une installation à partir d'une archive stage 4. On profite de surcroît d'un kernel 3.8-rt que l'on se compilera "aux petits oignons" à partir des seeds de Pappy's Kernel Seeds.
A part çà? Bravo et merci pour ce super site! Franchement l'un des meilleurs que je connaisse sur le sujet.
Yannos
Merci Yannos. Je ne connaissais pas gentoostudio. Je l'ai donc rajouté en lien. mais, pour faire court, il est réalisé par Papy de kernel seeds et regroupe des FAQ déjà en ligne, en partie citées ici. De plus, côté forum, il renvoie vers un post de Papy Audiodef sur le forum de Gentoo.org. Dernier point : j'ai mis en téléchargement mon fichier .config 3.8.11-rt que chacun adaptera à ses propres besoins et matériels (ci-dessus), sachant que les options de base pour faire de la MAO sont déjà sélectionnées. N'oubliez pas qu'avant d'utiliser ce fichier, il faut patcher en rt le kernel 3.8.11. Pierre
Salut !
Super ton blog,
Je suis Jeremy de Graçay (18310) en direct de la campagne !
je voulais savoir si tu voulais exposer mes mix Trance Psychédélique sur ton blog.
je te file les liens si tu veux écouter :
https://www.brakstar.com/mix/gaffe_a...
https://www.brakstar.com/mix/jetaipa...
https://www.brakstar.com/mix/Mix_en_...
merci !
Jérémy. Ton post n'a pas grand-chose à voir, à priori, avec gentoo, ni même linux. mais comme tes mix sont libres de droit, je les poste tout de même