linux 声卡权限,archlinux的声卡问题如何解决

a4c26d1e5885305701be709a3d33442f.png

archlinux的声卡问题如何解决

(2006-07-30 17:33:59)

Alsa Setup

本文阐述了怎样在2.4和2.6内核下使Alsa正常工作。

本文参考了Arjan Timmerman的Alsa Setup howto(http://www.soulfly.nl/arjan/archlinux/alsa-setup.html)。更详细信息见http://bbs.archlinux.org/viewtopic.php?t=2544.

1、安装软件包

a. 2.4及2.6内核都需要:

#pacman -Sy alsa-lib alsa-utils

b. 2.4内核需要:

#pacman -S alsa-driver

#depmod -a

c. 建议安装但非必需:

#pacman -S alsa-oss

注意,“alsa-driver”包中含有基于Arch stock

kernel必需的模块!如果自己编译2.4内核,“alsa-driver”大多不会正常工作。你应该使用ABS建立你自己的“alsa-driver”包,并安装此包。

2.配置Alsa

a.

确定声卡的模块,参见http://www.alsa-project.org/alsa-doc/。模块是以"snd-"为前缀(例如:snd-via82XX)。也可以以root身份执行"alsaconf"。

b. 装入模块

#modprobe snd-NAME-OF-MODULE

#modprobe snd-pcm-oss

c. 打开音量

#amixer set Master 100 unmute

#amixer set PCM 100 unmute

或者你可以用图形界面的"alsamixer"。

注意,使用"alsamixer",一定要在调整音量的同时打开它(按M键)。

d. 找个波形文件试一试

#aplay mywav.wav

e. 在/etc/rc.conf的MODULES中加入snd-pcm-oss和'snd-NAME-OF-MODULE'

2. DevFS下设置权限

如果你使用uDev,请跳过本节,阅“uDev下设置权限”。如果你不知道用的是DevFS还是uDev,那么你用的应该是DevFS。

a. 建立sound用户组

#groupadd sound

b. 加入该组

#gpasswd -a USERNAME sound

c. 在'/etc/devfsd.conf'中加入以下两行

REGISTER sound/.* PERMISSIONS root.sound 660

REGISTER snd/.* PERMISSIONS root.sound 660

d. 重启devfs

killall -HUP devfsd

e. logout然后再login以确保sound用户组已载入。

3. uDev下设置权限

a. 建立sound用户组

#groupadd sound

b. 加入该组

#gpasswd -a USERNAME sound

c. 编辑'/etc/udev/permissions.d/udev.permissions'

#audio devices

dsp*:root:root:0660

audio*:root:root:0660

midi*:root:root:0660

mixer*:root:root:0660

sequencer*:root:root:0660

sound/*:root:root:0660

snd/*:root:root:0660

beep:root:root:0660

admm*:root:root:0660

adsp*:root:root:0660

aload*:root:root:0660

amidi*:root:root:0660

dmfm*:root:root:0660

dmmidi*:root:root:0660

sndstat:root:root:0660

改成

# audio devices

dsp*:root:sound:0660

audio*:root:sound:0660

midi*:root:sound:0660

mixer*:root:sound:0660

sequencer*:root:sound:0660

sound/*:root:sound:0660

snd/*:root:sound:0660

beep:root:sound:0660

admm*:root:sound:0660

adsp*:root:sound:0660

aload*:root:sound:0660

amidi*:root:sound:0660

dmfm*:root:sound:0660

dmmidi*:root:sound:0660

sndstat:root:sound:0660

(译注:全改成sound用户组)

d. 重启uDev

/etc/start_udev

mount /dev/pts

mount /dev/shm

e. logout然后再login以确保sound用户组已载入。

4. 启动

a. 执行'alsactl'一次,生成'/etc/asound.state'

alsactl store

b. 将以下内容保存为'/etc/rc.d/alsamixer'

#!/bin/bash

. /etc/rc.conf

. /etc/rc.d/functions

case "$1" in

start)

stat_busy "Restoring Alsa mixer volumes"

alsactl restore

if [ $? -gt 0 ]; then

stat_fail

else

add_daemon alsamixer

stat_done

fi

;;

stop)

stat_busy "Storing Alsa mixer volumes"

alsactl store

if [ $? -gt 0 ]; then

stat_fail

else

rm_daemon alsamixer

stat_done

fi

;;

restart)

$0 stop

sleep 1

$0 start

;;

*)

echo "Usage $0

{start|stop|restart}"

;;

esac

c. 将其设置为可执行

chmod 755 /etc/rc.d/alsamixer

d. 编辑'/etc/rc.conf',将'alsamixer'加入守护进程列表,使其在启动时运行。

5. KDE设置

a. 启动KDE

#startx

b. 设置音量,想设多高随你定了(每个用户都有自己的设置)

#alsamixer

c. KDE3.2,K Menu > Settings > Control

Center > Sound & Multimedia

> Mixer

确定选中了"Load volumes on login",并保存。

d. KDE 3.3,K Menu > Multimedia >

KMix

选择Settings > Configure KMix...

取消"Restore volumes on logon"

点OK,所有都设好了。现在你的音量无论是在KDE或在命令行下都一样。

只是上面的不需建立sound组,因为0.7已建了一个audio组,加入就行

其他照旧!

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值