[Nexus 6  General] Crossvxm:
I had retired my Nexus 6 a while ago due to the speaker issue that's been plaguing these devices. I decided not to sell it as it would be an issue for the next user, so I instead kept it in case of an emergency.

Certain issues have lead me to recommission the device, so I decided I'd see what's new. So far it is clear that there was never a fix, and some people swear that pressing on the speakers fixes the problem (whether temporarily or permanently). I never believed this as the only thing that seemed to fix it (temporarily) when touching the speakers is tapping on the speakers, but that seems to be related to the device rotating (which has also been known to let the volume go back up) and something within the gyroscope (something that some have brought up as well). My Nexus 6 unlike many others has the bigger problem where the volume will go down regardless of battery percentage, and it was terrible as there was never an instance in which I could truly use the speakers.

Reading around I have seen other "solutions" emerge, but never anything concrete. On a YouTube video's comment sections I saw one person mention that Franco.Kernel fixes this, for me this did nothing. On another forum I read a guy who said his issue stopped using Lean Kernel, and that it may have something to do with mp_decision. Unfortunately for me, I like to stick to the latest version that was officially released (in this case 7.1.1) and Lean Kernel doesn't seem to have made it that far. I gave up on experimenting for the sake of the speakers at this point and settled on my favorite rom which is Dirty Unicorns, using the final 7.1.1 build (somebody was nice enough to provide links as I could not find it anywhere and their official page only has their Oreo based builds). Obviously the speaker issue persisted here. At this point I wanted to see if there was a Kernel with good features and battery life and came across a thread that mentioned BL4CKB1RD Kernel. I flashed that and was a happy camper as my phone runs cooler (no difference has been made to my 4 hour average screen on time) and ultimately lag free. Reading the maker of the kernel's current set up using the kernel, I decided to copy it a bit by limiting my maximum CPU frequency to 2.5GHz and using said governor profile. I came across the mp_decision setting and turned it on just out of curiosity (I have no clue what it does). Later on, I went to watch a YouTube video and before I could connect my headphones, the video was playing...with perfect sound. I thought I was going crazy, so I let it play for a bit longer. No volume drop. I picked up the phone, moved it around, rotated it, blasted the volume to the max and still not a single drop. For literally an hour I watched videos and absolutely no volume issues. I decided to undo all kernel changes and reboot to see what would happen. Still no volume changes. I also decided to lock the CPU and GPU maximum frequency to produce more heat, still nothing. I played Subway Surfers which was a guaranteed instant volume drop, nothing. Rebooted several times more, let the battery die, speakers are still perfect. Could this kernel have fixed my issue? Maybe. It is also worth noting that before flashing the kernel, I ran a command via terminal emulator (requires root) that I read about BEFORE flashing the custom kernel, and I never rebooted my Nexus 6. The command can be found here (there was another thread that also included it but also linked to this thread):

https://xdaforums.com/nexus-6/devs-only/speaker-amplifiers-nxp-tfa9890-research-t3236518

Anyone with the speaker issue should perhaps start by this command, reboot and see what happens. If not, try using BL4CKB1RD kernel and see what happens? If still nothing, try toggling mp_decision on and then test.