DebianThis forum is for the discussion of Debian 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.
use this to load your first preference at boot up. echo "options snd-***** index=0" >> /etc/modprobe.d/local.conf
the ******* is the name of your card, you can get it by lspci command or arecord -l
and block the one that you don't want to use by
echo "blacklist snd-*******" >> /etc/modprobe.d/local.conf, however if you decided not to use the on-board one, be better to disable it from bios.
.asoundrc is user based solution.
The problem is for the whole box, all users.
Is there a better sound driver for Linux than the ALSA one?
Thank you
OSS is the most well know alternative. Some people think it preferable.
But before going down that line, which will be a bit of work, just try what I said for one user, no effort,
Code:
cat > ~/.asoundrc
pcm.!default front:External
(adjusted apropriately.)
If it does what you want then it can probably be put in the global alsa file, /etc/asound.conf it may be see the above link.
I have no idea if this will work it just sounds a good bet, you've got to be very relaxed and slightly irresponsible about these things. Obviously make sure it is possible to reverse what you've done.
It is easy to overlook things, for example: alsamixer, then F6 to cycle through the sound cards and make sure nothing is muted or is set at low volume, then, as root, alsactl store - alsa control store; this last does not always work. Also there is pulseaudio, which like anything like that can get distinctly weird.
Have you tried installing and running the alsamixer? I use HDA Intel drivers on by box and couldn't get sound working until I unmuted and turned up the volume in alsamixer. You can also change which is the active sound card for alsa from alsamixer. YMMV, but it worked for me and I have 3 different cards with 2 different drivers.
~/.asoundrc is definitely not a multi-user solutions. It works and is perfect for some persons and geeks. My users are not geeks and still have difficulties using Linux (and may prefer windows).
If your reply is to use windows xp, please let's close the thread.
To better answer you, I will throw some reading your way: http://alsa.opensrc.org/MultipleCards
This should be exactly what you are looking for. I hope it helps.
~/.asoundrc is definitely not a multi-user solutions. It works and is perfect for some persons and geeks. My users are not geeks and still have difficulties using Linux (and may prefer windows).
If your reply is to use windows xp, please let's close the thread.
What I was trying to get at was to set the thing up as you wish with the command 'alsamixer'. Then fiddle about to get what you want. Then it is possible to store this fiddling so it will persist through boots: Use the command:
alsactl store
as the root user. This will usually work. It is telling the thing to store the alsa settings you have made.
Ditto the matter of .asoundrc. You are right that it is for a particular user. It does not matter in logic if it is geeky, all that matters is whether it works.
The system wide equivalent of .asounrc * as far as I know * is the file /etc/asound.conf. So just put the sound card you want as default as the first line in that. You may have to create the file. Try putting 'pcm.!default front:External' adjusted appropriately, without the quotes, according to the above post.
It is a bit since I've done this sort of thing. I'm assuming that card 0 is the default. In which case the line of least resistance seems to set the default as the Intel card. Then 'alsactl store' as root will usually save this through boots.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.