SectionDevice."Speaker" { Comment "Mono Speaker" ConflictingDevice [ "Headphones" ] EnableSequence [ # BYT/CHT devices with an ES8316 codec use a single speaker # connected between the headhpone LOUT and ROUT pins, expecting # the output to be in a mono differential mode. Presumably this # is done to use the power of both the left and right headphone # amplifier channels to allow the speaker to be louder. # # The ES8316 codec does not have a differential output mode, but # we can emulate one by making both channels output the exact # same signal by setting the "DAC Mono Mix Switch", combined # with setting the "Playback Polarity" control to "R Invert", # which applies a 180 degrees phase inversion to the right chan. cset "name='DAC Mono Mix Switch' on" cset "name='Playback Polarity' 1" cset "name='Speaker Switch' on" ] DisableSequence [ cset "name='Speaker Switch' off" # DAC settings back to normal for stereo headphones output cset "name='Playback Polarity' 0" cset "name='DAC Mono Mix Switch' off" ] Value { PlaybackPriority 100 PlaybackPCM "hw:${CardId}" } }