Here's what I try to fix by playing around with it in hda-emu, it seems like more than one thing is broken here, but let's start with playback. This machine has one internal speaker and one line-out. Codec proc file is attached.
Here's my analysis so far:
1) If there's one internal speaker and one line-out (rather than headphone-out), should the internal speaker auto-mute? What's standard practice?
2) There are two DAC nids, 0x02 and 0x03, but only 0x02 is used (i e activated on playback). But line-out is connected (via nid 0x0d) to DAC 0x03, so there is no sound on line-out.
Should we try to activate DAC nid 0x03 or try to move line-out to DAC 0x02? And is either possible through just fiddling with pin_configs (which Takashi preferred), or should we add fixup verbs, or a completely new model? What would upstream prefer in this case?
3) Another strange thing is the controls, there is both Master Playback and Speaker Playback Volumes and Switches, but they both control Volume=0x02 and Switch=0x14, and setting one then getting the other returns the wrong result since they're not updating each other's cached values (I assume). So we should try to get rid of one of these, but how depends on the answer to question 1...
Thanks in advance for helping out!