[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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)

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 ?

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.


Reply to: