From: Alexander Samad <alex@samad.com.au>
To: Lee Revell <rlrevell@joe-job.com>
Cc: alsa-devel <alsa-devel@lists.sourceforge.net>,
alsa-user@lists.sourceforge.net
Subject: Re: [Alsa-user] [PATCH] emu10k1 multichannel support
Date: Thu, 20 Jan 2005 06:51:54 +1100 [thread overview]
Message-ID: <20050119195154.GR27550@samad.com.au> (raw)
In-Reply-To: <1106091073.24484.60.camel@krustophenia.net>
[-- Attachment #1: Type: text/plain, Size: 8835 bytes --]
Hi
Interested in this, been trying to get multi channel output from audigy2
card
I tried the quick start but it seemed to fail
multimedia:~# jackd -R -v -d alsa -P hw:0,3 -C hw:0,2 -S
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_alsa.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_dummy.so
getting driver descriptor from /usr/lib/libjack0.80.0-0/jack_oss.so
jackd 0.99.0
Copyright 2001-2003 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
registered builtin port type 32 bit float mono audio
running with uid=0 and euid=0, will not try to use capabilites
loading driver ..
new client: alsa_pcm, id = 1 type 1 @ 0x80578b0 fd = -1
creating alsa driver ...
hw:0,3|hw:0,2|1024|2|48000|0|0|nomon|swmeter|-|16bit
ALSA lib pcm_hw.c:1172:(snd_pcm_hw_open) open /dev/snd/pcmC0D3p failed:
No such device
ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to
capture-only mode
control device hw:0
configuring for 48000Hz, period = 1024 frames, buffer = 2 periods
new buffer size 1024
registered port alsa_pcm:capture_1, offset = 4096
registered port alsa_pcm:capture_2, offset = 8192
++ jack_rechain_graph():
client alsa_pcm: internal client, execution_order=0.
-- jack_rechain_graph()
13828 waiting for signals
load = 0.0141 max usecs: 6.000, spare = 21327.000
jack main caught signal 2
stopping driver
detaching driver
unloading driver
freeing shared port segments
stopping server thread
stopping watchdog thread
freeing engine shared memory
max usecs: 6.000, engine deleted
This is the output from aplay -l
multimedia:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audigy2Value [Sound Blaster Audigy2_Value], device 0: emu10k1
[EMU10K1]
Subdevices: 32/32
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
Subdevice #8: subdevice #8
Subdevice #9: subdevice #9
Subdevice #10: subdevice #10
Subdevice #11: subdevice #11
Subdevice #12: subdevice #12
Subdevice #13: subdevice #13
Subdevice #14: subdevice #14
Subdevice #15: subdevice #15
Subdevice #16: subdevice #16
Subdevice #17: subdevice #17
Subdevice #18: subdevice #18
Subdevice #19: subdevice #19
Subdevice #20: subdevice #20
Subdevice #21: subdevice #21
Subdevice #22: subdevice #22
Subdevice #23: subdevice #23
Subdevice #24: subdevice #24
Subdevice #25: subdevice #25
Subdevice #26: subdevice #26
Subdevice #27: subdevice #27
Subdevice #28: subdevice #28
Subdevice #29: subdevice #29
Subdevice #30: subdevice #30
Subdevice #31: subdevice #31
card 0: Audigy2Value [Sound Blaster Audigy2_Value], device 2: emu10k1
efx [EMU10K1 EFX]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: I82801BAICH2 [Intel 82801BA-ICH2], device 0: Intel ICH [Intel
82801BA-ICH2]
Subdevices: 1/1
Subdevice #0: subdevice #0
cat /proc/asound/cards
0 [Audigy2Value ]: Audigy2 - Sound Blaster Audigy2_Value
Sound Blaster Audigy2_Value (rev.0,
serial:0x10011102) at 0xc000, irq 18
1 [I82801BAICH2 ]: ICH - Intel 82801BA-ICH2
Intel 82801BA-ICH2 with ALC200/200P at 0xdc00, irq
17
multimedia:~# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.8.
Compiled on Jan 19 2005 for kernel 2.6.9-6-ntf.
multimedia:~# cat /proc/asound/devices
4: [0- 0]: hardware dependent
9: [0- 1]: raw midi
8: [0- 0]: raw midi
18: [0- 2]: digital audio playback
26: [0- 2]: digital audio capture
25: [0- 1]: digital audio capture
16: [0- 0]: digital audio playback
24: [0- 0]: digital audio capture
0: [0- 0]: ctl
33: : timer
57: [1- 1]: digital audio capture
48: [1- 0]: digital audio playback
56: [1- 0]: digital audio capture
32: [1- 0]: ctl
i have had a play around with .asoundrc but to no avail I can still only
see 2 channels on the card!
Alex
On Tue, Jan 18, 2005 at 06:31:12PM -0500, Lee Revell wrote:
> As promised, here's an updated patch to add real multichannel playback
> support (and improved multichannel capture) to the emu10k1 driver.
>
> http://www.alsa-project.org/~rlrevell/emu10k1-multichannel-v001.patch
>
> Please test it and report any problems. I am especially interested in
> any regressions that impact regular PCM playback (the hw:0,0 device).
>
> QuickStart:
>
> $ jackd -R -v -d alsa -P hw:0,3 -C hw:0,2 -S
>
> This also adds some new register info including a per channel half loop
> interrupt that I have discovered by reverse engineering the Windows
> drivers.
>
> Improvements over previous versions:
>
> - Routes the 16 channels to the 16 FX buses by default.
>
> - Enables the first 16 FX capture outputs by default, required for
> full duplex operation at latencies lower than 512 frames.
>
> - Rewrote the voice allocator to use a more efficient round
> robin algorithm, eliminating the need to reserve the
> first 16 voices for the multichannel device. The next free voice
> is maintained in the card record and the search starts from there.
>
> - Use an extra voice for playback timing rather than the EFX capture
> interrupt. I was only ever able to get that to work at 64 frames. Also
> there are definite advantages to being able to use the capture and
> playback devices independently.
>
> - Use the newly discovered per-channel half loop interrupt source for
> the extra voice rather than the channel loop interrupts. For unknown
> reasons, this works better for multichannel playback, and does not seem
> to affect regular PCM playback at all.
>
> TODO:
>
> - Fix the send routing and volume controls for the multichannel device.
> The current (copy and paste) solution assumes either one or two voices
> per PCM. So the default settings work fine but changing them with the
> mixer is likely to have unpredictable effects.
>
> - EFX capture should capture output channels 16-32 (mostly unused now)
> by default, so that we only capture the sources the user has connected
> to the multichannel recording inputs in the DSP manager. Typically FX
> buses 0-15 would be connected directly to FX outputs 16-32 so the
> capture channels would correspond directly to the playback channels. In
> order for this to work the default DSP configuration has to be changed
> slightly.
>
> I tested this and it works well with 16in/16out at 128, 256, 512 frames.
> 32 and 64 should work too but I can't test as I'm running a stock 2.6.10
> kernel for now ;-). You can check that the routing is correct by
> connecting a JACK client to the playback ports corresponding to the FX
> buses described in Documentation/Audigy-mixer.txt and
> Documentation/SB-Live-mixer.txt, and verifying that the output appears
> on that channel (the FX buses are numbered from 0 but JACK numbers
> clients from 1). For example (from SB-Live-mixer.txt):
>
> name='Music Playback Volume',index=0
>
> This control is used to attenuate samples for left and right MIDI FX-bus
> accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
> The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
>
> So "alsaplayer -o jack -d alsa_pcm:playback_5,alsa_pcm:playback_6"
> should output to FX buses 4 and 5, which you can test by lowering the
> 'Music' control in alsamixer. With an SBLive, use ports 1 and 2 for the
> front channels, 3 and 4 for the rear channels. The Audigy uses
> different channels, see the above docs for more info.
>
> In addition to multichannel recording applications, this should also be
> useful for OpenAL implementations, which are currently restricted to
> using 21 sources due to the use of an extra voice per stereo PCM. This
> should allow up to 63 sources.
>
> Lee
>
>
>
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Alsa-user mailing list
> Alsa-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-user
>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-01-19 19:51 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-18 23:31 [PATCH] emu10k1 multichannel support Lee Revell
2005-01-19 14:38 ` William
2005-01-19 16:10 ` Lee Revell
2005-01-19 16:59 ` Lee Revell
2005-01-19 17:49 ` William
2005-01-19 18:20 ` William
2005-01-19 18:24 ` Lee Revell
2005-01-19 16:48 ` Takashi Iwai
2005-01-19 19:10 ` Lee Revell
2005-01-21 21:45 ` Lee Revell
2005-01-23 0:49 ` James Courtier-Dutton
2005-01-26 18:05 ` Lee Revell
2005-01-23 20:05 ` Lee Revell
2005-01-29 3:54 ` Lee Revell
2005-01-31 16:09 ` Bug in " Mikael Magnusson
2005-02-10 22:17 ` Lee Revell
2005-02-10 23:26 ` Mikael Magnusson
2005-02-11 1:55 ` Lee Revell
2005-02-11 18:41 ` Lee Revell
2005-02-11 20:32 ` Mikael Magnusson
2005-02-10 23:33 ` Shayne O'Connor
2005-02-11 0:59 ` Lee Revell
2005-02-11 1:35 ` Shayne O'Connor
2005-02-11 1:33 ` Lee Revell
2005-02-11 2:31 ` Shayne O'Connor
2005-02-11 3:55 ` Lee Revell
2005-02-11 9:54 ` Takashi Iwai
2005-01-19 19:51 ` Alexander Samad [this message]
2005-01-19 21:11 ` [PATCH] " Lee Revell
2005-01-19 21:25 ` Alexander Samad
2005-01-19 22:16 ` Alexander Samad
2005-01-19 22:19 ` Alexander Samad
2005-01-19 22:54 ` [Alsa-user] " Lee Revell
2005-01-21 21:41 ` Lee Revell
2005-01-22 0:49 ` James Courtier-Dutton
2005-01-23 20:31 ` [Alsa-devel] " Alexander Samad
2005-01-25 17:09 ` Brian L Scipioni
2005-01-25 18:43 ` [Alsa-user] " Lee Revell
[not found] ` <1106743059.30763.21.camel@radium.gaugetheory.org>
[not found] ` <1106756424.2935.1.camel@krustophenia.net>
[not found] ` <s5hu0p3nimh.wl@alsa2.suse.de>
2005-01-27 18:41 ` [Alsa-user] emu10k1 alsamixer items Lee Revell
2005-01-28 15:33 ` Takashi Iwai
[not found] ` <1108148365.4267.22.camel@radium.gaugetheory.org>
2005-02-11 19:41 ` [PATCH] emu10k1 multichannel support Lee Revell
2005-02-11 20:11 ` Brian L Scipioni
2005-02-11 20:14 ` [Alsa-user] " Lee Revell
2005-02-15 14:20 ` Brian L Scipioni
[not found] ` <1108148630.4267.28.camel@radium.gaugetheory.org>
2005-02-11 19:44 ` emu10k1 MIDI record Lee Revell
2005-02-11 20:06 ` Brian L Scipioni
2005-02-11 20:12 ` [Alsa-user] " Lee Revell
2005-02-12 15:34 ` Brian L Scipioni
2005-02-12 23:51 ` [Alsa-user] " Lee Revell
2005-02-15 14:44 ` Brian L Scipioni
2005-01-25 21:33 ` [Alsa-user] [PATCH] emu10k1 multichannel support Lee Revell
-- strict thread matches above, loose matches on Subject: below --
2005-02-15 14:48 Peter Zubaj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050119195154.GR27550@samad.com.au \
--to=alex@samad.com.au \
--cc=alsa-devel@lists.sourceforge.net \
--cc=alsa-user@lists.sourceforge.net \
--cc=rlrevell@joe-job.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox