* GUS Classic driver, PLUGHW problems
@ 2003-07-04 9:12 Joseph Lunderville
2003-07-09 21:17 ` Ville Syrjälä
0 siblings, 1 reply; 2+ messages in thread
From: Joseph Lunderville @ 2003-07-04 9:12 UTC (permalink / raw)
To: alsa-devel
I'm trying to get a 486 with a GUS Classic working through ALSA, and I've
run into a couple of problems:
1. plughw doesn't know how to convert from interleaved data to
noninterleaved data. in fact, as far as I can see, nothing at all except the
GUS driver knows what to do with noninterleaved data.
I'm writing my own software, so this isn't as big a deal as it could be, but
anybody else who tries to use the GUS will be stuck. I imagine that the only
reason this hasn't been fixed yet is that nobody wants to use a GUS with
ALSA :)
2. the GUS driver seems to have a problem with outputting PCM data. I had to
test it using my own code (since the example uses interleaved data), but I'm
reasonably confident that the problem's in the driver.
the problem I'm observing is that there are frequent clicks in the audio
output (coincidentally, they arrive at a frequency corresponding exactly to
the size of the ring buffer -- I've confirmed this by looking at the output
on an oscilloscope. the click looks like one or two samples are being
skipped). this is when I use a buffer size that's a multiple of my period
size -- when I use other combinations of buffer size and period size, things
get worse. some combinations of buffer & period size cause I/O errors.
3. finally, the example doesn't start the audio output. it's difficult for
me to tell whether you're supposed to call snd_pcm_start() in order to get
output from the speakers (in which case the example is wrong), or whether
the gus driver requires this when it's not supposed to, but either way
something's not right.
at the very least I'd love it if these could be documented on the known
issues page. if these are in fact the bugs I think they are, is there anyone
around who's interesting in fixing them? I imagine that bugs related to
obsolete hardware are fairly low priority, but I'm tossing this message out
in case the will is there and the fix is easy. if there isn't anyone else
who has the time and inclination to investigate these problems, then I'll do
it; for various reasons development on the target machine is painful though,
and I'd especially rather avoid working on something as large as ALSA (which
takes something like 40 minutes to compile and install).
thanks,
-joe
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: GUS Classic driver, PLUGHW problems
2003-07-04 9:12 GUS Classic driver, PLUGHW problems Joseph Lunderville
@ 2003-07-09 21:17 ` Ville Syrjälä
0 siblings, 0 replies; 2+ messages in thread
From: Ville Syrjälä @ 2003-07-09 21:17 UTC (permalink / raw)
To: alsa-devel
On Fri, Jul 04, 2003 at 02:12:49AM -0700, Joseph Lunderville wrote:
> I'm trying to get a 486 with a GUS Classic working through ALSA, and I've
> run into a couple of problems:
>
>
> 1. plughw doesn't know how to convert from interleaved data to
> noninterleaved data. in fact, as far as I can see, nothing at all except the
> GUS driver knows what to do with noninterleaved data.
I ran into this problem with my GUS PnP some time ago. You should be able
to find the discussion from alsa-devel archives.
Apparently the conversion works for some other non-interleaved cards
like RME Hammerfall. The GUS driver doesn't support mmap which may cause
problems but even using alsa-lib's mmap emulation didn't fix the problem
for me :(
> I imagine that the only
> reason this hasn't been fixed yet is that nobody wants to use a GUS with
> ALSA :)
I will resurrect my GUS PnP when (if?) MIDI emulation gets implemented...
> 2. the GUS driver seems to have a problem with outputting PCM data. I had to
> test it using my own code (since the example uses interleaved data), but I'm
> reasonably confident that the problem's in the driver.
>
> the problem I'm observing is that there are frequent clicks in the audio
> output (coincidentally, they arrive at a frequency corresponding exactly to
> the size of the ring buffer -- I've confirmed this by looking at the output
> on an oscilloscope. the click looks like one or two samples are being
> skipped). this is when I use a buffer size that's a multiple of my period
> size -- when I use other combinations of buffer size and period size, things
> get worse. some combinations of buffer & period size cause I/O errors.
>
> 3. finally, the example doesn't start the audio output. it's difficult for
> me to tell whether you're supposed to call snd_pcm_start() in order to get
> output from the speakers (in which case the example is wrong), or whether
> the gus driver requires this when it's not supposed to, but either way
> something's not right.
I don't remember seeing this with my GUS PnP but then again I mostly used
the codec instead of the synth for PCM. Also GUS PnP doesn't have the
channel count vs. frequency limitation of the original GUS.
I have a GUS MAX buried somewhere but I don't think I've tried it with
ALSA.
--
Ville Syrjälä
syrjala@sci.fi
http://www.sci.fi/~syrjala/
-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-07-09 21:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-04 9:12 GUS Classic driver, PLUGHW problems Joseph Lunderville
2003-07-09 21:17 ` Ville Syrjälä
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.