HARDWARE Dell Inspiron 6400

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Recently I purchased a Dell Inspiron 6400, and I figured since I had spent time setting this up under gentoo, I would make it easier to help others set this laptop up as well.

Contents

[edit] Hardware

[edit] General List

  • Intel Core 2 Duo 7200
  • 2 GB RAM
  • DVD-+R/RW Drive
  • 15.4" display @ 1680x1050
  • Dell Wireless 1390
  • Broadcom 440 10/100 ethernet
  • ATI Radeon Mobility x1400
  • Build in MMC/SD-Card Reader
  • 1394/Firewire port

[edit] lspci output

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400
03:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
03:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
03:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
0b:00.0 Network controller: Broadcom Corporation Unknown device 4311 (rev 01)

[edit] cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
stepping        : 6
cpu MHz         : 2000.000
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr \
                  sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 3995.29
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management: 

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
stepping        : 6
cpu MHz         : 2000.000
cache size      : 4096 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr \
                  sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
bogomips        : 3990.18
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

[edit] Preface

[edit] About This Document

During setup of this laptop, I used google and the Gentoo Wiki to find a lot of the information collected here. Unfortunately, I don't have those links bookmarked. If you'd like to see me reference a particular link, please let me know. I apologize if I've missed crediting any specific individuals.

I wanted to publish this information to help out anyone else that wants to install gentoo on this laptop model.

Here is another page that might be helpful, specifically if you're using the default intel video chip: HARDWARE_Dell_Inspiron_6400_Fixes_for_common_problems

[edit] Base Installation

Initially I follow the gentoo handbook to install using an amd64 profile since I wanted to make use of the em64t extensions supported by the Intel Core 2 Duo processor. Most information that I was able to find during my research of this laptop before I purchased it was x86 based, but at the moment, everything works great.

[edit] Installation Settings

[edit] BIOS Settings

The one change I would recommend to you at this point is to disable the BIOS setting for the wireless button (Fn-F2). If you disable this now, then testing and debugging your wireless settings later will be much easier. At one point I had accidentally pressed it, so when I first tested wireless everything worked great. Hours later I rebooted and suddenly wireless didn't work.

Either disable the button (leaving radio always on), or make a note that the special Fn-F2 wireless key must be pressed before you bring up the interface for testing.

[edit] make.profile

# ls -l /etc/make.profile 
lrwxrwxrwx 1 root root 50 Mar 20 13:45 /etc/make.profile -> ../usr/portage/profiles/default-linux/amd64/2006.1

I chose to stick with the default profile for amd64, since I figured I would wind up needing some 32-bit only applications.

[edit] make.conf

File: make.conf
 
 CFLAGS="-O2 -pipe -march=nocona "
 CHOST="x86_64-pc-linux-gnu"
 CXXFLAGS="${CFLAGS}"
 MAKEOPTS="-j3"
 USE="X a52 aac ac3 acpi alsa apache2 asf audiofile bash-completion berkdb bluetooth \
         bonobo branding browserplugin cddb cdparanoia cdr chardet clamav cups dbus \
         divx dlloader dri dts dvd dvdr dvdread ets encode evo exif flac ffmpeg firefox \
         footmaticdb ftp gif gimpprint gmedia gnome gphoto2 gtk gtk2 gtkhtml gstreamer \
         hal imagemagick ipod java javascript jpeg -kde live mad mmx mmxext modplug mp3 \
         mpeg mplayer msn musepack nls -nowwebdav nptl nptlonly nsplugin offensive ogg \
         opengl pcmcia pda pdf png ppds qt3support qt4 quicktime rdesktop real realmedia \
         rss samba scanner sdk ssl sndfile sourceview subversion sse sse2 tcl tcltk tiff \
         timidity tk unicode urandom usb vorbis wifi win32codecs wma wmp wxwindows x264 \
         xml -xmms xv xvid"
 LINGUAS="en"
 INPUT_DEVICES="mouse keyboard evdev synaptics" 
 VIDEO_CARDS="radeon fglrx vesa"
  


Warning: I found out after installation that the x1400 isn't supported by the current open source radeon driver, and I wanted to keep vesa present as a fall back option in case something went wrong with the ati proprietary driver. I left radeon present so that I could watch for an update to the radeon driver in future versions of xorg-x11
Note: Yes, I left the ALSA_CARDS blank.

[edit] Partitioning

Here is my sfdisk output:

Code: Partition Map
 
sfdisk -l /dev/sda

Disk /dev/sda: 9729 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+      8       9-     72261   83  Linux
/dev/sda2          9     276     268    2152710   82  Linux swap / Solaris
/dev/sda3        277    2709    2433   19543072+  83  Linux
/dev/sda4       2710    9728    7019   56380117+  83  Linux
 


Note: I included a swap partition slightly greater than the amount of RAM installed because I intend to use that space for the suspend to disk functionality later on.
File: /etc/fstab
 
 /dev/sda1               /boot           ext2            noauto,noatime  1 2,
 /dev/sda3               /               reiserfs        noatime         0 1,
 /dev/sda4               /home           reiserfs        noatime         0 1,
 /dev/sda2               none            swap            sw              0 0,
 /dev/cdrom              /mnt/cdrom      iso9660         noauto,ro,user,exec     0 0,
 /dev/mmcblk0p1          /mnt/sdcard     vfat            noauto,rw,user,exec     0 0,
 proc                    /proc           proc            defaults        0 0,
 shm                     /dev/shm        tmpfs           nodev,nosuid,noexec     0 0
  

[edit] Kernel Config

Usually I use the vanilla sources directly from kernel.org with the exception that I apply the vesafb-tng patch (vesafb-tng-1.0-rc2-2.6.20-rc2.patch), however this patch does not work on x86-64 at the time of writing this guide.

The patch can be downloaded here: http://dev.gentoo.org/~spock/projects/vesafb-tng/

The following outlines the options used for Kernel 2.6.22.1

[edit] CPU

Processor type and features 
      Subarchitecture Type (PC-compatible)  ---> 
      Processor family (Intel Core2 / newer Xeon)  ---> 
  [*] Symmetric multi-processing support 
  [*]   Multi-core scheduler support 
  (2) Maximum number of CPUs (2-256)

[edit] Compatibility

Executable file formats / Emulations  --->
  [*] Kernel support for ELF binaries
  <*> Kernel support for MISC binaries
  [*] IA32 Emulation
  <*>   IA32 a.out support

[edit] ACPI

Power management options 
  [*]   Driver model /sys/devices/.../power/state files (DEPRECATED)
  [*]   Software Suspend (Hibernation)
  (/dev/sda2) Default resume partition
      ACPI (Advanced Configuration and Power Interface) Support  --->
      --- ACPI Support 
        [*]   Sleep States
        [*]     /proc/acpi/sleep (deprecated)
        <*>   AC Adapter
        <*>   Battery 
        <*>   Button
        <*>   Video 
        <*>   Generic Hotkey (EXPERIMENTAL)
        <*>   Fan
        < >   Dock 
        <*>   Processor
        <*>     Thermal Zone
      CPU Frequency scaling  --->
        [*] CPU Frequency scaling 
              Default CPUFreq governor (performance)  ---> 
        ---   'performance' governor
        <*>   'userspace' governor for userspace frequency scaling
        <*>   'ondemand' cpufreq policy governor
        <*>   Intel Enhanced SpeedStep (deprecated)
        <*>   ACPI Processor P-States driver
        [*]   /proc/acpi/processor/../performance interface (deprecated) 

[edit] Networking

Networking
  --- Networking support 
      Wireless  --->
        --- Wireless extensions
        <*> Generic IEEE 802.11 Networking Stack 
        [ ]   Enable full debugging output
        ---   IEEE 802.11 WEP encryption (802.1x)
        <*>   IEEE 802.11i CCMP support
        <*>   IEEE 802.11i TKIP encryption
        <*>   Software MAC add-on to the IEEE 802.11 networking stack
        [ ]     Enable full debugging output  
Device Drivers
  Network device support
    Ethernet (10 or 100Mbit)
      [*] Ethernet (10 or 100Mbit) 
      [*] EISA, VLB, PCI and on board controllers 
      <*>   Broadcom 4400 ethernet support
    Wireless LAN
      [*] Wireless LAN (IEEE 802.11)
        <*>   Broadcom BCM43xx wireless support 
        [ ]     Broadcom BCM43xx debugging (RECOMMENDED)
                BCM43xx data transfer mode (DMA + PIO)  ---> 
Warning: You should enable debugging output on all the options above if you're having difficulties getting the bcm43xx driver to work

[edit] Bluetooth

I use a separate bluetooth dongle for bluetooth support.

Networking
  --- Networking support 
    <*>   Bluetooth subsystem support  ---> 
      --- Bluetooth subsystem support
      <*>   L2CAP protocol support
      <*>   SCO links support
      <*>   RFCOMM protocol support 
      [*]     RFCOMM TTY support
      <*>   BNEP protocol support
      <*>   HIDP protocol support
            Bluetooth device drivers  --->
              <M> HCI USB driver
              [ ]   SCO (voice) support
              <M> HCI UART driver
              [ ]   UART (H4) protocol support
              [ ]   BCSP protocol support
              <M> HCI BCM203x USB driver
              <M> HCI BPA10x USB driver
              <M> HCI BlueFRITZ! USB driver
              <M> HCI DTL1 (PC Card) driver
              <M> HCI BT3C (PC Card) driver
              <M> HCI BlueCard (PC Card) driver
              <M> HCI UART (PC Card) device driver
              <M> HCI VHCI (Virtual HCI device) driver

[edit] ATA/SATA

Device Drivers
  ATA/ATAPI/MFM/RLL support 
    <*> ATA/ATAPI/MFM/RLL support 
    <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support 
    <*>     Include IDE/ATA-2 DISK support 
    [*]     Use multi-mode by default 
    <*>     Include IDE/ATAPI CDROM support
  Serial ATA (prod) and Parallel ATA (experimental) drivers 
    <*>   Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support

[edit] Firewire/USB

Device Drivers
  IEEE 1394 (FireWire) support 
    <*> IEEE 1394 (FireWire) support
    <*>   OHCI-1394 support
    <*>   SBP-2 support (Harddisks etc.)
    <*>   Ethernet over 1394 
    <*>   Raw IEEE1394 I/O support
  USB support 
    [*]   USB selective suspend/resume and wakeup (EXPERIMENTAL)
    <*>   EHCI HCD (USB 2.0) support 
    <*>   OHCI HCD support 
    <*> USB Mass Storage support 
    [*] The shared table of common (or usual) storage devices
    <*> USB Human Interface Device (full HID) support 
Note: I like to play around with ieee1394 networking support, others may want to disable this.

[edit] MMC Card Slot

Device Drivers
  MMC/SD Card support
    <*>   MMC block device driver 
    <*>   Winbond W83L51xD SD/MMC Card Interface support 
    
Note: All I have to test with are SD cards, and they work fine. Others state that there are issues with other aspects of this device, but I haven't had to deal with that yet.

[edit] Sound

Device Drivers
  Sound
    <*> Sound card support 
        Advanced Linux Sound Architecture 
          <*> Advanced Linux Sound Architecture
          <*>   Sequencer support
          <*>   OSS Mixer API
          <*>   OSS PCM (digital audio) API 
          [*]     OSS PCM (digital audio) API - Include plugin system 
          [*]   OSS Sequencer API
          [*]   Support old ALSA API
          [*]   Verbose procfs contents
              PCI Devices
                <*> Intel HD Audio 

Everything else, including filesystems, is up to you though.

[edit] Post Base Install

After getting my Inspiron 6400 to boot for the first time, I made wireless a priority. Others may want to skip this step and come back to it later.

[edit] Wireless Setup

[edit] Initial Configuration

Since I enabled 1394 networking support, my wireless ethernet adapter is eth2. If you didn't enable 1394 networking support, yours should be eth1.

The bcm43xx driver requires firmware, you can use the bcm43xx-fwcutter program to rip that. Details can be found here: HARDWARE_BCM43xx

Since the bcm43xx-fwcutter program is masked, you need to add the following to /etc/portage/package.keywords:

File: /etc/portage/package.keywords
 
net-wireless/bcm43xx-fwcutter ~amd64
  

Once the firmware is installed, when you bring the wireless interface up, you can see the wireless LED on the top panel light up.

ifconfig eth2 up

You can verify that the interface is working by doing an initial scan

iwlist eth2 scanning

To include eth2 on boot:

cd /etc/init.d/
ln -s net.lo net.eth2
rc-update add net.eth2 boot
Note: Keep in mind that your wireless network adapter may be seen as net.eth1 instead of net.eth2

[edit] Installing wpa_supplicant

At home and at work, I use WPA-PSK to connect via wireless, if you enabled TKIP and CCMP using the kernel options I specified above, you should be able to use WPA without any problems.

emerge net-wireless/wpa_supplicant

Here is an example wpa_supplicant.conf file, modified to remove my personal wireless information

File: /etc/wpa_supplicant/wpa_supplicant.conf
 
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
eapol_version=1
ap_scan=1
network={
        ssid="HomeSSID"
        key_mgmt=WPA-PSK
        scan_ssid=1
        pairwise=TKIP CCMP
        group=TKIP CCMP
        psk="My private passkey here"
}
network={
        ssid="WorkSSID"
        key_mgmt=WPA-PSK
        scan_ssid=1
        pairwise=TKIP CCMP
        group=TKIP CCMP
        psk="My private office passkey here"
}
  

[edit] Configuring the Network Settings

After the wpa_supplicant setup is complete, you need to modify /etc/conf.d/net to ensure that wpa_supplicant is used on that interface

Note: I installed ifplugd to make eth2 start if the wired interface is disconnected.
File: /etc/conf.d/net
 
config_eth0=( "dhcp" )
dhcp_eth0="nonis nontp"
modules_eth0=( "ifplugd" )
ifplugd_eth0=( "--no-beep --ignore-fail --ignore-retval --poll-time=1 --delay-up=0 --delay-down=0 --monitor" )

config_eth2=( "dhcp" )
modules_eth2=( "!iwconfig" "wpa_supplicant" "!ifplugd" )
wpa_supplicant_eth2=( "-Dwext" )
dhcp_eth2="nonis nontp"

preup () {
        if [ "${IFACE}" == "eth2" ]; then
                ifconfig eth2 up > /dev/null 2>&1
                iwlist eth2 scanning > /dev/null 2>&1
        fi
}

postdown () {
        if [ ${IFACE} == "eth2" ]; then
                einfo "Disabling Wireless"
                ifconfig ${IFACE} down
        fi
} 
  

The preup entry above fixes an issue I was seeing where I couldn't associate to an AP unless I first ran a scan using iwlist.

The postdown entry above is specifically for when the interface is stopped through ifplugd. I found that the wireless LED indicator stayed on unless I actually brought the interface down.

[edit] Modifying Boot Behaviour

The next issue was that I wanted my wireless to start only if I didn't have a cable plugged into my wired interface.

First off, install ethtool

emerge ethtool

Next, add these lines to /etc/conf.d/local.start

File: /etc/conf.d/local.start
 
<non-relevant information removed here>
var="`/usr/sbin/ethtool eth0 | grep "Link detected: no"`"
if [ "$var" != "" ]; then
        #/etc/init.d/net.eth0 stop
        /etc/init.d/net.eth2 start
fi
  

[edit] Testing the Configuration

At this point, try running /etc/init.d/net.eth2 to start the interface. The Wireless Indicator LED on the top panel above your keyboard should light up. If it doesn't, press Fn-F2 to turn on the radio. You can follow the guide HARDWARE_BCM43xx if your interface doesn't connect as it should.

Note: In my particular configuration, I did not set net.eth2 to start at boot, and I modified /etc/conf.d/rc to prevent the interface from being started by udev on boot as well. This can be done by modifying RC_PLUG_SERVICES to include !net.eth2
Note: With kernels 2.6.20.3 and 2.6.20.4, my wireless speeds were terrible. But it seems that the folks running the bcm43xx project have come through again (cheers!). I created a patch against the 2.6.21-rc5 sources to my 2.6.20.4 sources for drivers/net/wireless/bcm43xx, rebuilt the kernel (since I now use it as part of the kernel, rather than a modules) and instantly I'm getting speeds around 90% of my wired connection.

[edit] Configuring X

As I mentioned when I listed my make.conf file, the radeon open source driver doesn't support my x1400 radeon adapter. Even the vesa driver didn't work as desired, I sometimes had artifacts show up on the screen, and the display was choppy. As a result, I had no choice but to use the closed source ati driver. Personally, I don't use 3D, and I have no interest in using proprietary drivers. This was an oversight when I purchased the laptop.

[edit] fglrx Driver Installation

The latest proprietary radeon driver is masked, so I added the following to /etc/portage/package.keywords

File: /etc/portage/package.keywords
 
net-wireless/bcm43xx-fwcutter ~amd64
x11-drivers/ati-drivers ~amd64
  

Then I installed the ati driver using portage:

emerge x11-drivers/ati-drivers

The one other thing I had to do was add a symbolic link for fglrx_dri.so to enable direct rendering support:

cd /usr/X11R6/lib64/modules/dri
ln -s /usr/lib64/dri/fglrx_dri.so fglrx_dri.so

[edit] Configuring X with DRI/GLX support

Here is my xorg.conf. X runs at 1680x1050 on the 15.4 inch display perfectly.

File: /etc/X11/xorg.conf
 
 Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
 EndSection
 
 Section "Files"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/CID/"
        FontPath     "/usr/share/fonts/75dpi/"
        FontPath     "/usr/share/fonts/100dpi/"
 EndSection
 
 Section "Module"
        Load  "record"
        Load  "extmod"
        Load  "dbe"
        Load  "dri"
        Load  "glx"
        Load  "xtrap"
        Load  "freetype"
        Load  "type1"
 EndSection
 
 Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
 EndSection
 
 Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
 EndSection
 
 Section "Modes"
         Identifier "16:10"
         ModeLine "1280x800"  83.5  1280 1344 1480 1680  800 801 804 828
         ModeLine "1680x1050"  214.51  1680 1800 1984 2288  1050 1051 1054 1103
         ModeLine "768x576"     50.00  768  832  846 1000   576  590  595  630
         ModeLine "768x576"     63.07  768  800  960 1024   576  578  590  616
 EndSection
 
 Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option       "FlatPanelProperties" "Scaling=Centered"
        UseModes     "16:10"
 EndSection
 
 Section "Device"
        Identifier  "Card0"
        Driver      "fglrx"
        VendorName  "ATI Corp."
        BoardName   "X1400"
        Option      "VideoOverlay"         "on"
        Option      "no_accel"             "no"
        Option      "no_dri"               "no"
        Option      "OpenGLOverlay"        "off"
        Option      "UseInternalAGPGART"   "no"
        Option      "RenderAccel"          "on"
        Option      "UseFastTLS"           "2"
 EndSection
 
 Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport   0 0
                Depth     16
                Modes "1680x1050"
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes "1680x1050"
        EndSubSection
 EndSection
  

For the most part, I use a USB optical mouse, nothing special, just 3 button with scroll, so I haven't bothered setting up the synaptics touchpad yet to use the scroll functionality it has. As a result, my xorg.conf is very basic. See the section Where to Go From Here below.

One thing that you might notice immediately is that the display stays lit when you close the laptop. Provided you have acpid and dbus set to start at boot, you can go into System->Preferences->Power Management and set the screen to blank when the lid is closed.

[edit] Results

After setting this, I now get good results from xvinfo and glxinfo. Prior to adding the symlink for fglrx_dri.so, I had no direct rendering support.

[edit] glxinfo
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_hyperpipe, 
    GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig
client glx vendor string: ATI
client glx version string: 1.3
client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, 
    GLX_ARB_get_proc_address, GLX_SGI_video_sync, GLX_ARB_multisample, 
    GLX_ATI_pixel_format_float, GLX_ATI_render_texture
GLX version: 1.2
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, 
    GLX_ARB_multisample
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Mobility Radeon X1400
OpenGL version string: 2.0.6400 (8.35.5)
OpenGL extensions:
    GL_ARB_multitexture, GL_EXT_texture_env_add, GL_EXT_compiled_vertex_array, 
    GL_S3_s3tc, GL_ARB_depth_texture, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, 
    GL_ARB_multisample, GL_ARB_occlusion_query, GL_ARB_point_parameters, 
    GL_ARB_point_sprite, GL_ARB_shader_objects, GL_ARB_shading_language_100, 
    GL_ARB_shadow, GL_ARB_shadow_ambient, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_float, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix, GL_ARB_vertex_blend, 
    GL_ARB_vertex_buffer_object, GL_ARB_pixel_buffer_object, 
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, 
    GL_ARB_draw_buffers, GL_ATI_draw_buffers, GL_ATI_element_array, 
    GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, GL_ATI_map_object_buffer, 
    GL_ATI_separate_stencil, GL_ATI_shader_texture_lod, 
    GL_ATI_texture_compression_3dc, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_float, GL_ATI_texture_mirror_once, 
    GL_ATI_vertex_array_object, GL_ATI_vertex_attrib_array_object, 
    GL_ATI_vertex_streams, GL_ATIX_texture_env_combine3, 
    GL_ATIX_texture_env_route, GL_ATIX_vertex_shader_output_point_size, 
    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_object, 
    GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters, 
    GL_EXT_rescale_normal, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, 
    GL_EXT_texgen_reflection, GL_EXT_texture3D, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_mirror_clamp, 
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array, 
    GL_EXT_vertex_shader, GL_HP_occlusion_test, GL_NV_blend_square, 
    GL_NV_occlusion_query, GL_NV_texgen_reflection, GL_SGI_color_matrix, 
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp, 
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2b 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x2c 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x2d 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x2e 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x2f 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x30 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x31 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x32 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x33 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x34 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x35 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x36 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x37 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x38 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x39 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x3a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x3b 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x3c 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x3d 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x3e 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x3f 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x40 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x41 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x42 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x43 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x44 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x45 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x46 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x47 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x48 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x49 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x4a 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x4b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x4c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x4d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x4e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x4f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x50 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x51 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x52 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x53 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x54 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x55 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x56 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x57 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x58 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x59 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x5a 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x5b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x5c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 None
0x5d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x5e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 None
0x5f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x60 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x61 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x62 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
[edit] xvinfo
X-Video Extension version 2.2
screen #0
  Adaptor #0: "ATI Radeon AVIVO Video"
    number of ports: 4
    port base: 115
    operations supported: PutImage 
    supported visuals:
      depth 24, visualID 0x23
      depth 24, visualID 0x24
      depth 24, visualID 0x25
      depth 24, visualID 0x26
      depth 24, visualID 0x27
      depth 24, visualID 0x28
      depth 24, visualID 0x29
      depth 24, visualID 0x2a
      depth 24, visualID 0x2b
      depth 24, visualID 0x2c
      depth 24, visualID 0x2d
      depth 24, visualID 0x2e
      depth 24, visualID 0x2f
      depth 24, visualID 0x30
      depth 24, visualID 0x31
      depth 24, visualID 0x32
      depth 24, visualID 0x33
      depth 24, visualID 0x34
      depth 24, visualID 0x35
      depth 24, visualID 0x36
      depth 24, visualID 0x37
      depth 24, visualID 0x38
      depth 24, visualID 0x39
      depth 24, visualID 0x3a
      depth 24, visualID 0x3b
      depth 24, visualID 0x3c
      depth 24, visualID 0x3d
      depth 24, visualID 0x3e
      depth 24, visualID 0x3f
      depth 24, visualID 0x40
      depth 24, visualID 0x41
      depth 24, visualID 0x42
      depth 24, visualID 0x43
      depth 24, visualID 0x44
      depth 24, visualID 0x45
      depth 24, visualID 0x46
      depth 24, visualID 0x47
      depth 24, visualID 0x48
      depth 24, visualID 0x49
      depth 24, visualID 0x4a
      depth 24, visualID 0x4b
      depth 24, visualID 0x4c
      depth 24, visualID 0x4d
      depth 24, visualID 0x4e
      depth 24, visualID 0x4f
      depth 24, visualID 0x50
      depth 24, visualID 0x51
      depth 24, visualID 0x52
      depth 24, visualID 0x53
      depth 24, visualID 0x54
      depth 24, visualID 0x55
      depth 24, visualID 0x56
      depth 24, visualID 0x57
      depth 24, visualID 0x58
      depth 24, visualID 0x59
      depth 24, visualID 0x5a
      depth 24, visualID 0x5b
      depth 24, visualID 0x5c
      depth 24, visualID 0x5d
      depth 24, visualID 0x5e
      depth 24, visualID 0x5f
      depth 24, visualID 0x60
      depth 24, visualID 0x61
      depth 24, visualID 0x62
    number of attributes: 13
      "XV_SET_DEFAULTS" (range 0 to 1)
              client settable attribute
      "XV_DOUBLE_BUFFER" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
      "XV_BRIGHTNESS" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_SATURATION" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_COLOR" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_HUE" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_RED_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_GREEN_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BLUE_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BLENDING_MODE" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CLEAR_BUFFER" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
      "XV_OFFSCREEN_RENDER" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
    maximum XvImage size: 4096 x 4096
    Number of image formats: 3
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x41424752 (RGBA)
        guid: 52474241-0000-0010-8000-00aa00389b71
        bits per pixel: 32
        number of planes: 1
        type: RGB (packed)
        depth: 32
        red, green, blue masks: 0xff, 0xff, 0xff
[edit] glxgears
7662 frames in 5.0 seconds = 1532.357 FPS
7630 frames in 5.0 seconds = 1525.953 FPS
7582 frames in 5.0 seconds = 1516.345 FPS
7213 frames in 5.0 seconds = 1442.527 FPS

[edit] Hotkeys

This was a very important part for me. I wanted the special keys on the front of the laptop to work perfectly with audacious. I also didn't want to use an external program such as lineak this time around. I've used it before and it worked great, but I wanted to see if there was a better way.

[edit] Volume Keys

Setting the volume keys was simple using gnome. First I set the keyboard mapping in System->Preferences->Keyboard. Under the tab 'Layouts', select the keyboard model 'Laptop/notebook Dell Inspiron 6xxx/8xxx'. After that I opened System->Preferences->Keyboard Shortcuts and set the mute, volume up, and volume down buttons through there. The Fn-* keys for volume and brightness worked immediately. As well as the Fn-ESC key (Stand By) which I mapped to Sleep in the Keyboard Shortcuts settings.

[edit] Multimedia Keys

Unfortunately, the play/pause, prev, next, and stop buttons required a little more work.

I followed the guide HOWTO_Use_Multimedia_Keys for the most part, but to speed the process for others, here's what was needed:

First install xbindkeys

emerge xbindkeys

Then create the file ~/.xbindkeysrc with the following content:

File: ~/.xbindkeysrc
 
"audacious --play-pause"
  m:0x0 + c:162 
  XF86AudioPlay 
"audacious --stop" 
  m:0x0 + c:164 
  XF86AudioStop 
"audacious --rew" 
  m:0x0 + c:144 
  XF86AudioPrev 
"audacious --fwd" 
  m:0x0 + c:153 
  XF86AudioNext 
  

Then go into System->Preferences->Sessions and select the startup programs tab. If you add the following, xbindkeys will be started when you log in:

xbindkeys

Now, when you log out, then log back into X, pressing the play button will start audacious, and the other buttons will let you control playback.

Note: If you want to use a media player other than audacious, then please follow the guide HOWTO_Use_Multimedia_Keys

[edit] Other Keys

Just as a side note, I mapped the MediaDirect key in System->Preferences->Keyboard Shortcuts to open a terminal window (Yes, I see the irony in a 'MediaDirect' key opening a terminal window).

[edit] Where to Go From Here

The following things are outstanding issues that I'm looking into at the moment:

  • Wireless is being started after I resume from suspend-to-ram or suspend-to-disk when it shouldn't be running
  • The synaptics touchpad hasn't been completely configured yet, but more information is available here: HARDWARE_Synaptics_Touchpad. I just haven't gotten around to it.
  • The following Fn-? hotkeys don't work, but I don't use them:
    • Fn-F1 - Hibernate
    • Fn-F2 - Wireless
    • Fn-F3 - Battery
    • Fn-F8 - CRT/LCD (untested, I have no external display)
    • Fn-F10 - Eject
  • Friendly USER Submission:
    • Fn-F1 - setkeycode e00a 123
    • Fn-F2 - works with no problem as long it is enabled in bios
    • Fn-F8 - works
    • Fn-10 - setkeycode e009 165
    • Media Direct Key - setkeycode e012 130
Personal tools