Ubuntu Linux on a Dell Latitude D610
Page started: Sunday August 14, 2005
Last update: Tuesday, May 22, 2007
Current Distribution: Ubuntu 7.04 “Feisty Fawn”
Notebook acquired on: Thursday August 11, 2005
This is my work notebook, provided by my employer. I’m dual-booting with XP pro (standard image), but spend 95% of my time using Linux.
I’m coming from the Debian world, so I’m quite confortable with Ubuntu, which I chose for its more polished desktop and more recent packages (kernel, x.org, GNOME, etc…). The Ubuntu kernel guys even managed to produce the first 2.6 kernel I tried that made my Firewire disk work for any period of time!
Everything works under Linux on that machine!
So I will not spend pages and pages explaining how to make things work from scratch, it would be quite useless. I removed all the info for the previous releases of Ubuntu and left only a few configuration specifics.
- Hardware specifications
-
- Model: Dell Latitude D610
- Processor: Intel Pentium M 760 – Dothan – 2 GHz – 2 MB Cache – 533 MHz FSB
- Chipset: Intel 915GM – ICH6 – Sonoma Centrino
- Memory: 1 GB 533 MHz DDR2 Dual Channel in 2 SDRAM modules
- Hard-drive: 80 GB – 5,400 RPM – Fujitsu MHV2080AH – UDMA133 via S-ATA controller
- Optical drive: Single Layer DVD±R/RW burner – Sony DW-D56A (OEM Liteon SOSW-852S) via S-ATA – 8X DVD – 24X CD
- Wired network: 10/100/1000BaseT Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express
- Wireless network: Intel PRO/wireless 2915 A/B/G
- Bluetooth: Dell Truemobile 350 via USB
- Video:Intel Graphics Media Accelerator 900 with up to 128MB shared1 graphics memory
- Display: 14.1″ SXGA+ (1400×1050) active matrix (TFT)
- Audio: Intel AC’97 with Sigmatel STAC9750/51
- Internal modem: Intel AC’97 with Conexant chip
- Ports: 4 USB 2.0; S-Video; VGA; Serial; Parallel; Infrared; Ethernet(10/100/1000); Modem; Audio In/Out; 1 Type I/II PCMCIA
- Security: Integrated Smart Card Reader and integrated TPM Security Chip
- Desk docking: D-port with DVI video and D-view
- External screen: Dell 2405FPW LCD, 1920×1200
- Getting the correct resolution
The Intel video BIOS is buggy and doesn’t have the 1400×1050 mode available by default. So, if you want to use the internal flat panel correctly, you will have to use a tweak to patch that correctly.
You have to use 915resolution, available in Universe. It comes with full complement of documentation, configuration files and startup scripts, even with an automatic mode.
Because I had already some legacy and I am running 2 screens and need to patch 2 modes, I have built my own configuration files and startup scripts. You do not need them, just edit the files provided by the package, but here are my configurations files, for information:
You will notice that I am changing two modes, one for the built-in screen, one for the wide 24″ external LCD.
- Dual displays
Xinerama works! I have 2 screens: built-in LCD at 1400×1050 and a Dell 2405FPW 24″ LCD at 1920×1200 on the D/Port’s DVI port, both 24bits.
Then, in order to get the panel’s native resolution I had to use the following Monitor section, with a custom Modeline, like in the good old days…:
Section "Monitor" Identifier "2405FPW" DisplaySize 519 324 HorizSync 30-81 VertRefresh 56-76 Option "DPMS" Modeline "1920x1200" 154 1920 1968 2000 2080 1200 1203 1209 1235 EndSection
I came up with this Modeline after reading an article in the x.org Wiki. I only understood why it is needed and what it does when reading Tucker Sylvestro’s comment. Thanks!
Xinerama disables DRI, though, and it doesn’t desactivate properly when the laptop is undocked. I have kept a separate xorg.conf file for single screen/DRI.
- Automatic discovery of docked and undocked status
This status is quite practical to know, especially at boot time, before X starts, in order to adjust its configuration with or without Xinerama.
There is no meaningful or consistant hardware difference between the two states that an lspci -vvv can show.
This is where the package read-edid becomes handy. It provides tools (get-edid, parse-edid) that can query attached monitors using DCC.
A friend (Thanks Guillaume!) created a startup script that will query for an external monitor and link the /etc/X111/xorg.conf file to the correct one (single or dual screens).
Copy the script to /etc/init.d/ and register it
$ sudo update-rc.d amidocked defaults 12
As root run the following command:
# get-edid 2>/dev/null | parse-edid 2>/dev/null | grep Identifier
and edit the startup file with the proper string.
You need to have generated the proper xorg.conf-something for single or dual-screen setups.
The startup script can be used for many other things depending on the docking status, or not… I extended the startup script to change the background, for example.












[...] To begin with I tried to have the xserver figure out the best resolution, depth etc. which it normally does just fine. But I think it can’t cope with my 15.4″ laptop screen together with my 19″ external monitor. So strongly inspired by a somewhat similar setup I found out that I had to set it all myself. So below you can see my full /etc/X11/xorg.conf file. [...]
Okay, who’s going to be the first to try doing an apt-get dist-upgrade to move to Dapper? I’ve customized using software suspend and am hestitant to change what’s currently working
Mark,
I have done the dist-upgrade more than a month ago.
No problem to declare, none at all. Suspend-toRAM still works, even the dual activation because of the LCD lid button has been fixed.
I have to say that Dapper requires ZERO customization of trick anymore, even 915resolution exists as a package, in a clever fashion.
I just have my dual-screen setup and the auto-detect trick there, but this is far from standard.
Dapper on the D610 Just Works ™ !!!
Nico
Interesting…
I just did an install of dapper onto another partition (yes, I am paranoid) but it left me with 1280×1024 resolution. Where does the 915 stuff live?
Mark,
915resolution is in universe.
Nico
Mark,
btw, I did not go through a basic
apt-get dist-upgrade, I used the Update-Manager.It works best when you have the [u|xu|ku|edu]buntu-desktop package.
Nico
Good stuff, thanks! I’m still running my breezy install until I get most of the dapper things figured out. Then I’ll try the Update Manager and see how it goes. It is my work environment and I cannot afford lost productivity
Hey again! Just playing around with dapper and noticed it’s got the xgl stuff as a package, so I thought I’d try it out, but it’s complaining about:
Couldn’t open RGB_DB ‘/usr/share/X11/rgb’
Seems I’m missing a dependancy somewhere. Anyone have any ideas?
And once again, the default swswap in the vanilla kernel just does not work for me. It goes through the motions of hibernating, but never writes anything to disk and then resumes right away. Suspend to ram works, just not hibernate. I do not know what is wrong.
Je suis enfin libre !…
Suite à l’acquisition d’un laptop dell D610, j’ai enfin décidé de me basculer de windows vers Linux, ceci pour différentes raisons:
pour être libre (d’esprit)
pour cesser de m’inquiéter sur la santé de mon système
me débarra…
hello
I am new to this and need help.
installed ubuntu 6.10 rc
I have dell E1705. It has intel 945GM express chip for display.
In XP the res is 14990 x 990 color quality 32 bit works fine.
I get the following error :
EEI810 : no vedio BIOS mode for chosen depth
EE screen(s) found , but none have usable config
how can I fix this ?
thanks
randiz
I have a Samsung which also has the “Intel AC’97 with Sigmatel STAC9750″. Since I installed Linux (Kubuntu 6.10) my microphone isn’t working anymore. Internal and external speakers are working great but the mic isn’t working at all. It doesn’t matter if I try to use the internal or if I plug in another one.
Does anyone have an idea how I could solve this problem?
You mentioned in your article, that your sound is just working fine. Did you also try a mic?
thanks
Thomas
great page for xorg.conf for the Lat D610
however the files you link to do not exist…..
can you host them some that is publicly available?
I have the same problem… the mic is not working with the lat D610 – Ubuntu 7.10
((