Re: Powerpc (mac-G4) -essentially broken
Benjamin Herrenschmidt wrote:
First is that the sounds in KDE are white noise. I've seen
posted bug report about dmasound_pmac not honouring
byte-reversal requests, and I guess this is it.
No. It's not the kernel driver who should do byte swapping.
The userland app should do it. Most userland apps appear to
be quite broken in their use of the audio drivers APIs though,
some of them just consider the output is little endian, some
are even worse and configure the driver for little endian
while actually sending native endian samples to it.
Okey dokey, skipper!
I'm not arguing, and I can see that this is a very valid point of view
(kernel as a hardware abstraction layer, supporting only the facilities
the hardware does, and thus avoiding bloating with creaping featureism).
But the alternative view would be that the kernel's sound interface is
there to play sound, regardless of byte order, and as we all know most
of the world has got ints the wrong way around, so it would be splendid
if the kernel could sort things out for us. Obviously this isn't going
to fix the problem of asking for native sending the opposite or vice
versa, but how difficult is it just to byte-reverse things?
I'm saying this because my next job will have to be building libarts
from source and then trying to fix it. I would rather make a smaller
change to the kernel module to provide both endianess, but it seems you
don't like that.
And as I said, when it comes to kernels, you're the boss 8)
Doesn't look like it: as Fabian.Jakobs has confimed, the sid package has
the same problem. The one I tried was build 11 I think. I will see if I
can build it from source and let people know what happens.
dmasound_pmac will reject a setting of 16 bits little endian
and return a proposed value of 16 bits big endian. If the app
cannot cope with that it should fail, not output noise. I
think more recent versions of KDE sound servers have been
fixed though. Maybe the one in sid ?