Some more experiments on the above described onboard loopback, now I tried to measure the impulse response using the MLS added to the test sample:
resample -il 128 -r 44100 -k 11 -d 7 lb_fixed.wav mls.wav convolve mls.wav ir1.wav 10010000000000000 -inv=1 -g 2 resample -k 3.4721088435374 -d -131071 ir1.wav ir2.wav resample -il 128 -k 2.89882 -d 0.5 -r 96000 -l=1 ir2.wav ir3.wav convolve sample2.wav sample2f.wav ir3.wav sinetest -d 12 -c 1 -f 2500 -a 0.9 -p 0 sample2f.wav Channel #1: frequency = 2500.00000000 Hz amplitude = 1.95878840 (5.839750 dBFS) phase = 259.633841 degrees frequency correction = 1.000000000000 amplitude correction = 0.45946770 (-6.75490030 dB) start time = 1.073311517954 s (103037.9057236 samples) sinetest -d 12 -c 2 -f 3000 -a 0.9 -p 0 sample2f.wav Channel #2: frequency = 3000.00000000 Hz amplitude = 1.95877476 (5.839690 dBFS) phase = 23.533111 degrees frequency correction = 0.999999999998 amplitude correction = 0.45947090 (-6.75483978 dB) start time = 1.073311543414 s (103037.9081678 samples) average delay = 1.073311530684 resample -il 128 -k 20.073311530684 -d 29.78544217687 -g1 0.45946770 -g2 0.45947090 sample2f.wav C.wav
The result is limited to a bandwidth of 22.05 kHz, but here is the frequency and impulse response (in the latter there is some extra ringing because of the band-limiting, but it can be seen that RealTek used a linear phase DAC filter):
C.wav is the original sample converted to 96 kHz, convolved by the measured impulse response, and synchronized and level matched with A.wav and B.wav. In theory, it can be subtracted directly from B.wav for a null test, but because of the imperfect synchronization (phase drift over time because of not matching the sample rates exactly) and impulse response, this does not give great results, but is still worth listening to. Adding another test tone after the music would allow for more accurate synchronization.
I also tried to use the Audio DiffMaker, but it did not work well with the default settings, I need to experiment more with it.
Anyway, here is the difference file, amplified by 40 dB. While it is possible to hear the original sound, highpass filtered and getting louder over time, because of the phase drift, it already reveals hiss and some odd vinyl-like pops and clicks as the most noticeable artifacts. I am not sure if the pops are just interference, or an artifact of the DAC. There is no evidence of any heavy distortion; not that I expected it (I measured 0.00x% THD and IMD values), but many claim that cheap solid state gear measures well with sine waves, but performs poorly while playing real music.