On 9/13/24 12:59, Cezary Rojewski wrote:
> On 2024-09-10 10:14 PM, Mark Brown wrote:
>> On Thu, Aug 22, 2024 at 03:57:22PM +0200, Cezary Rojewski wrote:
>>
>>> You've shared many scenarios, I do not think we can cover all of them
>>> here
>>> and while I could agree that current FE/BE (DPCM?) design did not age
>>> well,
>>> we're entering "rewrite how-to-pcm-in-linux" area.
>>> If general opinion is:
>>> it's too much, we have to rewrite for the framework to scale
>>> into the next 20 years of audio in Linux
>>
>>> then my thoughts regarding current review are:
>>> if the avs-driver needs sideband interface, so be it, but do it
>>> locally rather than polluting entire framework. Switch to the
>>> framework-solution once its rewritten.
>>
>> On this bit as I mentioned in the prior reply there's been ideas for
>> redesigning how we tackle digital audio which I think there's general
>> agreement would be the best way forwards. DPCM is very fragile and
>> creaking at the seams, it can't really represent scenarios like the
>> sideband case you've mentioned well. OTOH a redesign is a very big lift
>> and there's never really a point where it seems constructive to actually
>> block things on it so long as everyone involved is OK with what's going
>> on.
>>
>> The upshot is that while I'd be *really* happy to see investment in the
>> framework side of things I probably wouldn't block a driver specific or
>> DPCM solution simply on the grounds that it's messy. DPCM would need
>> buy in from other people using DPCM of course, and hopefully at some
>> point someone with one of these issues will find that the cost of
>> maintaining a bodge is going to be enough to push them to do the work
>> (or someone will have free time to just work on the issue).
>
> From my experience when it comes to redesigning/rewriting entire
> project, the "upgrade an already running train" strategy does not work,
> so I'd not recommend that.
>
> Instead, I'd suggest to have a second, separate DPCM implementation
> present next to the existing one and have users opt in during a so-
> called deprecation period of the existing one. Once certain amount of
> time passes, switch all of them. Clean slide also makes it easier for a
> developer to be creative.
>
> Do you view the second option as viable?
Classic problem without a good solution. In practice new features or
corrections get added to the 'old' framework and the new one is not used
by anyone just yet so it keeps running behind in terms of
features/maturity. And due to limited validation resources or limited
access to a wide variety of hardware, no one is quite ready to enable
the new framework on 'old' platforms because that would break quite a
few devices.
The other problem is that the 'switch' would mean a compatible solution,
but the problem is to get rid of the very notion of front- and
back-ends. Existing users of DPCM have undocumented hard-coded
dependencies on the order in which callbacks are handled, it's not easy
at all to change the routing engine.
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]