[<< | Prev | Index | Next | >>]

Wednesday, June 28, 2006

A Fast, Quiet, Affordable machine for Ubuntu Dapper Linux



Antec Solo, Ubuntu Dapper Linux
(Yes, yes, I should paint the optical drives to match.)

My Fujitsu Laptop finally kicked the bucket. The hard drive died after being on 24/7 for almost three years, which I guess is the consequence of using a laptop as a desktop machine. Since my research simulations have been begging for more compute power, I decided to build a desktop machine to get more bang for the buck:

The machine isn't silent, but it's pretty quiet. Almost all the noise is the stock CPU fan, so I may investigate alternatives for that. The drives are virtually silent, between being quiet to begin with (Samsung Spinpoints) and being suspension mounted (standard option in the Antec Solo). Against the CPU fan, I can't tell for sure how noisy the power supply or case fans are, but my initial impression is that the power supply is nearly silent, and the case fan fairly quiet.

Here are the specific parts:

Here are the minor nits and tips, in case anyone is building a similar machine:

Ubuntu Dapper installs almost without a hitch. Both the x86 and AMD64 versions work, with the latter running marginally faster. However, I had troubles with Skype under the AMD64 install (it ran, but had problems..) and since that's my primary phone right now I'm running the x86 install.

That's about it. The last major issue was getting dual head/dual monitor support working, which took a bit of googling but worked as expected once I got the setup right. The main non-obvious trick was that the "BusID" must be specified in each Device section, as this appears to be what tells Xorg that the two devices are actually two screens coming off the same card (and hence same BusID). I got the BusID by grepping for "PCI:" in /var/log/Xorg.0.log. I haven't tried Xinerama mode (where the two screens behave as one) since at the moment I'm enjoying having one screen with multiple virtual desktops and a second screen with stationary stuff (email, IM, system status, etc.). But in principle that's just one option change since the basic dual-head support is working fine.

Here are the relevant portions of my xorg.conf file, for two monitors and my Marble Mouse. (Note there are other sections I'm not including here, like the "Files" and "Module" sections, so don't use this verbatum.) The single-monitor setup is a subset of this, but really it's only the Modes lines that I had to change from the default.

Section "ServerLayout"
    Identifier     "Default Layout"

    Screen         "VGA Screen"
    Screen         "DVI Screen" LeftOf "VGA Screen"

    InputDevice    "Generic Keyboard"
    InputDevice    "Configured Mouse"
EndSection

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "CorePointer"
    Option         "Device" "/dev/input/mice"

    # These settings are for the logitech marblemouse
    #   which has 4 buttons but presents itself as a 5-button
    #   mouse with the middle button missing:
    # LargeLeft/LargeRight/SmallLeft/SmallRight = 1/3/4/5
    #
    #
    Option "Protocol"           "auto"
    Option "Buttons"            "5"

    # This configuration puts scrolling on the left small button,
    #  and makes the right small button the middle button.
    #Option "ButtonMapping"      "1 9 3 8 2"
    # This one puts scrolling on the right small button,
    #  and makes the left small button the middle button.
    Option "ButtonMapping"      "1 9 3 2 8"

    Option "EmulateWheel"       "true"
    Option "EmulateWheelButton" "8"
    Option "YAxisMapping"       "4 5"
    Option "XAxisMapping"       "6 7"

    # If EmulateWheelTimeout wasn't broken, this might be better:
    #Option "ButtonMapping"       "1 9 3 2 8"
    #Option "EmulateWheelButton"  "2"
    #Option "EmulateWheelTimeout" "1000"

EndSection

Section "Monitor"
    Identifier     "VGA Monitor"
    HorizSync       28.0 - 51.0
    VertRefresh     43.0 - 60.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "DVI Monitor"
    HorizSync       28.0 - 51.0
    VertRefresh     43.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "VGA Device"
    Driver         "nvidia"
    BusID          "PCI:0:5:0"
    Screen         0
EndSection

Section "Device"
    Identifier     "DVI Device"
    Driver         "nvidia"
    BusID          "PCI:0:5:0"
    Screen         1
EndSection

Section "Screen"
    Identifier     "VGA Screen"
    Device         "VGA Device"
    Monitor        "VGA Monitor"
    DefaultDepth    24
    SubSection     "Display"
        Depth       1
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "DVI Screen"
    Device         "DVI Device"
    Monitor        "DVI Monitor"
    DefaultDepth    24
    SubSection     "Display"
        Depth       1
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       4
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       15
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

If you have any questions or comments about this setup, please go here so others can see them as well.

See Also:

Installing Ubuntu Linux on MSI K8NGM2-FID motherboard with AMD Athlon 64 X2 3800+

Performance of MSI K8NGM2-FID motherboard with amd64, 686, and k7 kernels

[<< | Prev | Index | Next | >>]


Simon Funk / simonfunk@gmail.com