Repository navigation
Conversation
This patch avoids warnings print for: ALSA lib pcm.c:1471:(tplg_parse_hw_config) deprecated bclk value 'codec_slave', use 'codec_consumer' ALSA lib pcm.c:1523:(tplg_parse_hw_config) deprecated fsync value 'codec_slave', use 'codec_consumer'" Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch avoids print of warning: ALSA lib pcm.c:1477:(tplg_parse_hw_config) deprecated bclk value 'codec_master', use 'codec_provider ALSA lib pcm.c:1529:(tplg_parse_hw_config) deprecated fsync value 'codec_master', use 'codec_provider' Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
|
Last time @marc-hb did the conversion we had to revert it, I can't recall why exactly (maybe results with older alsa-lib or alsa-utils packages). Let's make sure this doesn't break anything. |
|
This was previously reverted in #5192 because the new terms basically "crash" the older ALSA versions in a very subtle and time consuming way, see #5192 for details. Transitions like this normally have some "overlap" period where the new term is accepted while the old one is not spamming yet. Too late I guess? |
|
with the topology2 dependency on latest bleeding alsa-lib/alsa-utils, I think we should add a dependency check on the alsa-lib package and fail the build early, rather than allow for old versions to proceed and generate bad results silently. It may annoy people who don't have the latest stuff installed but that will be safer than allowing for uncontrolled older versions to be used. |
|
@plbossart Topology2 build is passed by scripts/build-tools.sh if alsa-lib and alsatplg version is < 1.2.7. |
@plbossart we need a minimum of 1.2.7 for alsatplg for topology2 to build. In fact we have annoying problem with topology2 builds that we skip building all topology2 files if the alsatplg version is older but the warning gets lost in the sea of other build messages. Maybe we should just enforce 1.2.7 for all topology builds and force users to upgrade. What do you think? |
|
@ranj063 alsa-lib 1.2.7 was released on 2022/05/31. I have 1.2.6 on the latest Ubuntu 22.04. It'd be pushing it to require this dependency unilaterally. If we require the use of 1.2.7, we also provide a solution with Docker or share the Debian packages for 1.2.7 IMHO. |
I think we have updated the docker image @fredoh9 please correct me if I am wrong |
This can be done but it would be quite a disruptive change. This was already discussed in #5192 BTW topology2 also requires a recent ALSA but just a reminder that is a totally unrelated problem. Also, missing topology2 files is a problem quick and easy to find.
Bad results are generated only with the new terms
Our ALSA debian packaging story "never went anywhere":
Yes the container has 1.2.7, this can be checked with a single-line:
I find it worrying to recommend solutions that we either don't have or don't use ourselves. I guess the 3rd option is what most current developers use: Not a smooth developer experience either. |
|
What compounds the issue is the lack of incremental build. Change one topology and they ALL get rebuilt. Wait, even "better": change zero topology and they all get rebuilt. I've been wanting to fix that for a long time, should a relatively small CMake fix. Because of this issue and other incoming topology changes I will do it now. Among others this will make the topology2 warning much more visible. |
|
SOF docker is always up-to-date with SOF toolchain requirement. Last update was done on Aug 9th. ALSA version is v1.2.7 |
fredoh9
left a comment
There was a problem hiding this comment.
wow, most anticipated fix. thanks!
marc-hb
left a comment
There was a problem hiding this comment.
Sorry I don't think we should do this until we offer a clearer and safer ALSA experience. A couple of us wasted a lot of time last time I did this.
|
OK, I'll close this!
Yep. Simple command line "make" should always work from build directory |
Submitted in #6342 :
|
|
The previous revert was 7 months ago. Since then Ubuntu 22.04 LTS got ALSA 1.2.6 as noted by @plbossart and Fedora was upgraded a long time ago. The requirement for codec_consumer is 1.2.5, so we could make 1.2.5 a hard requirement to block alsatplg corruption. It would also block debian stable but who's using that? :-) And there's still our container and compiling from source.
But first please help test and review incremental build fix #6342, you should like it whatever happens here. |
Avoids a lot of warnings prints in topologies build.