* User land drivers.
@ 2004-08-31 10:45 James Courtier-Dutton
2004-09-03 12:29 ` Takashi Iwai
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: James Courtier-Dutton @ 2004-08-31 10:45 UTC (permalink / raw)
To: alsa-devel
I have found that there are a number of different possible sound
devices, where creating a user land driver would be beneficial to using
a kernel module.
E.g. Bluetooth, Firewire etc.
Currently, we have:
user app(user)
|
V
alsa-lib(user)
|
V
alsa-driver(kernel)
|
V
hardware(kernel).
Bluetooth would prefer:
user app(user)
|
V
alsa-lib(user)
|
V
alsa-bluetooth-headset-profile(user)
|
V
bluetooth-driver(kernel)
|
V
hardware(kernel).
Would it be possible to have userland processes creating /dev/ files ?
Alternatively, could we provide a new plugin method, so we can add
userland PCMs, Mixer, etc.
Any ideas?
James
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-08-31 10:45 User land drivers James Courtier-Dutton
@ 2004-09-03 12:29 ` Takashi Iwai
2004-09-03 13:11 ` Florian Schmidt
2004-09-03 14:08 ` Jaroslav Kysela
2 siblings, 0 replies; 9+ messages in thread
From: Takashi Iwai @ 2004-09-03 12:29 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
At Tue, 31 Aug 2004 11:45:02 +0100,
James Courtier-Dutton wrote:
>
> I have found that there are a number of different possible sound
> devices, where creating a user land driver would be beneficial to using
> a kernel module.
> E.g. Bluetooth, Firewire etc.
>
> Currently, we have:
> user app(user)
> |
> V
> alsa-lib(user)
> |
> V
> alsa-driver(kernel)
> |
> V
> hardware(kernel).
>
> Bluetooth would prefer:
> user app(user)
> |
> V
> alsa-lib(user)
> |
> V
> alsa-bluetooth-headset-profile(user)
> |
> V
> bluetooth-driver(kernel)
> |
> V
> hardware(kernel).
>
>
> Would it be possible to have userland processes creating /dev/ files ?
Why do you need to *create* /dev?
When you access through alsa-lib, you don't need a device file.
> Alternatively, could we provide a new plugin method, so we can add
> userland PCMs, Mixer, etc.
Exactly.
Takashi
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-08-31 10:45 User land drivers James Courtier-Dutton
2004-09-03 12:29 ` Takashi Iwai
@ 2004-09-03 13:11 ` Florian Schmidt
2004-09-03 14:08 ` Jaroslav Kysela
2 siblings, 0 replies; 9+ messages in thread
From: Florian Schmidt @ 2004-09-03 13:11 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
On Tue, 31 Aug 2004 11:45:02 +0100
James Courtier-Dutton <James@superbug.demon.co.uk> wrote:
> Would it be possible to have userland processes creating /dev/ files ?
> Alternatively, could we provide a new plugin method, so we can add
> userland PCMs, Mixer, etc.
>
> Any ideas?
have a look for userspace file systems. I suppose many of the techniques
can be adopted to this..
http://www.circlemud.org/~jelson/software/fusd/
for example
flo
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-08-31 10:45 User land drivers James Courtier-Dutton
2004-09-03 12:29 ` Takashi Iwai
2004-09-03 13:11 ` Florian Schmidt
@ 2004-09-03 14:08 ` Jaroslav Kysela
2004-09-03 14:27 ` Takashi Iwai
2004-09-03 18:05 ` David Lloyd
2 siblings, 2 replies; 9+ messages in thread
From: Jaroslav Kysela @ 2004-09-03 14:08 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: alsa-devel
On Tue, 31 Aug 2004, James Courtier-Dutton wrote:
> Would it be possible to have userland processes creating /dev/ files ?
It's not necessary for the ALSA case.
> Alternatively, could we provide a new plugin method, so we can add
> userland PCMs, Mixer, etc.
Yes, a new PCM i/o plugin in alsa-lib is sufficient. For mixer, we need to
create an additional layer.
Actually, I'm thinking to design a loopback soundcard in kernel in
conjunction with a daemon with these targets:
1) creating "virtual" hardware (PCMs, mixers, RawMIDI ports etc.)
2) redirect OSS emulation from the kernel space back to user space
3) redirect ALSA devices back to user space
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-09-03 14:08 ` Jaroslav Kysela
@ 2004-09-03 14:27 ` Takashi Iwai
2004-09-03 14:31 ` Jaroslav Kysela
2004-09-03 18:05 ` David Lloyd
1 sibling, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2004-09-03 14:27 UTC (permalink / raw)
To: Jaroslav Kysela; +Cc: James Courtier-Dutton, alsa-devel
At Fri, 3 Sep 2004 16:08:17 +0200 (CEST),
Jaroslav wrote:
>
> On Tue, 31 Aug 2004, James Courtier-Dutton wrote:
>
> > Would it be possible to have userland processes creating /dev/ files ?
>
> It's not necessary for the ALSA case.
>
> > Alternatively, could we provide a new plugin method, so we can add
> > userland PCMs, Mixer, etc.
>
> Yes, a new PCM i/o plugin in alsa-lib is sufficient. For mixer, we need to
> create an additional layer.
>
> Actually, I'm thinking to design a loopback soundcard in kernel in
> conjunction with a daemon with these targets:
>
> 1) creating "virtual" hardware (PCMs, mixers, RawMIDI ports etc.)
> 2) redirect OSS emulation from the kernel space back to user space
> 3) redirect ALSA devices back to user space
Yes, I believe this will make it easier to develop the "hybrid"
architecture like this case.
Also, we may provide a more easy-to-use interface for additional ALSA
pcm plugins. The current design of plugin is bound too tightly to the
ALSA lowlevel structure, and it's a pain to implement all on that at
each time.
Takashi
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-09-03 14:27 ` Takashi Iwai
@ 2004-09-03 14:31 ` Jaroslav Kysela
2004-09-03 15:58 ` James Courtier-Dutton
0 siblings, 1 reply; 9+ messages in thread
From: Jaroslav Kysela @ 2004-09-03 14:31 UTC (permalink / raw)
To: Takashi Iwai; +Cc: James Courtier-Dutton, alsa-devel
On Fri, 3 Sep 2004, Takashi Iwai wrote:
> Also, we may provide a more easy-to-use interface for additional ALSA
> pcm plugins. The current design of plugin is bound too tightly to the
> ALSA lowlevel structure, and it's a pain to implement all on that at
> each time.
I think that we should follow the kernel space here - create only helper
functions which might be used in the user space driver design.
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-09-03 15:58 ` James Courtier-Dutton
@ 2004-09-03 15:57 ` Jaroslav Kysela
0 siblings, 0 replies; 9+ messages in thread
From: Jaroslav Kysela @ 2004-09-03 15:57 UTC (permalink / raw)
To: James Courtier-Dutton; +Cc: Takashi Iwai, alsa-devel
On Fri, 3 Sep 2004, James Courtier-Dutton wrote:
> Currently, to support a new sound card in ALSA, we just write a small
> bit of code to talk to the hardware, and other alsa kernel modules
> provide all the helper functions(period_elapsed etc.), so for a user
> land driver(bluetooth), these helper functions should be in alsa-lib.
Exactly.
> You mention the PCM plugin. I did not know there was already a PCM
> plugin api that could be used to talk to some other user land program. I
> just thought the PCM plugins were for sample rate conversion and simple
> stuff like that.
No, unfortunately, the PCM plugin interface is completely hidden inside
alsa-lib. But we can add some plugins like ladspa/meter/jack plugin which
can connect to other external code.
Jaroslav
-----
Jaroslav Kysela <perex@suse.cz>
Linux Kernel Sound Maintainer
ALSA Project, SUSE Labs
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-09-03 14:31 ` Jaroslav Kysela
@ 2004-09-03 15:58 ` James Courtier-Dutton
2004-09-03 15:57 ` Jaroslav Kysela
0 siblings, 1 reply; 9+ messages in thread
From: James Courtier-Dutton @ 2004-09-03 15:58 UTC (permalink / raw)
To: Jaroslav Kysela; +Cc: Takashi Iwai, alsa-devel
Jaroslav Kysela wrote:
> On Fri, 3 Sep 2004, Takashi Iwai wrote:
>
>
>>Also, we may provide a more easy-to-use interface for additional ALSA
>>pcm plugins. The current design of plugin is bound too tightly to the
>>ALSA lowlevel structure, and it's a pain to implement all on that at
>>each time.
>
>
> I think that we should follow the kernel space here - create only helper
> functions which might be used in the user space driver design.
>
> Jaroslav
>
Currently, to support a new sound card in ALSA, we just write a small
bit of code to talk to the hardware, and other alsa kernel modules
provide all the helper functions(period_elapsed etc.), so for a user
land driver(bluetooth), these helper functions should be in alsa-lib.
You mention the PCM plugin. I did not know there was already a PCM
plugin api that could be used to talk to some other user land program. I
just thought the PCM plugins were for sample rate conversion and simple
stuff like that.
I might have to look at the docs again.
James
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: User land drivers.
2004-09-03 14:08 ` Jaroslav Kysela
2004-09-03 14:27 ` Takashi Iwai
@ 2004-09-03 18:05 ` David Lloyd
1 sibling, 0 replies; 9+ messages in thread
From: David Lloyd @ 2004-09-03 18:05 UTC (permalink / raw)
To: Jaroslav Kysela; +Cc: alsa-devel
On Fri, 3 Sep 2004, Jaroslav Kysela wrote:
> Actually, I'm thinking to design a loopback soundcard in kernel in
> conjunction with a daemon with these targets:
>
> 1) creating "virtual" hardware (PCMs, mixers, RawMIDI ports etc.)
> 2) redirect OSS emulation from the kernel space back to user space
> 3) redirect ALSA devices back to user space
I think this is a great idea!
- D
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2004-09-03 18:03 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-31 10:45 User land drivers James Courtier-Dutton
2004-09-03 12:29 ` Takashi Iwai
2004-09-03 13:11 ` Florian Schmidt
2004-09-03 14:08 ` Jaroslav Kysela
2004-09-03 14:27 ` Takashi Iwai
2004-09-03 14:31 ` Jaroslav Kysela
2004-09-03 15:58 ` James Courtier-Dutton
2004-09-03 15:57 ` Jaroslav Kysela
2004-09-03 18:05 ` David Lloyd
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.