# # Configuration for the nVIDIA nForce/2/3 # NFORCE.pcm.front.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hw card $CARD } control { name "PCM Playback Volume" card $CARD } } # default with dmix+softvol & dsnoop NFORCE.pcm.default { @args [ CARD ] @args.CARD { type string } type asym playback.pcm { type plug slave.pcm { type softvol slave.pcm { @func concat strings [ "dmix:" $CARD ] } control { name "PCM Playback Volume" card $CARD } } } capture.pcm { type plug slave.pcm { @func concat strings [ "dsnoop:" $CARD ] } } } NFORCE.pcm.surround40.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type hooks slave.pcm { type hw card $CARD channels 4 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "4ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } ] } } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.surround51.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 slave.pcm { type hooks slave.pcm { type hw card $CARD channels 6 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "6ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 6 } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.surround71.0 { @args [ CARD ] @args.CARD { type string } type softvol slave.pcm { type route ttable.0.0 1 ttable.1.1 1 ttable.2.4 1 ttable.3.5 1 ttable.4.2 1 ttable.5.3 1 ttable.6.6 1 ttable.7.7 1 slave.pcm { type hooks slave.pcm { type hw card $CARD device 0 } hooks.0 { type ctl_elems hook_args [ { name "Channel Mode" preserve true value "8ch" lock true optional true } # for old drivers { name "Line-In As Surround" preserve true value true optional true } { name "Mic As Center/LFE" preserve true value true optional true } { name "Surround Down Mix" preserve true value off lock true optional true } { name "Center/LFE Down Mix" preserve true value off lock true optional true } ] } } slave.channels 8 } control { name "PCM Playback Volume" card $CARD } } NFORCE.pcm.iec958.0 { @args [ CARD AES0 AES1 AES2 AES3 ] @args.CARD { type string } @args.AES0 { type integer } @args.AES1 { type integer } @args.AES2 { type integer } @args.AES3 { type integer } type hooks slave.pcm { type hw card $CARD device 2 } hooks.0 { type ctl_elems hook_args [ { name "IEC958 Playback AC97-SPSA" lock true preserve true value 0 } { name "IEC958 Playback Default" lock true preserve true value [ $AES0 $AES1 $AES2 $AES3 ] } { name "IEC958 Playback Switch" lock true preserve true value true } ] } }