[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
howtos:hardware:sound_problems_on_slackware [2012/12/21 21:34 (UTC)] – created arfonhowtos:hardware:sound_problems_on_slackware [2018/12/07 01:15 (UTC)] (current) – Add caveat to not apply alsa fixes to pulse-based systems bassmadrigal
Line 1: Line 1:
 <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). -->
 +<!-- Reviewed 2012-12-24 hazel -->
 +<!-- Reviewed 2018-02-15 alienbob -->
 +
 +<note important>This only applies to systems running "pure alsa" and not systems that are running pulseaudio. Using the default installs, 14.2 and newer will have pulseaudio and many of the issues below can be fixed by running ''pavucontrol'' and changing the default output device.</note>
 +
 +**NOTE: on my systems, my default card is 1 and default device is 0 so I will use 1,0 through out this page**
 +
 +
 ======Sound Problems on Slackware====== ======Sound Problems on Slackware======
  
 **Investigate the problem** **Investigate the problem**
  
-1) See which kernel modules are loaded:+  - See which kernel modules are loaded: <code> 
 + lsmod | grep snd 
 +</code> Use this information along with your motherboard sound chipset to verify that the correct sound drivers are loading. 
 +  - See which sound devices are detected by alsa:<code> 
 +aplay -l 
 +</code> Most likely, alsa is loading the correct modules but setting the wrong sound device as default. 
 +  - Test sound devices to see which one(s) work:<code> 
 +alsamixer 0 
 +<F6> 
 +<select a card(s)> 
 +<adjust volumes and make sure they aren't muted> 
 +<ESC> 
 +      
 +aplay -D plughw:0,0 test.wav   (WHERE 0,0 is card/slot 0, device 0 and test.wav is a sound file e.g. /usr/share/sounds/alsa/Noise.wav) 
 +aplay -D plughw:0,1 test.wav 
 +aplay -D plughw:1,0 test.wav 
 +aplay -D plughw:1,1 test.wav 
 +</code>
  
-     lsmod | grep snd+----
  
-Use this information along with your motherboard sound chipset to verify that the correct sound drivers are loading. 
  
 +**PROBLEM:** alsa is setting the wrong device as the default sound; you can force the correct default as follows:
  
-2) See which sound devices are detected by alsa:+**FIX:** Create /etc/asound.conf and add an entry for the working card/slot and device:
  
-     aplay -l+    defaults.pcm.card 1 
 +    defaults.pcm.device 0 
 +    defaults.ctl.card 1
  
-Most likely, alsa is loading the correct modules. Typically, alsa sets the wrong sound device as default.+-or-
  
-3) Test sound devices to see which one(s) work:+    pcm.!default { 
 +      type hw 
 +      card 1 
 +      device 0 
 +      } 
 +    ctl.!default { 
 +      type hw 
 +      card 1 
 +      }
  
-     alsamixer 
-     <F6> 
-     <select a card(s)> 
-     <adjust volumes and make sure they aren't muted> 
-     <ESC> 
-      
-     atest -D hw0,0 test.wav   (WHERE 0,0 is card/slot 0, device 0 and test.wav is a sound file.) 
-     atest -D hw0,1 test.wav 
-     atest -D hw1,0 test.wav 
-     atest -D hw1,1 test.wav 
  
  
-----+OR, if you just want the changes for a single user create ~/.asoundrc in the user's home directory and put the above in it...
  
 +-----
  
-**PROBLEM:** alsa is setting the wrong device as the default sound, you can force the correct default by the following:+**PROBLEM:** Volume is low even with all controls at max.
  
-**FIX:** Create /etc/asound.conf and add an entry for the working card/slot and device:+**FIX:** Enable the alsa pre-amp.
  
-     pcm.!default { +1) Edit/Create /etc/asound.conf and add 
-          type hw+    pcm.!default { 
 +       type plug 
 +       slave.pcm "softvol" 
 +       } 
 +        
 +    pcm.softvol { 
 +       type softvol 
 +       slave { 
 +          pcm "dmix:1,0" 
 +          } 
 +       control { 
 +          name "Pre-Amp"
           card 1           card 1
-          device 0 +          } 
-     +       min_dB -5.0 
-     ctl.!default { +       max_dB 20.0 
-          type hw +       resolution 6 
-          card 1 +       } 
-          device 0 +**WHERE: "dmix:1,0" is  card 1 and device 0**
-     }+
  
-OR, if you just want the changes for a single user create ~/.asoundrc in the user's home directory and put the above in it...+2) Reboot
  
 +3) After you reboot a PREAMP control is supposed to appear in your mixer controls but, it doesn't due to a quirk. To get it to appear, open and close a media player (mplayer, dragon player or etc.).  After you do this, it should appear in the mixer (you may have to SELECT CONTROLS to see it).  When you reboot, it will disappear again until you open a media player.  To make it 'stick', set your alsa volumes to where you want and run "alsactl store" The PREAMP controls should appear normally after that.
  
 +-----
  
 +**PROBLEM:** No equalizer.
  
 +**FIX:** Enable the equalizer \\ <note>the ''alsaequal'' plugin is not part of Slackware. You can build it from source using [[https://slackbuilds.org/result/?search=alsaequal&sv=|slackbuilds.org]]</note>
  
 +Output can either be from the audio device or the mixer. For the device use the following:
 +
 +1) Edit/Create /etc/asound.conf and add
 +   ctl.equal {
 +      type equal;
 +      }
 +      pcm.plugequal {
 +        type equal;
 +        slave.pcm "plughw:1,0";
 +        }
 +      pcm.!default {
 +        type plug;
 +        slave.pcm plugequal;
 +        }
 + 
 +**WHERE: "plughw:1,0" is card 1 and device 0 - modify this for a different card or device (default is 0,0 and does not have to be entered) **
 +
 +Should you wish to play from more than one application simultaneously via the mixer (dmix), use the below:
 +
 +   ctl.equal {
 +      type equal;
 +      }
 +      pcm.plugequal {
 +        type equal;
 +        slave.pcm "plug:dmix";
 +        }
 +      pcm.!default {
 +        type plug;
 +        slave.pcm plugequal;
 +        }
 +
 +
 +To access the equalizer, run "alsamixer -D equal"
 ====== Sources ====== ====== Sources ======
 +AlienBOB's webpages and ALOT of Googling.
 +
 <!-- If you are copying information from another source, then specify that source --> <!-- If you are copying information from another source, then specify that source -->
 <!-- * Original source: [[http://some.website.org/some/page.html]] --> <!-- * Original source: [[http://some.website.org/some/page.html]] -->
 howtos:hardware:sound_problems_on_slackware ()