How to fix Bang and Olufsen Audio for HP laptops?

Solution 1:

Two years later it is possible!

There is a new answer with a comment confirming it works. The link is included so people are apprised of updates to this issue.


Original answer

This is no longer true but left her for posterity purposes.

It doesn't seem possible

I looked on HP website and found this:

  • How to install Bang and Olufsen Audio drivers on Ubuntu 16.04

The so-called "HP Expert" there said it's like trying to put a jet engine in a car and make it fly like an AirBus A380. So not very promising. He did reference another question here in Ask Ubuntu:

  • How to install Bang and Olufsen Audio drivers for HP laptop?

...however that has no answers either.

Do a little more digging

I did a little more digging and found this bug report:

  • HP Spectre x360 (Kabylake) just front speakers work

There are 91 comments posted from November 29, 2016 up to yesterday (August 12, 2017). There are various band-aid approaches people have tried. I suggest you subscribe to the bug report and keep abreast of bug fixes / work arounds.

Like your system there are two front speakers powered from motherboard and two back speakers powered by separate amplifier.

The most successful band-aid to date requires installing a windows update and rebooting into Linux. This "tricks" the amplifier to being powered on. After rebooting into Linux poking in some register configuration values is required. You can read all about it in the 91 comments but I just wanted to summarize it for you.

Hopefully someone will reverse-engineer the Windows driver for Bang & Olufsen and create one for Linux. It doesn't appear HP is willing to do it.

Solution 2:

I purchased a late 2017 Spectre X360, model 13-ae013dx. I was able to solve this bug consistently using HDAJackRetask under Antergos by performing the following:

  • Override pin 0x14 and set it to Internal Speaker (LFE). I believe this enables the amplifier that drives the top speakers. Setting it to something other than just "Internal Speaker" is important, so that pulseaudio does not try to redirect sound to that channel.

  • Override pin 0x1e and set them to "Internal Speaker".

Hit Apply Now, and voila you have sound out of all four speakers.

Config screenshot:

enter image description here

I'm currently running Kernel 4.20.10-arch1-1-ARCH, and I have tried absolutely everything on this thread to no avail. Hope this helps!