Friday, February 01, 2013

Asus AT37N7A-I Nvidia ION Linux Configuration

I've been using this excellent motherboard for about 2 years, it has now been disassembled as I had less of a need for a silent PC in the living room after retiring my use of MythTV.

 I had Ubuntu installed on this PC and during its lifetime was subjected to many performance tweaks. Rather than delete this work, I've decided to put the files online for other people to use.

Sound

I wanted digital sound over the HDMI cable so it can be played by either my TV or AV amp; I've played back DTS HD with this configuration, my TV had issues with some sample rates which is why the rate is configured explicitly.

asoundrc

pcm.!default front

pcm.analog-hw {
  type hw
  card 0
  device 0
}

pcm.analog-hw-formatted {
  type plug
  slave {
    pcm analog-hw
    rate 48000
  }
}

pcm.digital-hw {
  type hw
  card 0
  device 3
}

pcm.digital-hw-formatted {
  type plug 
  slave {
    pcm digital-hw
    rate 48000
  }
}

pcm.hdmi_softvol {
  type softvol
  slave.pcm digital-hw-formatted
  control.name hdmi_volume
  control.card 0
}

Video 

These are my xorg.conf settings for use with my Sharp Aquos 32" TV, this has been optimised for use with MythTV specifically playback of 1080p playback at 50Hz, 60Hz and 24Hz.

xorg.conf

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen         "Default Screen" 0 0
EndSection

Section "Monitor"
    #Sharp AQUOS Screen Dimension: 701mm x 394mm
    Identifier     "Television"
    VendorName     "Sharp"
    ModelName      "LC32LE600E"
    DisplaySize     701    394
EndSection

Section "Device"
    Identifier     "ION-HDMI"
    Driver         "nvidia"
    Option         "NoLogo"                    "true"
    # If not disabled I can't select 24Hz or 60Hz refresh rates
    Option         "DynamicTwinView"           "false"
    Option         "NoFlip"                    "false"
    Option         "FlatPanelProperties"       "Scaling = Native"
    Option         "ModeValidation"            "NoVesaModes, NoXServerModes, NoPredefinedModes"
    Option         "ModeDebug"                 "true"
    # Options for MythTV performance
    Option         "TripleBuffer"              "True"
    Option         "UseEvents"                 "True"
    Option         "HWCursor"                  "False"
    # Removes non selected modes
    Option         "IncludeImplicitMetaModes"  "false"
    Option         "ExactModeTimingsDVI"       "True"
    Option         "DPI"                       "100 x 100"
EndSection

Section "Screen"
    Identifier     "Default Screen"
    Device         "ION-HDMI"
    Monitor        "Television"
    DefaultDepth   24
    SubSection     "Display"
        Viewport    0 0
        Depth       24
        Modes      "1920x1080_50" "1920x1080_24_0" "1920x1080_60_0"
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite"                 "Disable"
EndSection

nvidia-settings 

On startup, nvidia-settings is called with the following parameters:

nvidia-settings -a "SyncToVBlank=1" -a "AllowFlipping=1" -a "FSAAAppControlled=1" -a "OpenGLImageSettings=3" -a "LogAniso=0" -a "GPUScaling[DFP-0]=1,1"; nvidia-settings -r

Mplayer

Here are the mplayer-config settings for smooth playback using the GPU:

fs="1"
ao=alsa:device=hdmi
vo=vdpau
vc=ffmpeg12vdpau,ffh264vdpau,xvid

MythTV

There is extensive documentation on the MythTV wiki so I won't repeat that here, for reference though:

http://www.mythtv.org/wiki/Frame_display_timing
http://www.mythtv.org/wiki/Vdpau
http://www.mythtv.org/wiki/User_Manual:JudderFree

No comments: