Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

1 - Le matériel et les pilotes ALSA, FFADO, ...

Dernier post

Puredata en nogui... le retour!

jokoko utilisateur non connecté
Salut!

je reviens avec mes problèmes de démarrage de pd-extended dans un boot dédié au live.
Donc la dernière fois on en était là:
forumthread55798

J'étais super content, tout marchait bien, je m'en suis pas mal servis... puis je suis passé à d'autres projets, avant d'y revenir tout dernièrement.
Sauf qu'il y eu du changement entre temps: nouveau PC, nouveau projet donc nouveau patch...

Donc pour reprendre:
Je suis sur un laptop ASUS, avec toujours ma chère EDIROL UA-25 EX et mon cher controleur AKAI LPD8.
Pour le boot dédié, c'est toujours sous debian, avec le même procédé qu'il y a quelques temps:
grâce au fichier inittab, je lance un script avant l'execution du Xserver (qui n'arrive donc jamais MOUAHAHA), qui était le suivant:
pd-extended -nogui -rt -audiodev 3 -alsa -alsamidi -mididev 1 -open /home/jokoko/Desktop/patch/patch2/patch.pd

Mais la patatra ça ne marche plus, puredata ne reconnais plus ma carte son et me dit:
ALSA input error (snd_pcm_open): No such file or directory
ALSA output error (snd_pcm_open): No such file or directory

ou parfois:
ALSA input error (snd_pcm_open): Device or resource busy
ALSA output error (snd_pcm_open): Device or resource busy

selon les essais. (je me suis biensûr référé à la page sur l'ordre des cartes sons)

Après avoir longuement trifouillé tout ça, je me rend sur le IRC de linuxMAO où Sub26nico me propose d'essayer avec jack.
Je rétablis donc le serveur graphique de mon boot debian pour paramétrer jack, et fais des tests, avec le serveur graphique, en executant le script :
#!/bin/bash
jackd
pd-extended -nogui -rt -jack -alsamidi -mididev 1 -open /home/jokoko/Desktop/patch/patch2/patch.pd

ça marche.

Mais sans le serveur graphique... ça ne marche pas...
Jack n'arrive pas à se lancer
j'obtiens quelquechose proche de ça (comme ça défile très vite c'est un copié/collé d'un bug presque identique obtenue avec le serveur graphique lol )
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel


Voilà où j'en suis.
J'ai du temps en ce moment donc je suis près à me lancer dans toutes sortes de solutions!

Merci d'avance et à bientôt.

EDIT:
Je me suis rendu compte que jack échoue à se lancer car il réclame le display de X11 (donc le serveur graphique).
J'ai commencé des recherches sur les inter-tubes mais apparement la solution n'est pas simple et les réponses en anglais à propos du DBUS ne m'ont pour l'instant pas trop éclairées (il y des pistes mais je ne sais/comprend pas trop quoi faire)

djay utilisateur non connecté
Bonsoir.
A tu essayé en lancant jack par dbus-launch (ou ton scrpit)?
J'avais un probleme identique sous ArchLinux il y a un moment, que je reglait comme ça. Maintenant j'utilise une version de jack sans dbus biggrin

dlb utilisateur non connecté
Sur la liste de FFADO, un gars a un problème qui ressemble au tien ... Ca à l'air de venir de dbus ... je te recopie sauvagement le fil ...


Le problème est exposé ainsi :


Hi!

I've been trying to make a headless linux system to start recording automatically after booting the OS. A python script fixes the mixer settings and jack is used for audio transfer.
My problem is the "X11 initialization failed". There will be no one to log on locally or remotely.

My problem is the "X11 initialization failed". To save limited computing resources, I don?t want to start any GUI on the computer and there will be no one to log on locally or remotely.
Does anyone know how to skip the checking of X11 existence while starting the ffado-dbus-server? And preferably without hacking the source code :-).


Une première réponse :



As a quick n'dirty hack, you can use Xvfb. I use it a lot in my administration scripts when a component insists in using X even when no graphical feedback is required.
should be packaged for any modern distro.

mussol


et une deuxième :


I have been able to quickly test this approach on my development machine and I can confirm that it seems to work. This means there's no need to mess around with a fake X session in a virtual framebuffer or anything like that. Running the above if..fi clause in a shell script will produce an environment in which ffado-dbus-server will start without any X session running.

If you can be sure that a dbus session is definitely not running when you run your commands you could just do

eval $(dbus-launch --sh-syntax)
ffado-dbus-server

Including the "if" clause provides a little insurance in the case where your script (or whatever you are using to start all this) happens to be called a second time, at which point dbus is already running and doesn't need to be started again.

Hopefully this resolves your problem and you can continue the development of your headless recording system. Please let us know how you get on of if you need further assistance.

Regards
jonathan



Il y a sans doute des pistes là dedans !

jokoko utilisateur non connecté
@djay
D'accords mais pourrais tu me détailler un peu plus comment faire utiliser dbus-launch dansmon script?
Ou sinon ou puis-je trouver une version de jack sans dbus-launch?

@dlb
Merci pour le tuyau, mais je suis pas sûr de bien comprendre tout ce qu'ils disent... j'essayerais de me pencher plus longuement demain pour mieux comprendre.

djay utilisateur non connecté
@jokoko
juste ca, je crois:
dbus-launch ./mon_script

Désolé mais je peut pas tester (pas de DBUS dans mon JACK smile)

jokoko utilisateur non connecté
Hey, oui la solution est aussi simple que celà! Merci.

Donc jack démarre, et ensuite PD-extended et le son marchent... presque
Il y a du son qui sort, mais j'ai le watchdog qui signale puredata sans arrêt, et le son est très découpé (Xrun ?)

En faisant des vérifications de bases, je me suis aperçu que le PAM n'était pas configuré. Ni une ni deux, je rétablis le serveur graphique et m'identifie en tant que root pour le faire.
J'ajoute audio au groupe root sans problème. J'édite limits.conf sans problèmes (bien que toutes les lignes du fichiers commencent par un #), avec donc:
# Support Temps réel pour le groupe audio
@audio  -  rtprio   90
@audio  -  memlock  unlimited


Je ne rencontre pas la ligne
@audio  -  nice -15


Toute la procédure à l'air de bien se passer. Mais après déconnection et même après redémarrage, rien n'y fait, la commande
ulimit -l -r
me renvoie
max locked memory       (kbytes, -l) 64
real-time priority              (-r) 0

N'étant pas certain de l'utilisateur qui à la main quand je démarre sans le serveur graphique, j'ai inséré cette commande dans mon script et j'ai aussi passé l'autre utilisateur (jokoko) dans le groupe audio.
Mais j'obtient la même chose au démarrage sans Xserver:
max locked memory       (kbytes, -l) 64
real-time priority              (-r) 0


Pour rappel je suis sous debian, et voici mon fichier limits.conf en entier:
# Support Temps réel pour le groupe audio
@audio  -  rtprio   90
@audio  -  memlock  unlimited
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#        - NOTE: group and wildcard limits are not applied to root.
#          To apply a limit to the root user, <domain> must be
#          the literal username root.
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority
#        - chroot - change root to directory (Debian-specific)
#
#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#root            hard    core            100000
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#ftp             -       chroot          /ftp
#@student        -       maxlogins       4

# End of file

# Support Temps réel pour le groupe audio
@audio  -  rtprio   90
@audio  -  memlock  unlimited


djay utilisateur non connecté
(re)bonjour.
limits.conf n'est pas ma specialité, mais peut-ete devrait tu rajouter
@audio  -  nice -15

et aussi
@audio          -       memlock         unlimited


pour info, chez moi, il y a
*               -       rtprio          0
*               -       nice            0

juste au dessus, et ca semble marcher:
$ ulimit -l -r
-l: locked-in-memory size (kbytes)  unlimited
-r: max rt priority                 99


jokoko utilisateur non connecté
salut,

J'ai essayé de rajouter mais ça ne fonctionne pas. par contre j'ai trouvé un fichier dans /etc/security/limits.d qui s'appel audio.conf:
# Provided by the jackd package.
#
# Changes to this file will be preserved.
#
# If you want to enable/disable realtime permissions, run
#
#    dpkg-reconfigure -p high jackd

@audio   -  rtprio     95
@audio   -  memlock    unlimited
#@audio   -  nice      -19


J'ai testé la commande indiquée (dpkg...) mais ça ne marche pas mieux...

Citation :
pour info, chez moi, il y a

*               -       rtprio        0                                         *               -       nice          0

Je n'ai pas trop compris ça, ça va pas un peu un l'envers de ce que l'on veut faire (même rtprio à 99)? Et je n'ai pas non plus compris ce que les * désignent.

Merci et à bientôt.

jokoko utilisateur non connecté
Hey!

Alors après avoir cherché autour de PAM, j'ai trouvé des éléments à propos de d'un fichier /etc/pam.d présent sous debian et qui pouvait entrer en jeu.
Au bout d'un moment je ne sais quel paramètre à fais que j'ai réussi àobtenir le temps réel quand je suis connecté en tant qu'utilisateur (et non root).

Donc là ça marche plutôt pas mal, mais j'ai un problème de choix de carte.
dans ma commande de lancement de jack, j'ai mis l'option
-d plughw:0
puisque c'est systématiquement comme ça que se nomme ma carte dans Qjackctl.

Mais en pratique, en fonction de je ne saisquel paramètre, d'un démarrage sur l'autre ça marche ou pas, sachant que ça dépend de ce que j'obtiens avec la commande
aplay -l

tantôt, c'est ma carte interne qui card 0 et ma carte externe card 2 tantôt l'inverse.
Va voir le tutoriel sur les cartes mouvantes me direz vous!
Mais au vu de mon fichier alsa-base.conf, je ne sais pas trop comment je dois le régler... :
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
# Keep snd-pcsp from beeing loaded as first soundcard
#options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2


et comment je dois appeler ma carte dans l'option de la commande de lancement de jackd.

Si quelqu'un à une idée de la manière de procédé je suis preneur.

En attendant j'vais tatonner un peu.

Merci et à bientôt (et je n'oublierais pas de revenir mettre résolu si je me dépatouille seul)

Ciao!

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]


sub26nico

Mégaphone [Afficher / Cacher]

olinuxx, 10:48, jeu. 27 Apr 2017: bonjour et bienvenue à arcencia2a :-)
olinuxx, 20:37, mar. 25 Apr 2017: bonjour et bienvenue à mojokeeoper :-)
tenryu, 16:22, mar. 25 Apr 2017: @zebassprophet: un Big up pour toi !
zebassprophet, 15:07, mar. 25 Apr 2017: nan, cremaillere en France, le luxo c'est trop cher :-D
Nolwen, 14:42, mar. 25 Apr 2017: @zebassprophet : Félicitations !!! Crémaillère au Luxembourg de prévu, du coup !
sub26nico, 13:35, mar. 25 Apr 2017: Merci et félicitations ZBP!
zebassprophet, 13:28, mar. 25 Apr 2017: et qui c'est qui a eu le poste de prof de gratte au luxembourg??? FUCK YEAH !!! Moi :-D
zebassprophet, 13:27, mar. 25 Apr 2017: @sub26nico, profite bien ;)
sub26nico, 12:39, mar. 25 Apr 2017: Salut à tous des plages de Stes Marie de la mer :-)
sub26nico, 08:11, mar. 25 Apr 2017: Nouvelle version de Rosegarden, [Lien]
sub26nico, 21:12, lun. 24 Apr 2017: @Nolwen! Y'a besoin de s'inscrire si on veut assister aux conférences ? Je croyais que c'était pour y participer..
Nolwen, 20:43, lun. 24 Apr 2017: @sub26nico : Et oui, "La participation à LAC2017 est gratuite (mais nécessite une inscription)." dixit leur site !! Un peu comme les RMLL, il me semble.