#Alsa looks for things in /var/tmp/portage

1 messages · Page 1 of 1 (latest)

subtle root
#

Hello! I am researching why Second Life's new WebRTC voice doesn't work, and I see in its logs a lot of ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/conf.c:5205:(_snd_config_evaluate) function snd_func_card_inum returned error: No such device ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/confmisc.c:422:(snd_func_concat) error evaluating strings ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/conf.c:5205:(_snd_config_evaluate) function snd_func_concat returned error: No such device ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/confmisc.c:1342:(snd_func_refer) error evaluating name ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/conf.c:5205:(_snd_config_evaluate) function snd_func_refer returned error: No such device ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.14/work/alsa-lib-1.2.14/src/conf.c:5728:(snd_config_expand) Evaluate error: No such device

Why is Alsa looking for things in portage's build directory? Have I done something wrong?

finite crest
#

I don't think it's looking for anything in /var/tmp/portage - it's just that's where it was built with Portage when you emerge'd it, think of it as "debugging info"

subtle root
finite crest
#

I'm not sure what the error really means, but for your original question there is nothing weird or wrong about it mentioning /var/tmp/portage

subtle root
#

All right, thanks

kind maple
#

It looks like config evaluating errors

subtle root
kind maple
#

The WebRTC ?

#

Is it the vanilla SL client?

#

Have you tested Firestorm Viewer

subtle root
#

Oh, you know about SL! No, it's Cool VL Viewer. I haven't tried with Firestorm yet. I suspect it's my Alsa configuration, though, because Vivox works properly. Discord voice (also WebRTC, but not over Alsa, I think), also works fine.

kind maple
#

A friend introduced me 3 days ago, now I've been nerdsniped into learning LSL lol, but still looking around.
Firestorm has been excellent for me, if we ignore how laggy everything is

#

Nothing should be touching alsa directly

#

Or most of your system sound breaks

#

Alsa should be only talked to by the sound daemon

#

And any app that wants to play sounds ought to talk to the sound daemon

#

Play or listen to sounds*

#

Or in fact do anything with sounds

subtle root
#

Agreed, but…

kind maple
#

Like, if you manage to get the SL client you are using to talk to ALSA, all other system audio will break until you kill the process and restart the sound server

subtle root
#

Try Cool VL Viewer, it's less laggy (and has client-side lua scripting, which is nice to play with), and the developer knows Linux, so everything always works. But that's not out point…

kind maple
#

Oo, I'll check it out

#

Maybe I'll even end up reproducing the issue and debugging it lmao

#

Assuming it's open source

subtle root
#

I suspect Firestorm also talks to Alsa directly, but I must check.

#

Yes, of course.

#

Linden Lab (LL) made the viewer code (but not the server code) open source many years ago, therefore there are now many Third Party Viewers (TPVs), of which Firestorm is the most popular.

kind maple
#

Nope, it doesn't talk to ALSA directly, I'd know if it was doing that because I leave the client up in the background and I'd notice if my sound died haha

#

There is no software-versioning-system-based repository for this viewer (well there is, but just a "manual" one), because I, Henri Beauchamp (SL and OpenSim grids avatar name), is the one and only maintainer for it and I find git, mercurial, svn, cvs & Co way too cumbersome and heavy to use when developing alone; I'm a Nedit, xterm+bash, diff, patch, grep, find, and sed guy, and can develop blazingly fast with just these few (totally antediluvian, but nonetheless lovely) tools, when git & Co would just slow me down and make me pester like the old fart I am. :-P

However, you will find on this site every file needed to rebuild the viewer (and its third parties libraries) from sources (1), as well as the full backward history of the viewer sources (2) for each released build, in the form of incremental diff files. This is in strict conformance with the GPL v2 under which this viewer is licensed.

#

This is another level of insanity

#

I love this

subtle root
#

LL's own viewer hasn't had a Linux version for many years. Last year they said they'll revive it, they released a few betas, but then they dropped it again.

kind maple
#

Ah

subtle root
#

Hehehe, he's an old-fashioned guy.

kind maple
#

Just to verify btw, do you have a sound server running?

subtle root
#

I have Alsa, Pulseaudio and Pipewire over them.

#
 alsasound                                                         [  started  ]
#
defaults.namehint.extended on
defaults.namehint.showall on
defaults.pcm.!card Device,
defaults.pcm.!device 0
defaults.ctl.!card Device
defaults.pcm.dmix.rate 96000
``` taking the values for my headset
kind maple
#

wpctl status
pactl info

#

Most apps will fall back to ALSA if they fail to connect to pw or pa

#

A good test is mpv

subtle root
#
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 1103
Tile Size: 65472
User Name: nikos
Host Name: Archytas
Server Name: PulseAudio (on PipeWire 1.4.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_06_00.6.analog-stereo
Default Source: alsa_input.usb-GeneralPlus_USB_Audio_Device-00.mono-fallback
Cookie: 3546:6bee
nikos@Archytas ~ $ 
kind maple
#

Oo hmm

subtle root
kind maple
#

What happens if you run it with SDL_AUDIODRIVER=pipewire

#

The SL client I mean

subtle root
#

I can try

kind maple
#

Oki

#

Just to make sure I am understanding right btw, the issue is that there's no sound playing in Cool VL Viewer, right?

#

Or only WebRTC sound

#

Or what is broken specifically

#

Sound input, output, both

subtle root
#

Stream and media sounds plays perfectly. WebRTC Voice (which is the new voice system, currently operating only on specific regions) doesn't work, neither output nor input. Vivox, which is the old sound system (for which the linux client is very outdated and everyone uses the windows binary through wine) works fine.

kind maple
#

Also you can set SDL_LOGGING=audio=verbose

#

Actually, that makes me curious

#

They use gstreamer

#

Do you have that set up?

subtle root
#

lemme try. Yes, for streaming music.

#

that is not the same.

kind maple
#

Say, with gst-play-1.0

I would expect them to use gst for WebRTC audio encoding & decoding too

subtle root
#

It can't see the devices currently

#

But even when it does, it doesn't work whatever I choose

kind maple
#

Have you tested gst-play-1.0?

subtle root
#

…where?

#

The viewer's log shows no error. It shows 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::setState: voice_plugin_webrtc #2 - Setting state to STATE_LAUNCHED 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::accept: voice_plugin_webrtc #2: APR SUCCESS 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::setState: voice_plugin_webrtc #2 - Setting state to STATE_CONNECTED 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::receiveMessage: voice_plugin_webrtc #2: plugin host launched. 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::setState: voice_plugin_webrtc #2 - Setting state to STATE_HELLO 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::idle: voice_plugin_webrtc #2: received hello message 2025-09-09 16:55:32Z DEBUG: LLPluginProcessParent::setState: voice_plugin_webrtc #2 - Setting state to STATE_LOADING

#

which I take it to mean it connects

kind maple
#

I am shooting in the wild here btw

#

GST_DEBUG=7

#

For Cool VL Viewer

#

See if it prints anything interesting

subtle root
#

It plays an ogg file perfectly.

kind maple
#

Hmm

#

I'll also ask my friend that works with this stuff, ig

#

And I'll get coolvlviewer

#

And play around with it

#

Ig

subtle root
#
2025-09-09 17:02:01Z DEBUG: LLVoiceWebRTC::setRenderDevice: Setting audio render device to: Default
2025-09-09 17:02:03Z DEBUG: LLVoiceWebRTC::refreshDeviceLists: Clearing current list of audio devices
2025-09-09 17:02:03Z DEBUG: LLVoiceWebRTC::refreshDeviceLists: Requesting audio devices list...
2025-09-09 17:02:11Z DEBUG: LLVoiceWebRTC::setCaptureDevice: Setting audio capture device to: Default
2025-09-09 17:02:11Z DEBUG: LLVoiceWebRTC::setRenderDevice: Setting audio render device to: Default
2025-09-09 17:02:14Z DEBUG: LLVoiceWebRTC::setCaptureDevice: Setting audio capture device to: Default
2025-09-09 17:02:14Z DEBUG: LLVoiceWebRTC::setRenderDevice: Setting audio render device to: Default``` But still it can't select another engine and, anyway, my "dot" doesn't give sound waves. It doesnt' seem to receive any sound
kind maple
#

Nothing with GST_DEBUG=7 ?

subtle root
#

However pavucontrol sees my microphone

#

Not that I can see

kind maple
#

Hmm

subtle root
#

Everything is unmuted in alsamixer, obviously, but that shouldn't matter.

#

Anyway. If you try to connect with CoolVLViewer, open the Map and search for "WebRTC", they have four public regions for testing the new voice. Try there. (Or with Firestorm, for that matter.) If one works, the other should too, because that's all LL code trickled down the various viewers.

kind maple
#

Which test region are you using?

subtle root
#

I'm using "Isle of Rowlyria", my home sim (LL allowed for sim owners to switch to the new system if they want.) It should be the same.

kind maple
#

I'm still new to the game so I am still trying to figure stuff out, and I cannot find any test sim that seems like it's safe to just pop into

#

In Firestorm Viewer atm, waiting for CVLV (imma shorten it like this if that's oki) to compile

subtle root
#

you can use a binary you know 😂

kind maple
#

I didn't locate one and it's probably gonna finish before I find one lol

#

As it's at 98%

subtle root
kind maple
#

Now to find the button in Firestorm Viewer

#

CVLV is asking for a nonexistent library, great start

subtle root
#

aaaaw

#

It firestorm starts, clvl should too

#

but anyway, try in firestorm and we see

#

./cool_vl_viewer --check-libs

kind maple
#

Yea I can't figure out what button to click in the myriad of buttons to make it attempt WebRTC

#

Okay I got CLVL working

subtle root
#

aaah

kind maple
#

Now to find the button there

#

I found it!

subtle root
#

yes, "v1" UI was much easier

kind maple
#

It's detecting mic input

subtle root
#

choose one and actually try talking?

kind maple
#

And it's not using ALSA directly it seems

#

(lsof +D /dev/snd/)

subtle root
#

Currently voice won't even start for me (even theoretically), but might be my .asoundrc

kind maple
#

What's /proc/3206/{comm,cmdline}

subtle root
#

/proc/3206/{comm,cmdline}

kind maple
#

I'll try to not get distracted by testing if the performance is really better

kind maple
#
COMMAND    PID  USER  FD   TYPE DEVICE SIZE/OFF NODE NAME
do-not-di 3206 nikos 110u   CHR 116,27      0t0  816 /dev/snd/controlC5
do-not-di 3206 nikos 123u   CHR 116,27      0t0  816 /dev/snd/controlC5
#

Am curious about this

subtle root
#
do-not-directly
bin/do-not-directly-run-firestorm-binnikos@Archytas ~/bin/CoolVLViewer-1.32.4 $ ```
#

I opened it to find the button lol

kind maple
#

Ahh

#

Lmao

#

Apparently my GPU that can run Cyberpunk 2077 at medium details is struggling with CVLV at Ultra

#

Beautiful 15 FPS

subtle root
#

that's Second Life for you. You'll get used to it…

kind maple
#

Sorry I have a new toy to play with now (comparing the two clients), I'll probably be only half useful now

#

Haha yea

#

Reminds me of FFXIV

subtle root
#

Haha, do your thing 🙂

#

I'm told it's because they still use OpenGL.

kind maple
#

Idt they'd benefit from Vulkan

#

Well, it is more stable yes, but the effort is pretty big and the performance gain at workloads like these negligible

#

That ofc doesn't mean that if I am annoyed enough I won't rewrite their entire renderer in Vulkan but that's my personal API preference

#

Is it
Is it supposed to disappear buildings like this

subtle root
#

Is it beyond draw distance?

kind maple
#

Well, there's buildings behind it that are showing up

#

There's supposed to be a building here

#

But there's only its shadow

#

Also my hello world LSL script broke

subtle root
#

ah well sometimes

kind maple
#

Is this the average SL experience

subtle root
#

hahahaa. Sometimes 🙂

#

Advanced > Rendering > Refresh visibility of objects

kind maple
#

Hmm

#

Also yea scripts seem to be borked

#

Hm wait they do seem to use Vulkan

subtle root
#

Are you in a non-scripts area?

kind maple
#

I shouldn't be, it's a sandbox sim and it was working before

#

Wait, you are rtight

#

No scritps allowed

#

Wtf

subtle root
#

😉

kind maple
#

Why did they disable scripts on a sandbox sobCry

kind maple
#

Oh, btw

#
static LLCachedControl<bool> debug(gSavedSettings, "DebugVoicePlugin");
#

@subtle root might be helpful

subtle root
#

I have it on already 🙂

kind maple
#

Ah

#

Anything useful in there?

#

It seems that they use a proprietary library called libllwebrtc and just wrap it

#

So I am opening it in a disassembler rn

subtle root
#

lol okay.

kind maple
#

They state that it's apache? But I cannot find sources anywhere

#

It has debug info tho

#

PulseAudio is disabled using build flag.

#

Or well, some wrapper/fork around that

#

I did not think I'd stumble upon Google Groups

#

Ah I found the src!

#
+                'rtc_use_pipewire=false',
+                'rtc_include_pulse_audio=false',
+                'rtc_include_internal_audio_device=true',
subtle root
#

I admire you!

kind maple
#

Thanks, haha

#

I have an idea now

subtle root
#

Well, save for forking it, I don't see what we can do

#

Aye, I see that too

kind maple
#

Do you have the pipewire-alsa USE flag

#

Oh?

subtle root
#

I do

kind maple
#

While CVLV is running

subtle root
#

It does. It's the viewer itself that doesn't cooperate

kind maple
#

Hmm

subtle root
#

I haven't tried with Firestorm (I will tomorrow). Do you have actually working voice with it?

kind maple
kind maple
subtle root
#

Hmm.

kind maple
subtle root
#

yes, counter-intuitive as it might be

kind maple
#

(You have diff icons than me but based on the rest of the UI I am guessing yea)

#

Hmm

subtle root
#

It's the libraries he uses to build the viewer, yes.

kind maple
#

I think pipewire is shimming alsa calls

#

And that's why it's working for me

#

And it also ought to work for you

#

I am curious if

#

mpv --ao=alsa works for you

kind maple
subtle root
#

It is

kind maple
#

Hmm

#

More random debug env vars to try :D

#

PIPEWIRE_DEBUG=5

subtle root
#

I'll test tomorrow 🙂 kinda busy now.

kind maple
#

O oki

#

Just ping me, I'll be heading to sleep soon

subtle root
#

Will do 😘 Thanks!

kind maple
#

Np :3

subtle root
kind maple
#

This is why I wanna try to figure out why

#

What is different between our setups

#

I have not messed with my libasound config at all

#

And I am testing this on my current main desktop (Arch), as my Gentoo machine is not yet ready

subtle root