[Nexus 5X Themes and Apps] chdloc:
Nice work! Since I don't have a Nexus 5x I'll let other comment on your mod's efficacy. Let me comment on what I think you have done, according to the above screen shot and the new mixer_paths.xml file:

according to your screen shot, you designed the filter for 96 kHz sampling rate. I would be surprised if audio were ever running through the codec at 96 kHz, especially for Nexus devices. I have never seen a Nexus device with references to 96 kHz sampling rate. So more likely than not, the codec will run at 48 kHz (the default) irrespective of the source's sampling rate. (Android resamples everything under the hood, so even your precious "high-res" audio files will get downsampled, no matter which app you use.) You can make sure by running the following command in a shell while playing media:

cat /proc/asound/card0/pcm*p/sub0/hw_params

There should be a "rate" entry, which on my Nexus 5 is always 48000 (48 kHz). If you see the same entry, you may want to redesign the filters for 48 kHz sampling rate. If you run audio through a filter that has been designed for a sampling rate twice the active sampling rate, the effective filter cutoff point is "cut in half". For instance, you designed a lowpass-type filter with a cutoff frequency of 12 kHz at 96 kHz sampling rate, if the codec actually runs at 48 kHz the effective cutoff frequency moves down to 6 kHz.

according to your attached mixer_paths.xml file, you are applying the filters to both loudspeakers. The references to IIR1 are applicable to the left channel and the references to IIR2 are applicable to the right channel. Depending on what you would like to accomplish you may want to switch one of the channels to "passthrough" mode, which you can copy from Band3, Band4, or Band5.

your mixer_paths.xml file has the following entry:

<ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RX7 MIX1 INP1" value="RX1" />
<ctl name="RX7 MIX1 INP1" value="RX2" />

My educated guess is that you actually end up with real stereo here. The first entry, RX1 -> "RX1 MIX1 INP1" (the earpiece) is the left channel and the last entry, RX2 => "RX7 MIX1 INP1" (main loudspeaker) is the right channel. RX1 -> "RX7 MIX1 INP1" gets overwritten by the entry below it. I think you want to change this to

<ctl name="RX1 MIX1 INP1" value="RX1" />
<ctl name="RX7 MIX1 INP1" value="RX1" />
<ctl name="RX7 MIX1 INP[COLOR="Red"]2[/COLOR]" value="RX2" />

if your goal is to mix both channels and play them back with the main loudspeaker. You are now hearing less distortion compared to your original mod (dual mono) since the earpiece does not get fed with a signal that is highly distorted in the digital domain to begin with. Note that when you mix two signals you need to make sure that the combined signal stays below digital full-scale representation, which it does not in your original implementation. I can elaborate more on this if desired.

your mixer_paths.xml file still has sidetone enabled. I have seen issues with IIR filtering via the codec in combination with sidetone functionality, in particular with hotword detection. If necessary, these issues can be fixed with removing sidetone functionality in the mixer file.