LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 07-15-2018, 12:19 PM   #1
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Rep: Reputation: 187Reputation: 187
Has anybody ever made a fake pulseaudio library


that actually works by just forwarding or streaming the audio to something else like alsa or portaudio? that way it satisfies a dependency for building and running applications that require or use pulseaudio but dont have or dont want pulseaudio on their system, if it has not been done it would be a good project for someone smart enough to do it (i dont qualify for that task)

seems like i read about this sort of scheme a while back being done before with a libgnome or a gnomelib library, a fake library was made to satisfy builds that did not have that library on their system
 
Old 07-15-2018, 12:35 PM   #2
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Original Poster
Rep: Reputation: 187Reputation: 187
i just google searched the title of my thread and found this, i downloaded and built it, i dont know how good it is and i will play the guinea pig and test it

https://github.com/i-rinat/apulse
 
Old 07-15-2018, 01:07 PM   #3
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Original Poster
Rep: Reputation: 187Reputation: 187
it did not work for me, but it did build and respected DESTDIR=/path/to/build/package so i went a step further and tried it, i was wanting to get audio back in to my browser, but no audio, it seems harmess enough but did not work, i even tried it with the snd-hda-codec-hdmi-OFF.ko and it did not work with that either, maybe somebody else will have better luck than me
 
1 members found this post helpful.
Old 07-16-2018, 12:33 PM   #4
nivieru
Member
 
Registered: Feb 2008
Posts: 78

Rep: Reputation: 14
Before slackware had pulsaudio I was using apulse for a while, I think it was to get skype to work.
Anyway, slackware current now has an option to go pulseaudioless, see here and also this thread
 
1 members found this post helpful.
Old 07-16-2018, 02:52 PM   #5
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,811

Rep: Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447
I'm currently using a "fake" to effectively redirect pulseaudio calls to ALSA on 14.2 Multilib and herald the direction in Current and apparently the next release, largely possible iirc since Bluetooth (the original reason for pulseaudio as default) no longer requires pulse. I really did try to embrace pulseaudio but it bit me in the ass more times than I can count and I despise it now, and bid it "good riddance to bad rubbish" at least for my system and how I use it. I can only hope some good will come from the pulseaudio debacle in the form of increased attention to ALSA to improve it's code so that it can do the very few good things of which pulse is capable. I see no need for a whole additional layer lying on top increasing latency and complexity.

Last edited by enorbet; 07-16-2018 at 02:54 PM.
 
Old 07-21-2018, 07:34 AM   #6
FlinchX
Member
 
Registered: Nov 2017
Distribution: Slackware Linux
Posts: 666

Rep: Reputation: Disabled
Quote:
Originally Posted by nivieru View Post
slackware current now has an option to go pulseaudioless, see http://slackware.uk/slackware/slackw...-system/README
I saw the news some time ago in this forum but it's the first time when I actually look at how it's implemented (I don't run -current so I postponed that for when 15.0 is out) and I got a question.

Code:
removepkg pulseaudio pamixer pavucontrol xfce4-pulseaudio-plugin
after this, shouldn't these packages be blacklisted so they don't sneak back into the system during next slackpkg updating process?
 
Old 07-21-2018, 07:42 AM   #7
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,077

Rep: Reputation: Disabled
Quote:
Originally Posted by FlinchX View Post
... I got a question.

Code:
removepkg pulseaudio pamixer pavucontrol xfce4-pulseaudio-plugin
after this, shouldn't these packages be blacklisted so they don't sneak back into the system during next slackpkg updating process?
No, as slackpkg-upgrade-all only proposes upgrades for installed packages.
 
2 members found this post helpful.
Old 07-21-2018, 09:16 PM   #8
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Original Poster
Rep: Reputation: 187Reputation: 187
i went with the pure-alsa-system in current, and so far i like it and i am sticking with it, and i like to use gqrx which is a good sdr radio application but if you mess up on setting any config that your sdr radio does not like it will crash, and it will build and run with portaudio as an alternative to pulseadio, now when it crashes it just crashes and is ready to restart immediately and when it crashes it is usually my fault for fiddling with settings trying to squeeze the most out of an sdr radio, the only thing missing is my browser wont give me sound on video sites like youtube which i dont really miss anyway, if anyone else uses gqrx and want to switch gqrx to using portaudio use this setting in cmake

Code:
-DLINUX_AUDIO_BACKEND=Portaudio
 
Old 07-21-2018, 10:06 PM   #9
orbea
Senior Member
 
Registered: Feb 2015
Distribution: Slackware64-current
Posts: 1,950

Rep: Reputation: Disabled
Quote:
Originally Posted by Okie View Post
the only thing missing is my browser wont give me sound on video sites like youtube which i dont really miss anyway
To work around this you could use youtube-dl which downloads videos from youtube.com and many other sites. Programs like mpv have youtube-dl integration to make it more convenient to stream content and mps-youtube is cli browser for youtube.com.
 
Old 07-22-2018, 01:55 AM   #10
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by Okie View Post
i went with the pure-alsa-system in current, and so far i like it and i am sticking with it, and i like to use gqrx which is a good sdr radio application but if you mess up on setting any config that your sdr radio does not like it will crash, and it will build and run with portaudio as an alternative to pulseadio, now when it crashes it just crashes and is ready to restart immediately and when it crashes it is usually my fault for fiddling with settings trying to squeeze the most out of an sdr radio, the only thing missing is my browser wont give me sound on video sites like youtube which i dont really miss anyway, if anyone else uses gqrx and want to switch gqrx to using portaudio use this setting in cmake

Code:
-DLINUX_AUDIO_BACKEND=Portaudio
Portaudio is not an alternatie to pulse but a audio API that abstracts the underlying audio system away.

this blog post from 2012 says that gqrx works much better with pulse audio
http://oz9aec.net/radios/gnu-radio/gqrx-and-pulseaudio
and here I can read that pulse is not problem if you want to use jack
http://kacper.blog.redpill-linpro.com/archives/508
in a suse forum it says even that it's easyer to use with pulse audio
https://forums.opensuse.org/showthre...out-pulseaudio

so why all this hassle, creating a system that is not fully functional, staying on a config solution with basically no future (or is there active development on a pulse free system (beside Slackware of course who would better invest the resources in other improvements)). Just to have a hobby of a pulse free system for the reason of just because
(and the proce of binding PV's resources to this useless and no future solution) ?
 
2 members found this post helpful.
Old 07-22-2018, 04:49 AM   #11
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Original Poster
Rep: Reputation: 187Reputation: 187
RE:"Portaudio is not an alternatie to pulse but a audio API that abstracts the underlying audio system away."

correct, portaudio is not an alternative to pulseaudio, but it does allow my favorite application to function, and when it crashes pulseaudio is not hanging up eating cpu cycles until i manage to kill it,

<hr>
RE:"so why all this hassle, creating a system that is not fully functional, staying on a config solution with basically no future (or is there active development on a pulse free system (beside Slackware of course who would better invest the resources in other improvements)). Just to have a hobby of a pulse free system for the reason of just because
(and the proce of binding PV's resources to this useless and no future solution)"

dont make me install FreeBSD!!!
 
Old 07-22-2018, 11:48 AM   #12
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by Okie View Post
correct, portaudio is not an alternative to pulseaudio, but it does allow my favorite application to function, and when it crashes pulseaudio is not hanging up eating cpu cycles until i manage to kill it,
crash + allow to function .... sounds a bit controversial to me


Quote:
Originally Posted by Okie View Post
dont make me install FreeBSD!!!
if you want even less multimedia functionality,but I do not make you anything,
I just asked, if there are so many people that make your favorite app working without any problems with pulse audio, why fighting it. and I gave some links because I thought they might help.
And it seems I got an answer, sound to me its not about making your favorite app work in the best way but rather following some dogma, which is OK for me, don't get me wrong.
 
Old 07-22-2018, 12:58 PM   #13
Okie
Senior Member
 
Registered: Mar 2002
Location: Oklahoma
Posts: 1,154

Original Poster
Rep: Reputation: 187Reputation: 187
i was not the one that made that pure-alsa-system in /extras, and i did not even suggest that project get started, i found it while looking in /extras on a slackware mirror, it seems reasonable to me since others are having problems with pulseaudio that the pure-alsa-system be a workaround in order to get rid of pulseaudio.

i sure liked linux better before lennort pottering got hired on at redhat, between systemd and pulseadio i am almost ready to abandon linux completely, and since i see slackware as an old friend of a linux distro i dont want to give it up, but i will if i must
 
Old 07-23-2018, 09:53 PM   #14
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,811

Rep: Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447Reputation: 4447
Regarding browser sound on ALSA-only systems, not only does the ESR version work perfectly with ALSA but there are rebuilds of Nightlys at the Firefox-fuckPA github page. I'm currently using v58.0 with pulseaudio disallowed. Palemoon also works as does SeaMonkey.
 
Old 11-09-2019, 06:52 AM   #15
ldarby
LQ Newbie
 
Registered: Nov 2019
Location: UK
Distribution: TBD
Posts: 25

Rep: Reputation: Disabled
If you don't actually need to play sound, and just want to get something to compile (and the pure-alsa packages aren't sufficient), and it's failing with errors such as these:

Code:
/usr/lib64/gcc/x86_64-slackware-linux/9.1.0/../../../../x86_64-slackware-linux/bin/ld: /usr/lib64/libphonon4qt5.so.4: undefined reference to `pa_operation_unref@PULSE_0'
/usr/lib64/gcc/x86_64-slackware-linux/9.1.0/../../../../x86_64-slackware-linux/bin/ld: /usr/lib64/libphonon4qt5.so.4: undefined reference to `pa_glib_mainloop_free@PULSE_0'
/usr/lib64/gcc/x86_64-slackware-linux/9.1.0/../../../../x86_64-slackware-linux/bin/ld: /usr/lib64/libphonon4qt5.so.4: undefined reference to `pa_ext_device_manager_subscribe@PULSE_0'
...
Then here is how to create a replacement shared library that does nothing at all:

1. Create file libpulse.c with contents:
Code:
void pa_operation_unref(void) {}
void pa_glib_mainloop_free(void) {}
void pa_ext_device_manager_subscribe(void) {}
...
etc. for every function that gcc gave an error for.

2. Create file a.map, with contents:
Code:
PULSE_0 {
pa_operation_unref; pa_glib_mainloop_free; pa_ext_device_manager_subscribe;  etc...
}
"PULSE_0" is the symbol version, and is shown after the @'s in the error message. If the errors have different versions for different symbols you'll need to specify them in the map file appropriately.

3.
Code:
gcc -fPIC -o libpulse.so.0 -shared libpulse.c -Wl,--version-script=a.map
4. Put libpulse.so.0 somewhere visible to the system, e.g. /usr/local/lib, or add the path to its dir to /etc/ld.so.conf

Then hopefully you can compile the app. Note that if the app tries calls a pulse function, it could do anything at all, including crash, or worse, it depends what the app's code is, e.g. it could be something bad like this:

Code:
while (!pa_is_initialised ()) {
   pa_init();
}
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
trying to test a c shared library made in MATLAB NeuralNet-intern Linux - Software 1 07-14-2011 01:29 PM
How to see of which objects files is particular shared library made of? halturata Programming 4 04-12-2006 01:35 AM
undefined reference to a function included in a library i made!!! keos Programming 5 02-21-2004 04:02 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:56 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration