Announcement

Collapse
No announcement yet.

Linux is not ready for Steam

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • X11 seems to deal with it. Switching the audio via the Xfce Mixer works well enough. Why can't the mixer be extended without affecting the sound APIs.

    Comment


    • Basically, I'm questioning why the hell does PulseAudio need to take over the devices themselves and rebuffer the audio.

      Comment


      • Originally posted by darkphoenix22 View Post
        X11 seems to deal with it. Switching the audio via the Xfce Mixer works well enough. Why can't the mixer be extended without affecting the sound APIs.
        You're still not getting it. Then the mixer is implementing the PulseAudio functionality. It has to be done somewhere. Whether that be by Pulse or ALSA mixer version 2.0

        The same functions need to be facilitated by something. You cant use magic. Just calling the code ALSA mixer doesn't mean the transforms aren't happening.

        Comment


        • Why the hell does PulseAudio need to take over the devices themselves and rebuffer the audio?

          Comment


          • Originally posted by darkphoenix22 View Post
            Basically, I'm questioning why the hell does PulseAudio need to take over the devices themselves and rebuffer the audio.
            Something needs to. If not Pulse, then the drivers themselves.

            If you put it in the drivers you're adding complexity to code running in kernel space. Very bad indeed.

            Comment


            • OSSv4 seems to work fine with per-app volume controls and software mixing. In the driver.

              Comment


              • Originally posted by darkphoenix22 View Post
                OSSv4 seems to work fine with per-app volume controls and software mixing. In the driver.
                And people aren't happy about that aspect of OSSv4.

                Comment


                • I don't why switching devices requires an API that takes over the driver APIs and re-buffers the audio.

                  Comment


                  • Originally posted by mugginz View Post
                    And people aren't happy about that aspect of OSSv4.
                    Who? Who are these "people"?

                    Comment


                    • Originally posted by darkphoenix22 View Post
                      Who? Who are these "people"?
                      Me for one, but I'm looking for where Linus brought ossv4 into the kernel to see what he thinks about it.

                      Comment


                      • Well I do like it. One against one.

                        Comment


                        • Originally posted by darkphoenix22 View Post
                          Well I do like it. One against one.
                          Originally posted by Måns Rullgård
                          Sorry, floating point in the Linux kernel isn't allowed.
                          Seems I'm not the only one.

                          Comment


                          • I really don't care for politics.

                            And again:

                            I don't why switching devices requires an API that takes over the driver APIs and re-buffers the audio.

                            Comment


                            • Edit:

                              I don't see why switching devices requires an API that takes over the driver APIs and re-buffers the audio.

                              Comment


                              • Originally posted by rqosa
                                It's not necessarily "better" to do mixing in the kernel instead of in userspace.

                                The maintainers of Linux won't allow any floating-point operations in the kernel, because that would require a save/restore of FPU state on entering a system call and on returning from a system call, which has a performance cost.

                                Incidentally, the original developer of of OSS (Hannu Savolainen) seems to have GPLed the current upstream OSS (OSSv4) now, so it's not the license that's keeping it out of Linux upstream anymore. Instead, it seems to be the issue of in-kernel mixing that's the problem (and maybe other problems too). According to Hannu's comment here (search for "OSS does this by" to find the comment), the mixing code runs with interrupts disabled and does its own save/restore of FPU state. That alone is probably sufficient to prevent it from getting merged into Linux upstream.
                                Another one

                                Comment

                                Working...
                                X