-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Recently bought this laptop and I am pleasantly surprised to find out that the Linux experience is much better than I expected to be. Thank you for your hard work on the drivers and the guides.
The only thing I am concerned about is the lack of onboard sound, and unfortunately the verb scripts didn't work on this model.
After looking into it further, I discovered that this model has a speaker amp MAX98390 from Maxim on Intel I2C bus. On Windows Device Manager it is registered as 'ADI Amp Device'.
The chip is already seemingly supported by the Linux kernel, but it does not work out of the box as on these laptops it appears as an ACPI device with ID 'MAX98390', but the existing driver only recognizes the ID 'MX98390'.
#ifdef CONFIG_ACPI
static const struct acpi_device_id max98390_acpi_match[] = {
{ "MX98390", 0 }, // Change this to 'MAX98390'
{},
};
MODULE_DEVICE_TABLE(acpi, max98390_acpi_match);
#endif
I updated the ACPI ID from sound/soc/codecs/max98390.c and recompiled the module, now it comes up on dmesg.
[ 4.525926] max98390 i2c-MAX98390:00: no optional property 'temperature_calib' found, default:
[ 4.525927] max98390 i2c-MAX98390:00: no optional property 'r0_calib' found, default:
[ 4.525928] max98390 i2c-MAX98390:00: max98390_i2c_probe: r0_calib: 0x0,temperature_calib: 0x0
[ 4.526182] max98390 i2c-MAX98390:00: MAX98390 revisionID: 0x42
Still, it seems that I need a topology file to activate the amp. But I lack expertise on those areas.
The audio codec on this model is ALC298 I believe, I would appreciate any guidance on enabling speaker output on this laptop.