Skip to main content

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

Comments

Popular posts from this blog

Howto: Ubuntu 8.10, Dell 5530, 3G/WWan and GPS

There is an updated howto on the Dell 5530 using my own python based monitoring tool at http://blog.bjw.me.uk/2009/03/dell-5530ericsson-f3507g-on-linux.html Introduction Here is a Howto document for getting the Dell 5530 wwan card working along with the onboard GPS under Ubuntu 8.10. This card does not work conveniently with the bundled Network Manager software, but replacing NetworkManager with other utilities will give the ability to get online using a pretty GUI and not have to resort to using wvdial and the command line... It should also work with the Ericsson f3507g as I believe the Dell 5530 is a rebadged version of this module. Check Hardware First you need to check the modem is detected correctly. On my computer, the modem is detected out of the box by the cdc_acm module and exposes three serial ports (/dev/ttyACM[0,1,2]) for communication. Check by running: dmesg | grep ACM Mine shows the following: [ 34.385302] cdc_acm 1-6:1.1: ttyACM0: USB ACM device [ ...

Linn DS Alarm Function

Update 2014 - An alternative to this is available on GitHub which uses Node.js and should be cross platform. Linn DS Playlist and Alarm Server Switching the radio on in the kitchen in the morning is a low priority amongst setting table, pouring cereals, carrying children, etc. The Sonos has an alarm clock facility which allows you to switch on the radio at a set time avoiding hassle of starting a controller. When I upgraded to my Linn Sneaky DS, I no longer had this function, though the remote control made it easy if I forgot to take my phone downstairs with me. Last week I decided to figure it out. I have a Linux machine which runs Ubuntu and runs all the media servers, backups and network shares. I decided to investigate how to control my DS from the command line. Conveniently, the DS can be controlled via a web api, so after reading the docs and a few examples I was able to switch off and on and change source via Postman (Chrome REST client). I then set about writing...

Howto: Node Red Subflow for Hue Bulbs

When writing some flows for Node-RED controlling my Philips Hue bulbs; I wanted to read from a bulb do some work then write that same colour back to the bulb. When you perform a GET on a bulb, you get all of the information, whilst good this means it is a bit more inconvenient to PUT that back into a bulb as that API has a slightly different resource shape where the colour mode is determined by which values are submitted. After using a group of nodes in one flow which did exactly this, I needed the same block in another flow. So I created a sub flow by selected those nodes, clicking the hamburger menu in the top right and choosing 'Subflows > Selection to Subflow'. This replaces the selected nodes with a single node which you can edit in a 'subflows' menu group in the left pane. Download this selection and make your own subflow: https://dl.dropboxusercontent.com/u/174818/HueInputToOutput.json?dl=1