chrultrabook/docs

What are AVS drivers?

Closed this issue · 5 comments

The instructions to install GNU/Linux contain the warning below:

Using AVS on a device with max98357a will blow your speakers. You have been warned.

Unfortunately, I do not know what AVS is. The term is also mentioned in the FAQ, but from there it sounds like it’s a Windows driver?

Can I get AVS or SOF drivers for free?

  • Only the Linux drivers are free.
ellyq commented

No, it's not a Windows driver. Rather, it is, but it was ported from Linux.
CoolStar's audio drivers are based on Linux, that's why you usually see Linux getting support first, followed by Windows support.

It's a new kernelspace driver introduced by Intel's engineers, currently supporting SKL, KBL and APL.
We've been working with Intel's engineers on it for about a year. It's the only way to get properly working audio on Skylake and KabyLake platforms.

https://chrultrabook.github.io/docs/docs/terminology.html
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/soc/intel/avs

The reason why we can't modify the firmware is that Management Engine checks signature of DSP firmware we're trying to load. In case of ApolloLake for instance, we cannot load community-signed firmware. DSP FW has to be signed with Intel keys, otherwise it will fail to load.

Last time I spoke to Czarek, they had issues implementing peakvol due to licensing and vendor approval because not everything is opensource. That's why it still hasn't been implemented yet.

Thank you. From the Linux Kconfig file:

config SND_SOC_INTEL_AVS
	tristate "Intel AVS driver"
	depends on X86 || COMPILE_TEST
	depends on PCI
	depends on COMMON_CLK
	select SND_SOC_ACPI if ACPI
	select SND_SOC_TOPOLOGY
	select SND_SOC_HDA
	select SND_SOC_COMPRESS if DEBUG_FS
	select SND_HDA_EXT_CORE
	select SND_HDA_DSP_LOADER
	select SND_INTEL_DSP_CONFIG
	select WANT_DEV_COREDUMP
	help
	  Enable support for Intel(R) cAVS 1.5 platforms with DSP
	  capabilities. This includes Skylake, Kabylake, Amberlake and
	  Apollolake.

Luckily, Alder Lake does not seem to be “affected”.

And sorry for not looking at Terminology first:

Abbreviation for Audio Voice Speech, a audio driver used for both Linux and Windows. SKL, APL, KBL, and ABL use this driver.

ellyq commented

No, CometLake, TigerLake and AlderLake uses Sound Open Firmware. Same for GeminiLake and to some point ApolloLake (although with issues).

I have KOHAKU and ELDRID here, both using MAX98357A, working perfectly. In fact, we've tested those platforms with thermal cameras, oscilloscope and volume meter to fine-tune it on mainline.

I have a RABBID (Apollolake) with its EOL approaching this summer, was thinking of linuxing it then - hoping the sd card detection can be fixed by then.