• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Alsa: Entw. 6ch./Amarok ODER 4ch./Line In

Falkenstein

Hacker
Hallo,

ich bekomm es nicht hin, Amarok mit Surround laufen zu lassen ohne im Alsamixer auf "6ch." umstellen zu müssen.
Also läuft ENTWEDER Line-In auf 5.1 wenn ich "4ch" hab ODER Amarok auf 5.1 wenn ich "6ch" hab.

Hardware ist ein ALC883 "HDA-Intel" auf einem Asus M2A-VM HDMI-Board.

http://www.linux-club.de/ftopic79224.html scheint schon in die richtige Richtung zu führen.


21:59 pierre:~ # alsactl -v
alsactl version 1.0.14

21:59 pierre:~ # lspci
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia
01:05.2 Audio device: ATI Technologies Inc Radeon X1200 Series Audio Controller

22:02 pierre:~ > speaker-test -c 5

speaker-test 1.0.14

Playback device is default
Stream parameters are 48000Hz, S16_LE, 5 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 16384
Period size range from 1024 to 1024
Using max buffer size 16384
Periods = 4
was set period_size = 1024
was set buffer_size = 16384
0 - Front Left <---- Ton
1 - Front Right <---- Ton
2 - Rear Left <---- Stumm
3 - Rear Right <---- Stumm
4 - Center <---- Stumm
Time per period = 14,611328

22:03 pierre:~ > cat /home/mcgregor/.asoundrc
#
# Configuration for the Intel HD audio (ICH6/ICH7)
#

<confdir:pcm/front.conf>

HDA-Intel.pcm.front.0 {
@args [ CARD ]
@args.CARD {
type string
}
type softvol
slave.pcm {
type hw
card $CARD
}
control {
name "PCM Playback Volume"
card $CARD
}
}

# default with dmix+softvol & dsnoop
HDA-Intel.pcm.default {
@args [ CARD ]
@args.CARD {
type string
}
type asym
playback.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
@func concat
strings [ "dmix:" $CARD ]
}
control {
name "PCM Playback Volume"
card $CARD
}
}
}
capture.pcm {
type plug
slave.pcm {
type softvol
slave.pcm {
@func concat
strings [ "dsnoop:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
}
}

<confdir:pcm/surround40.conf>
<confdir:pcm/surround41.conf>
<confdir:pcm/surround50.conf>
<confdir:pcm/surround51.conf>
<confdir:pcm/surround71.conf>

HDA-Intel.pcm.surround40.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround51.0 cards.HDA-Intel.pcm.front.0
HDA-Intel.pcm.surround71.0 cards.HDA-Intel.pcm.front.0

<confdir:pcm/iec958.conf>

HDA-Intel.pcm.iec958.0 {
@args [ CARD AES0 AES1 AES2 AES3 ]
@args.CARD {
type string
}
@args.AES0 {
type integer
}
@args.AES1 {
type integer
}
@args.AES2 {
type integer
}
@args.AES3 {
type integer
}
type asym
playback.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Playback Default"
lock true
preserve true
value [ $AES0 $AES1 $AES2 $AES3 ]
}
{
name "IEC958 Playback Switch"
lock true
preserve true
value true
}
]
}
}
capture.pcm {
type hooks
slave.pcm {
type hw
card $CARD
device 1
}
hooks.0 {
type ctl_elems
hook_args [
{
name "IEC958 Capture Switch"
lock true
preserve true
value true
}
]
}
}
hint.device 1
}

<confdir:pcm/modem.conf>

HDA-Intel.pcm.modem.0 {
@args [ CARD ]
@args.CARD {
type string
}
type hw
card $CARD
device 6
hint.show off
}



pcm.ch40dup {
type route
slave.pcm surround40
slave.channels 4
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
}

pcm.ch51dup {
type route
slave.pcm surround51
slave.channels 6
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 0.5
ttable.1.4 0.5
}


pcm.dmixs51 {
type dmix
ipc_key 1024
slave {
pcm "hw:0,1"
rate 48000
channels 6
period_time 0
period_size 1024
buffer_time 0
buffer_size 4096
}
}
pcm.duplicate {
type plug
slave.pcm "dmixs51"
slave.channels 6
route_policy duplicate
}

Danke für Tips, hoffe nicht eine andere Karte reinstecken zu müssen, als "unsaubere Frickellösung".
 
Oben