Chargement...
 
Skip to main content

2 - Les distributions et les noyaux


[RESOLU] Problème de reconnaissance en NOGUI

Bonjour à tous,

Je vais essayé de faire court mais complet pour mon problème:
J'utilise Puredata avec un patch de ma confection pour le live. Puredata reçois des infos de mon pad USB AKAI LPD8 et du son de l'entrée de ma carte EDIROL UA-25 EX

J'ai déjà pas mal posté ici quand à des déboires de reconnaissances avec JACK, mais j'avais depuis réussis à passé outre.
Mon système fonctionnant bien, j'ai voulu passer à l'étape supérieure: l'installation d'une distribution sur une partition, qui après réglage, n'aurait pas d'interface graphique et lancerait automatique puredata parfaitement paramétré... Bref, les rêve!

Et je n'en suis pourtant pas loin, mais...
J'ai réussis à mettre au point un script qui me lance puredata en NOGUI parfaitement paramétré

Copy to clipboard
#!/bin/bash pd-extended -nogui -audioindev 3 -audiooutdev 3 -alsa -alsamidi -midiindev 1 -midioutdev 1 -rt -open ~/Bureau/QuercusErraticae/patch/project.pd


J'ai installé Linux Mint sur un bout de partition pour le dédier entièrement à mon but.
J'ai installé Puredata dessus, et testé mon script, jusque là, tout baigne!
Mais, quand j'éteins l'interface graphique avec la commande suivante:
Copy to clipboard
sudo /etc/init.d/mdm stop

là mon script ne fonctionne plus. En regardant de plus près je me suis aperçu que, dans ce mode, puredata ne reconnaît plus du tout mes périphériques (carte son et contrôleur AKAI)

Et de là, quand j’exécute la commande inverse
Copy to clipboard
sudo /etc/init.d/mdm start
, même en mode graphique, il ne reconnaît toujours pas mes périphérique, jusqu'au prochain redémarrage.

N'hésitez pas à me demander des précisions si nécessaire, et merci d'avance!!
France
Salut.

Souvent sur les distributions modernes de type "Desktop", ALSA est lancé et est configuré pour l'utilisateur au moment où l'interface graphique est lancée. Du coup, si tu coupes l'IG, tu coupes ALSA en même temps.

(Au passage, merci pour le message où l'on comprend bien ce que tu fais, c'est agréable de voir que tu as pris le temps de bien rédiger et expliquer ton soucis.)
Mais de rien =)

Et donc existe-t-il un moyen de garder ALSA en marche ou de relancer ALSA après avoir coupé l'IG? Ou bien (plus direct pour ma finalité) comment démarrer sans l'IG mais lancer tout de même ALSA?
France
Tu as plusieurs solutions. Comme ça, je dirais :
  • relancer ALSA (la façon de faire dépend de ta distribution)
  • les runlevel (la facon dont ils sont utilisés dépend de ta distribution)

Si tu tapes alsa en console, ça te dit quoi ?

Je ne connais pas Mint, c'est basé sur du ubuntu non ?
France
Et y'a pulseaudio aussi ?
Oui...

Je suis en train de me poser la question du choix d'une autre distribution. Mais je ne sais pas trop quoi prendre.
France
Ce n'est pas nécessaire de changer de distribution juste pour un truc comme ça que tu retrouveras dans les autres distributions. Moi, je ne peux pas trop te dire car j'utilise pas pulseaudio. Le mieux, si tu n'as pas de réponse, c'est de poser tes questions sur les forums d'ubuntu-fr.

Et puis tu n'as pas répondu à ma question :
olinuxx écrit:
Si tu tapes
Copy to clipboard
alsa
en console, ça te dit quoi ?

Yep,

Alors je vais de ce pas poster sur le forum ubuntu.

Et le retour de alsa me donne:

Copy to clipboard
alsa Usage: /sbin/alsa {unload|reload|force-unload|force-reload|suspend|resume}

France
Et t'as essayé ces commandes ? (surtout reload et force-reload)
Bon après plusieurs test je suis arrivé à un résultat intéressant:
le ALSA reload marche, une fois (après il faut rebooter) après avoir fait
Copy to clipboard
sudo /etc/init.d/mdm stop

Quand je refais start ou encore stop, ça ne marche plus (même avec force-reload...)

Mais c'est déjà ça.
ça marche aussi (une seul fois toujours) en intégrant la commande
Copy to clipboard
sudo alsa reload
dans mon script.

J'ai un autre petit souci à régler au niveau de mon script: je désigne mes devices (UA-25 EX et LPD8) par des numéros (1 ou 3), mais ça arrive que ça change... que le LPD8 soit le 1 et que quelques boots plus tard il soit le 3 et vice et versa. Je ne sais pas comment les désigner autrement.


Enfin pour finaliser le tout, il me faudrait obtenir un moyen de bloquer mdm au démarrage et de lancer mon script automatiquement. J'ai déjà tester avec la solution de modifier dans le grub dans une ligne ou on à
Copy to clipboard
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
par
Copy to clipboard
"quiet splash text"
ou juste
Copy to clipboard
"text"
mais ça ne marche pas pour moi.
De même mettre mon script au démarrage avec l'option "applications au démarrage" ne fonctionne pas.
Merci pour le tuyau des cartes sons mouvantes. J'espère que mon nouveau réglage suffiras pour fixer ça.

Et pour les Run Level je me penche dessu oui. Très intéressant mais ça ma l'air d'être vaaaaaste sujet oui.

Et oui c'est pour faire une machine qui ne veut pas de serveur graphique. Comme ça, plus de performance, et plus simple à mettre en place. Et si besoin possibilité pour l'ingé son de redémarrer le bazar en urgence sans qu'il soit expert en Puredata.
France
OK, alors je conseille de regarder les possibilités (avec les niveaux d'execution) de démarrer ta bestiole en mode "single-user" et "sans X"
Tiens nous au jus
Olivier
Bon alors après des journées de perditions dans des lignes de codes, des cafés et des niveau d'execut.....
Bon en faite non j'ai passé beaucoup de temps à fabriquer un poulailler mais c'est ce n'est pas le sujet. Et j'ai quand même avancé un peu, et trouvé une piste intéressante.

Donc voilà ce que j'ai fait tout d'abords:

Je travaillé avec le RunLevel S (/rcS.d) qui est dédié au Single User
->le readme:
The scripts in this directory whose names begin with an 'S' are
executed once when booting the system, even when booting directly into
single user mode.

The scripts are all symbolic links whose targets are located in
/etc/init.d/ .

To disable a script in this directory, rename it so that it begins
with a 'K' and run 'update-rc.d script defaults' to update the order
using the script dependencies.

For more information see /etc/init.d/README.



J'y ai enlevé (selon les consignes du README) ce qui s’apparentait à du serveur grahpique et j'y ai rajouté un démarrage de pulseaudio et de mon script:
Copy to clipboard
lrwxrwxrwx 1 root root 30 août 18 13:54 K45virtualbox-guest-x11 -> ../init.d/virtualbox-guest-x11 lrwxrwxrwx 1 root root 20 août 18 13:54 K70x11-common -> ../init.d/x11-common -rw-r--r-- 1 root root 447 mars 13 02:33 README lrwxrwxrwx 1 root root 16 août 18 13:54 S25brltty -> ../init.d/brltty lrwxrwxrwx 1 root root 26 août 18 13:54 S26cryptdisks-early -> ../init.d/cryptdisks-early lrwxrwxrwx 1 root root 20 août 18 13:54 S47lm-sensors -> ../init.d/lm-sensors lrwxrwxrwx 1 root root 20 août 18 13:54 S51mintsystem -> ../init.d/mintsystem lrwxrwxrwx 1 root root 17 août 18 13:54 S55urandom -> ../init.d/urandom -rw-r--r-- 1 root root 34 août 19 10:57 S56pulseaudio -rw-r--r-- 1 root root 0 août 19 10:57 S56pulseaudio~ -rw-r--r-- 1 root root 31 août 18 20:37 S60pdstart


Bon le contenu des documents que j'ai ajouté c'est seulement
Copy to clipboard
SCRIPTNAME=/etc/init.d/pulseaudio
(ou pdstart pour mon script)
Bon vous m'excuserez c'est un peu barbare... c'est peut-être pour ça que ça ne marche pas.

Et donc j'ai réglé le RunLevel sur S.
ça démarre donc bien en S, bien sans interface graphique.
Et à un moment, ça me met:
Give root password for maintenance
(or type control-D to continue):

Alors j'ai essayé CTRL-D... ça parle de rc_sync qui compte (à chaque ctrl D)... et il peut compter looooooongtemps. Mais rien de se passe.

J'ai donné mon mot de passe. Et donc là je me retrouve en mode console classique. Mon script n'est toujours pas lancé (mais je suis pas en mode graphique c'est déjà ça).
J'ai essayé de l’exécuter, ça donne toujours le même problème qu'avant. j'ai essayé de reload alsa... toujours rien. Et puis...
J'ai tapé "pulseaudio" pour voir. Et la réponse est... intéressante:
(authentiquement recopié à la main, Oui Monsieur!)
Copy to clipboard
W: [pulseaudio] main.c: This program is not intend to be run as root (unless --system is specified) E: [pulseaudio] module-alsa-card.c: failed to find a working profile. E: [pulseaudio] module.c: failed to load "module-alsa-card" (argument: "device_id="3" name="usb-AKAI-LPD8" cardname="alsa_card.usb-AKAI-LPD8" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=no card_properties="module-udev-detect.discovered=1""): initialization failed. W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.error.NotSupported: Unable de autolaunch a dbus-daemon without a $DISPLAY for X11 W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.error.NotSupported: Unable de autolaunch a dbus-daemon without a $DISPLAY for X11

NB: j'ai raccourci le nom du AKAI parce que sont appellation exacte était un peu longue.
Voilà. Plein de choses que je ne comprend pas très bien mais qui m'ont l'air fortes intéressantes pour dénouer le problème.
France
Ah ba ca ressemble a ce que ton pulseaudio, il fait le caprice et il veut une interface X.et Dbus.
A toi de voir si tu as "vraiment" besoin de pulseaudio ou si ALSA te suffit.
Ben, puredata je crois qu'il tourne avec ALSA.
Mais au final pulseaudio m'agace un peu. Mais j'ai l'impression de pas avoir trop le choix.

C'est marrant parce que sur le forum ubuntu on arrive à quelque chose d'assez proche en passant par d'autres procédés...
Mhhhhh...
Il semblerait que j'avais un détail crucial sous les yeux et que je ne m'en suis pas aperçu:
L'erreur que me renvoie le script au lancement de Puredata et du patch:
Copy to clipboard
ALSA lib pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card ALSA input error (snd_pcm_open): no such file or directory


Ce bout de texte il me l'affiche 4 fois, tout à la fin, après le lancement du patch.

J'ai dans l'idée qu'il faudrait lui désigner la carte son (c'est le "Invalid value for card" qui me fait penser à ça), et qu'il cherche un document qui lui indiquera ça ("no such file or directory").

En cherchant un peu, je suis tombé là-dessus: https://gitorious.org/alsa/alsa-lib/source/f6b879e7cc87d83343f5004369146881d1d1e335:src/pcm/pcm_hw.c
ça peu peut-être aider, après je sais pas vraiment par quel bout commencer et comment m'y prendre pour y arriver.
France
Quand tu dis " Ce bout de texte il me l'affiche 4 fois, tout à la fin, après le lancement du patch.", c'est qui exactement "il" ?
Et bien, a vrai dire je ne sais pas vraiment, j’exécute mon script, qui exécute Puredata, donc je pense que c'est puredata qui renvoie ça. (Puisque un peu avant ça dit que "Sigmund~" -un objet puredata que j'utilise dans mon patch- est bien mis en place)
France
Ok, alors tu devrais voir ça avec des connaisseurs de puredata (moi pas en être).
Il y a des coins francophones de la toile avec des utilisateurs qui pourront t'aider. Voir sur la page puredata pour ça.
a+
Olivier
Page: 1/2  [Suivant]
1  2