ALSA Mixer - Unable to toggle capture, missing "Mix"
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
ALSA Mixer - Unable to toggle capture, missing "Mix"
I boot Slackware 14.1 from an external hard drive. The laptop that I normally use is having some problems with the screen, so I've temporarily switched to using a different laptop. When I went to alsamixer on my previous laptop, I used to have a "Capture" and "Mix" option listed. Now with a "newer" laptop, the "Mix" option is no longer listed. By pressing the space bar, I could previously toggle capture under both "Capture" and "Mix." Naturally, I can't do that for "Mix" now since it isn't there, however toggling capture now doesn't work for "Capture" (or anything else there). Why can't I toggle capture? How do I get "Mix" back?
The two different laptops likely have different sound hardware.
The configuration file from the original laptop is /var/lib/alsa/asound.state. Try renaming that file to something else so you can use it again, then running 'alsactl store'. It is possible to use different configuration files, see 'man alsactl' and the '-f' option.
Thank you for the suggestion. I tried doing that, however I'm still not having any success. I'm not sure if this will help, but I've included screenshots of the Capture menu from my original computer and the newer one. For the newer one, it doesn't even have a space for those red "CAPTURE" letters to appear.
I know, alsomixer 1.0.23 shows up as the screenshot for my previous computer. That's just because it is an old screenshot that I took to remember the settings prior to upgrading to a newer version of Slackware. Version 1.0.27.1 appears the same way as 1.0.23 does on that computer.
That's a good Idea Allend Said.
Alsa can only use what is initialized.
make sure if using intel hda. to do as the slackware describes "here"
Then I actually remove the /var/lib/alsa/asound.state
and the /var/lib/alsa/asound.state.lock
and reboot.
then I open a terminal and run aplay -l to find out my output devices and the way they are set up in priority.
Then I run arecord -l to see what the input devices are and their priority.
then I go to alsa mixer and start working on it.
hope that helps.
.if you are using a custom kernel build then you may have some firmware issues. such as my card in slackware 14.0 I was unable to set many functions. But I have the hda intel in 14.1 and am unable to reproduce this.
you can always reinstall alsa from slackpkg in case there is a broken link. same with firmware updates that was part of kernel rebuild that happend in slackware a while back it is in patches.
I will note that setting my usb mic to auto level in 14.1 the option was not there but was there in kmix and xfce4-mix
The laptop has a Conexant CX20561 (Hermosa) chip, and my quick googling shows that this has been problematic. What is the make and model of the laptop?
You may also find this useful. http://docs.slackware.com/howtos:har..._snd-hda-intel
I still have not gotten it to work. The laptop that I'm having issues with is a Lenovo T400. It has Mint on the actual laptop hard drive. Mint has the same problem.
I was trying to get simplescreenrecorder working. If I toggle capture for Capture and Mix, audio records fine with my other laptop. If I don't have it toggled, then I have no audio. The problem with this laptop is I don't have an option to toggle capture (both in Slackware and Mint). Now with Mint, if I choose Pulse instead of ALSA, then audio records. I tried installing pulseaudio in Slackware (trying to avoid the ALSA problem), however simplescreenrecorder didn't even recognize its existence. ALSA is the only option available for audio input (i.e. Pulse doesn't show up as an alternative option). I start pulse audio by using "pulseaudio --start", so I think it is running. It doesn't show anything after I type "pusleaudio --start", however it doesn't give me any error either.
I tried creating the /etc/modprobe.d/snd-hda-intel.conf. I tried using "options snd-hda-intel model=auto" in it. I also tried substituting "auto" with "thinkpad" This had no effect. I tried removing my /var/lib/alsa/asound.state file (backing it up first) and also got rid of /var/lib/alsa/asound.state.lock at the same time. Even after rebooting, nothing has changed.
aplay -l shows the following:
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CX20561 Analog [CX20561 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: CX20561 Digital [CX20561 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
arecord -l shows the following:
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CX20561 Analog [CX20561 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
According to thinkwiki, the CX20561 is supported by recent kernel versions on your hardware. http://www.thinkwiki.org/wiki/CX20561
Perhaps you would do better by trying Slackware-current with a more recent kernel.
I "understand" the difference between this sound card and the previous one now (and based on what I've been reading elsewhere). This one apparently does not support a "Mix" feature, while my other one does. That's my major problem.
I always keep headphones plugged into my laptop, however while experimenting, I turned the volume of everything up and since I did this, I put my headphones down (too loud to keep them on). When I tried taking a screen capture while audio was playing, the resulting video included very faint audio in the background. That faint audio was coming from the headphones that I had placed near the laptop. The audio was being recorded from the internal microphone and it detected some of what was coming from the headphones. I didn't even realize the laptop had an internal microphone (I thought a microphone had to be plugged into the microphone inlet). This makes sense because I press F4 (Capture) in alsamixer, all that is listed is "Mic Boost" "Capture" "Digital" "Dock Mic Boost" and "Internal Mic Boost". Unlike alsamixer for my preferred laptop, this one doesn't let me press a space bar to toggle Capture. I think this is because it doesn't have the ability to capture anything else other than the microphone, while my other laptop could capture the "CD" and "Mix".
In the first screenshot, I have Capture captured at 67 volume. Despite what I show there, I actually kept it at 0%. If I turned it up, then I would get a lot of static noise when recording audio (probably since it was trying to record from a microphone - something I haven't realized until now). I still had to set "capture" (those red words) under Capture, otherwise Mix could not be successfully captured. So I had to press the space bar under both Capture and Mix to put "capture" underneath them to successfully capture audio output (excluding that from the microphone).
Mint uses a later version of the kernel (I don't recall which one), however I'm sure it is a later version than what Slackware is using. I think the problem is more of an issue with the capabilities of the sound card. alsamixer's options that are "missing" are apparently not really missing. It only lists what the sound card supports and unfortunately, it doesn't support what I want it to do.
This brings me to my next problem. The only work-around for sound cards with this problem and for those people who want to continue using ALSA is to setup loopback. Unfortunately, I'm not sure how to do that. All I know is I need to type "modprobe snd-aloop" and then correctly setup ~.asoundrc and that should get it to work properly.
Before loading the snd-aloop module, simplescreenrecorder shows the following sources:
1. [default] Default source
2. [sysdefault:0] HDA Intel (shared)
3. [hw:0,0] HDA Intel: CX20561 Analog
After loading the snd-aloop module, the following get added to the list:
4. [sysdefault:1] Loopback (shared)
5. [hw:1,0] Loopback: Loopback PCM
6. [hw:1,1] Loopback: Loopback PCM
I don't know if that is anything helpful or not. I've tried playing around with alsamixer some more and picking different sources, however I haven't had any success. I'm sure I should be doing something with creating a ~.asoundrc file, but I'm not sure what to do for that. I've seen a number of examples online, but they really seem to be specific for the system and what's being done isn't being explained with those examples. Any thoughts for what to do now?
So in summary, I've learned that I cannot do what I was trying to do with strictly ALSA due to having a different sound card on this laptop (with different capabilities) than that on my other laptop. I thought I was having an issue with ALSA with trying to capture audio, however I later realized that I was incorrect. Certain sound cards have mixer capabilities, and unfortunately, others do not (such as the newer laptop that I was using). Slacktroll is right...the only option that I have (if I want to strictly use ALSA) is to use an external sound card that has support for a mixer option. Alternatives exist, although I have not had a chance to experiment with them. I've experimented a bit with loopback, however I haven't gotten anywhere. I can't seem to get pulseaudio to work in Slackware. I start the daemon, however nothing recognizes it exists (so maybe it didn't start it after all). Just getting an external sound card with a mixer function seems like reasonable advice. Thanks for everyone's input and for taking the time to respond to all my questions.
Peter, I'll just re-explain what I was originally writing. It is a bit confusing to explain since "capture" appears in three different areas of alsamixer. There's the "Capture" section (pressing F4 to get to it), the "Capture" item (with a volume bar over it), and the CAPTURE toggle (which can be done to the "Capture" item or other items listed in the "Capture section by pressing the space bar). If you look at my two earlier screenshots, it will show you what alsamixer brings up after I go to the "capture" section (again, you get to it by pressing F4 after starting alsamixer) for two different laptops. The sound card on my older laptop (first picture shown) has a "Mix" feature, while it is missing on a "newer" laptop (second picture shown). I thought I was doing something wrong with ALSA that was preventing me from accessing it. In order to capture audio in general, I had to select "CAPTURE" (or "toggle capture" as it is described in alsamixer help) for the "Capture" item. This would cause the red letters "CAPTURE" (all in capital letters) to appear below "Capture." You can see that in the screen shot. The volume for this has to be at zero, otherwise it will record a static noise (I think). Until writing all these posts, I never realized what that static sound was. That static was it trying to record from my microphone, but I didn't have one plugged in, so all I got was static (that laptop cannot record from a microphone unless one is plugged in). Maybe I'm wrong, maybe the microphone volume had to be turned up and the microphone had to be set to CAPTURE (red letters under it) as well. I'd have to experiment to find out, but currently I can't use that laptop at the moment since the screen is no longer functioning. In any case, I just kept "Capture" with zero volume since it seemed to work that way. Other than toggling Capture, I also had to toggle "Mix". You'll notice that I have CAPTURE in all red letters under Mix.
Well for my "newer" laptop, what I was stating in my first post was that I could no longer use the space bar to toggle capture for anything. I found that to be confusing. I think the reason for this is that I can capture nothing else except for the microphone. If you look at the screenshot, all that is listed are "Mic Boost", "Doc Mic Boost", and "Internal Mic Boost". So all I can capture is the microphone. To do this, I just need to raise the volume over the "Capture" item. I don't need to press the space bar to "toggle capture" and make those red "CAPTURE" letters appear under Capture. It was the fact that alsamixer wasn't allowing me to do this (and the missing Mix) that I found confusing. In the end, it wasn't alsamixer's fault, it was the hardware.
you may want to set up your keyboard in your DE.
let me guess you want to capture all your outgoing sound that goes through head phones. then you want to be able to record that with voice in SSR.
Like djadam01time does here in youtube land https://www.youtube.com/watch?v=kFQqNb3v5MA .
monitor and capture are two different things. http://www.maartenbaert.be/simplescreenrecorder/ If I am wrong and did not read you correctly sorry. I have the same built in sound device.
I been using this same chip since slackware 14.0 and able to do anything I want with it.
I do find using and maintaining pulse audio and jack2 with Qjackctl the best way to go.
My system always runs qjackctl realtime and same with pulseaudio and Mixxx I think there is a configuration problem on your end. finding it can be an issue.
The ability to control each sound card device and volume levels per program is nice.
I was trying to get everything working with ALSA alone, which I don't this is possible with that sound card since it doesn't having mixing capabilities in the hardware. I tried experimenting with jack, however my audio (from anything that produces sound within the web browser) seems to disappear when starting the jack daemon. Actually, it would be scratchy for a second or two before permanently disappearing.
I've gotten my old laptop's screen replaced and now am back to using it again, so everything is working fine on it (never did have a problem). Would have been interesting to get it working on the other laptop just to see if I could get it to work, however I haven't had any success. I even tried getting an external USB sound card, however that didn't work. It apparently doesn't have a mixer function (or at least it isn't showing up). I thought that I read somewhere that it did. "Mixer" doesn't come up when running alsamixer for it. Actually, "Capture" doesn't come up as well. I could not press the space bar to try toggling capture either. If I press, F4 to go to "Capture", all that shows up "Mic".
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.