[RESPONDED] Getting full speaker performance with Linux on Framework Laptop 16

In order to get full speaker performance in Linux on Framework Laptop 16, you’ll need to toggle the Linux Audio Compatibility setting in BIOS. You can find the steps for that here: Ubuntu 22.04 LTS Installation on the Framework Laptop 16 - Framework Guides

15 Likes

Hrm, I’m planning to multi-boot mine… any chance of more details on what this setting does and the impact of leaving it on when running Windows?

6 Likes

I was going to ask that exact question, I’d be interested in this, also.

We haven’t had any official word on what this actually does. Just speculation from users based on one of your Audio deep dives (the dual chipsets and dual speakers).

What happens if you’re using Linux and left it on Windows Audio in the BIOS? And vice versa (Windows and left it on Linux Audio in the BIOS)?

I’m sure I will not be the only person who dual-boots with their FW16.

Thanks.

4 Likes

I would also be dual booting a 16.

I don’t know what the BIOS setting changes, but I am a Linux kernel ALSA (sound) developer, so I will find out when I get my FW 16.
My guess is that it presents a different device depending on the BIOS setting.
In Linux, try “lspci -vnn” and see what changes when the BIOS setting changes.

9 Likes

Once the Windows Audio Driver is installed, the BIOS setting should have no effect. The obvious question then is, “why isn’t this setting on by default?”. That is a question we’re discussing internally and we may update this in future BIOS’s.

14 Likes

Thanks for the update, this is exactly what I was hoping for!

My speculation then is that it’s basically just fiddling with non-public hardware registers that the Windows driver knows about, but are “trade secrets” possibly covered under NDA.

Another possibility of course is that they are publicly documented, but since the “right” values are platform-specific, the Linux driver isn’t interested in having a huge list of platform-specific settings in it.

image

3 Likes

Hi. Can anyone tell us exactly what the BIOS setting does and why? What registers it touches etc. I could then add it to the Linux kernel source code to work irrespective of what the BIOS setting does.

The setting changes the HDA VERB table between Linux and Windows.

Hardware wise we have a HDA codec with a class D amp that drives the high frequency speakers, and also an attached i2s amplifier for the main speakers.

The Linux version will configure EQ settings for both amplifiers correctly for Linux. Which is normally done by the Windows driver.

We would enable the linux settings as default for both, but the additional configuration will lead to a device failure in windows with the windows HDA driver.

10 Likes

What about in cases of dualbooting?

1 Like

@Niko_Cantero
From Kieran’s description, all the Linux setting in the BIOS does is make the speakers sound a bit better if you select the “Linux audio” setting. Once I get my FW16, I will make changes to the Linux Kernel so that whatever is done by the “Linux audio” BIOS setting, is then done by the Linux kernel instead. At that point, it will not matter which setting the FW16 bios is set to, it will sound best either way. But, time wise, this is maybe 6 months before I will get round to doing the changes in the Linux kernel because I don’t have a FW16 yet, but its on order.

2 Likes

You mean upstream those changes to the kernel, right? (I wonder why Framework doesn’t do that themselves tho tbh)

Cause the fw devs are absolutely overloaded with keeping their own stuff running. Just see all the BIOS complaints and feature requests

3 Likes

Hi,

Yes, I mean get the change into the mainline Linux kernel, that all the distros then use eventually. Its quite difficult to do the first time for any developer or organisation because the knowledge and quality barrier is quite high, but after you have done a few commits, you have then gained some trust and demonstrated your knowledge. It is a lot easier after that.

Even with the Linux comparability turned on in the BIOS, there is a huge difference in sound in Windows vs Linux. I noticed Windows is louder, and sounds a bit more rounded than in Linux. The profile I used for Easy Effects in Linux actually sounds even quieter but sounds fuller and more “correct” than without AND compared to Windows as well.

So I think Window’s driver still needs some tuning for sure.

This inconsistent audio performance is not giving me a whole lot of confidence with my FW16.

Add to that the request for numerous photos and videos for support to troubleshoot light bleed on my display due to the bezel pushing on it makes me feel regret on purchasing the FW16 at this time. Maybe it would get better.

I’m pretty overwhelmed with other life things right now so I really don’t want to spend the time to troubleshoot. Life was a lot different for me when the FW16 was accepting preorders.

Add to that the request for numerous photos and videos for support to troubleshoot light bleed on my display due to the bezel pushing on it makes me feel regret on purchasing the FW16 at this time. Maybe it would get better.

Did you have a look at this thread? The magnetic bezel puts slight pressure on the screen
You may be two pieces of thin cardboard away from working around that issue.

I tried this but it didn’t help :frowning: