All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.