libera/#devuan-dev/ Friday, 2023-04-07

rrqanyone using pipewire with alsa only (ie no pulseaudio) ?06:25
bgstack15rrq: I have libpipewire installed, but nothing else that matches regex /pipewir/ in my installed package list. I guess that's not enough of pipewire to count?14:03
bgstack15I also have libpulse0 and apulse packages, on top of alsa of course.14:03
rrqbgstack15: mmm not sure that counts :) I kind of wanted some pointers as to having some runtime switching between output endpoints, without having to restart the program; and with "pure alsa".14:46
onefangSounds like JACK, dunno about pipewire.15:11
rrqright; I'll need to learn jack... I started with pipewire sint that's loudest on today's billboards, and probably will be harder to avoid15:17
rrqsint means since15:17
onefangqjackctl is your friend.15:21
rrqok, so maybe I want the "default" alsa pcm to go through a jack switching story for dynamically go to either of the "plughw" and "bluealsa" alsa pcms... you think that's good thinking?15:31
rrq(all just audio output)15:33
onefangMy motherboard has two audio devices, my graphics card has six, and I have a USB one.  So my jack setup has lots of things to route through.  Currently I'm cooking, so my oven timer is routed to my main monitors speakers, while default sound for most things is via one of the motherboard ones.  When I fire up my music making software, JACK routes it to the USB.15:34
rrqmy need is slightly more modest: I want to have my ever-running chromium to sometimes go to my speakers and sometime to my bluetooth headset, all at my whim and possibly switching hands-on, but without restarting chroium.15:37
onefangWith qjackctl you get a nice routing widget where you can click and drag from a source to a destination device.  Or you can tell the specific software which one to route to.15:37
onefangDunno about chromium.  It uses ALSA?15:38
rrqyes it plays to the "default" pcm15:38
onefangTimer just went off.  BRB15:39
rrqcurrently I "just" edit ~/.asoundrc for the plughw/bluealsa choice, but I need to restart chromium after edit.15:40
onefangI dunno about bleutooth stuff either, only device I got is the centrol for my Google DayDream VR gogles, which don't work with Linux.15:41
rrqworks fine with bluealsa15:42
rrq(and bluez)15:42
rrqi.e. either output choice works but requires chromium restart15:42
onefangIn my ~/.asoundrc I define all my devices, and in qjackctl's post startup script are commands like -15:44
onefangjack-plumbing -q 2>/dev/null &  # for my complex plumbing needs.15:44
onefanga2j_control --ehw && a2j_control --start  # For MIDI if I recall correctly.15:45
onefangalsa_in  -j RearIn   -d Mobo0 &15:45
onefangalsa_out -j FrontOut -d Mobo1 &15:45
onefangLots of those last two, one per device in / out.15:46
onefangThe -d Mobo0 is one of the devices defined in  ~/.asoundrc  The -j RearIn is the name JACK will know it as.15:47
rrqta, yes that kind of looks like it should although I'll need to give TFM some quality time for the gritty :)15:49
rrqhmm are RearIn and FrontOut declared somewhere?15:56
onefangOnly in those commands.15:57
rrqnot in .asoundrc? or special jack labels?15:59
onefangFrountOut for example turns up in JACK with playback_1 and playback_2, which are the left and right outputs on my front headphone socket.  Then I can drag from some audio source to those, and get that sound routed to my front headphones.16:00
onefangAs I said the "-d Mobo1" is defined in  .asoundrc, that alsa_out command says to use that ALSA device and create a JACK device called FrontOut.16:01
onefangYou can call either whatever you want.16:02
rrqright; I will want two links: from alsa to jack, then back from jack to alsa .. would be alsa_out + jack + alsa_in I suppose16:04
onefangTime to eat.  BAck later.16:04
onefangalsa_in and alsa_out are for setting up the actual devices.  How you get chromium to output to JACK is handled differently.  Though perhaps I've been leading you astray and pipewire might be easier to set up, even though it's still beta.  Pipewire does JACK and Pulse as well, plus it's own system.16:32
* onefang checks real estate web sites for tonights "will I be homeless next month" search.16:41
rrqit's a bit boring it's so hard to have dynamic audio cabling :(16:44
rrqand I can start a jack process targeting the bluetooth headset unless the headset is connected16:46
onefangMaybe turning on your bluetooth device can trigger a script?16:46
rrqyes all that is easy, but how do I get dynamic cabling without having to restart chromium?16:47
onefangOK looks like only the real estate bot that is checking my real estate agents reference is the only one expecting real estate agents to be working on Easter Friday.  Nothing new today.16:48
onefangIf you can get chromium to output to JACK, then you can use something like jack_plumbing or a2j_control to hook it up from that bluetooth script.16:49
onefangMy super desktop does have bluetooth, but I don't have a bluetooth headset to test with.  And last time I tried chromium my 6.1 kernel bitched about it at shutdown.16:50
rrqalsa_out says "Cannot lock down 107341338 byte memory area (Cannot allocate memory)"16:51
onefangI had that from some security program, it can't find enough RAM out of my 256 GB.  lol16:51
rrqright can I tell it to be less greedy?16:52
onefangIt's not being greedy here, I have no idea why it would be greedy.16:53
onefangOh, is qjackctl running?16:53
rrqnope. just jackd16:54
onefangAh forgot to mention, there's jack1 and 2, you want 2.16:54
onefanghttps://linuxmusicians.com/viewtopic.php?p=154667#p154667  "How hard is life without PulseAudio?" I'm reading at the moment, coz someone added a post since last I checked.  May be useful.16:56
fsmithredfor rrq - asoundrc to get browser to use jack: https://dev1galaxy.org/viewtopic.php?pid=41182#p4118221:16
onefangNetwork dropped out just as I sent that, so I'll send again.21:34
onefangI have something like that commented out in my .asoundrc, I suspect coz of all the sound devices in my system I wanted to have more fine grained control, so I went with the "define every device in .asoundrc, then use alsa_in/out to decide what to do with each one" route.  I may switch and experiment more.21:34

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!