Skip to content

Laptop

Upgrading the CPU in a Dell Studio XPS 1640

While the default Dell Studio XPS 1640 is fast and is a decent work laptop, it needed to do one extra thing, run virtual machines (VMs). I spend a lot of my time debugging, hacking and otherwise trying to make software behave in ways that the developers had not intended.

Tools like VirtualBox, VMWare, Xen and QEMU make this job less tedious. The problem is that with the Intel T7350 CPU, I cannot run 64 bit VMs. Turns out that T7250 is a 64 capable chip, but without the VT-x extension which allows for hardware assisted virtualization.

Look your Intel CPU up to see if it supports the VT-x flag. It turns out upgrading your CPU is relatively easy as Dell did a good job in designing the laptop. The instructions are all in their online service manual.

Replacing CPU in a Dell Studio XPS 1640

The only hard part is figuring out what CPU is compatible and then buying it. Thankfully my company had no problem ordering an upgrade and after the first successful attempt, they ordered more for my other colleagues as well.

When picking an upgrade CPU, you must find one your motherboard supports. Your best and most compatible guess is to choose one in the same family as your own CPU, essentially a later model. Since the T7350 has a 1066 front side bus (FSB) , 45nm process and takes 25W, it is then easy to find a similar CPU with those values but at a much higher clock rate and L2 cache, and most importantly, VT-x flag.

Wikipedia has a list of all mobile processors that have the VT-x flag.

  • Mobile Core 2 Duo T5500, T5600, T6670, T7100, T7200, T7250, T7300, T7400, T7500, T7600G, T7700, T7800, U7500, L7200, L7300, L7400, L7500, L7700, U7500, U7600, U7700 (Merom)
  • Mobile Core 2 Duo SU7300, SU9300, SU9400, SU9600, SL9300, SL9380, SL9400, SL9600, SP9300, SP9400, SP9600, P7350 (mac),P7370, P7550 (confirmed), P7570, P8400, P8600, P8700, P8800, P9500, P9600, P9700, T8100, T8300, T9300, T9400, T9500, T9550, T9600, T9800, T9900 (Penryn)

A successor of the T7350 (Merom-2M) is the P8700 (Penryn-3M) and fits all my requirements to fit in the laptop. It is faster and more importantly has the VT-x flag and is easily found online for very cheap.

The installation went without incident and upon reboot I entered the BIOS and enabled the "Hardware Virtualization" option. Saved and rebooted, Virtualbox finally gave me the option to create and run 64-bit VMs.

An additional note: Updating (Flashing) the BIOS is not necessary. The BIOS checks to see if the CPU has the flag or not and will not display the "Hardware Virtualization" option if the CPU does not support it.

Ubuntu Karmic 9.10 on Dell Studio XPS 1640

The very first thing I did when the company I work for gave me a laptop, a Dell Studio XPS 1640, was to install Ubuntu Karmic on it. No need for windows on this thing, I plan on working, not playing.

karmic 9.10

Dell is very good about their laptops. Whenever I had a question, everything I ever needed to know about their hardware I could easily look up on the online. The 1640 is no exception with their manual. The setup:

  • Intel Core2 Duo: T7350
  • 4GB of DDR3 ram
  • Radeon Mobility HD 3670
  • RV635 Audio device
  • Intel Corporation Wireless WiFi Link 5100
  • BCM5784M Gigabit Ethernet
  • Intel 82801I (ICH9 Family) Chipset
  • Intel ICH9M/M-E SATA AHCI Controller
  • WesternDigital WD3200BJKT-7 320GB Harddriver
  • TSSTcorp DVD+/-RW TS-T633A, D600

Key Elements:

  • Ubuntu Karmic 9.10
  • typical development setup (build-essentials)
  • Skype
  • fglrx
  • Virtualbox
  • ext4 filesystem

The install happened in September 2009, but I felt it best to share what I went through before going to Ubuntu Lucid 10.04. The install itself went without a problem, everything loaded up fine. At the time, I was using the 'ati' xorg driver. I attached a separate monitor (Dell 23") and configured it using the Display Preferences tool to be one big desktop. This gets a little weird with one monitor being 1920x1080 and the laptop LCD at 1366x768 but what happens is that it creates a virtual desktop size that covers both screens with a little cut-off at the bottom (or top) of the laptop LCD screen. I wanted to switch over to the fglrx driver for it's 3D acceleration but immediately came into a problem in that my screen setup above would just not work. I hunted through forums and documentation but eventually with some guess work, I managed to get the big virtual desktop setup and fglrx to work together. Here is my modified: /etc/X11/xorg.conf

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL S2309W"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "LCD"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 76.0
    Option         "DPMS"
EndSection

Section "Screen"
    Identifier  "Configured Screen Device"
    Device  "Configured Video Device"
    DefaultDepth    24
    SubSection "Display"
        Virtual 3840 2160
    EndSubSection
EndSection

Section "Module"
    Load    "glx"
EndSection

Section "Device"
    Identifier  "Configured Video Device"
    Driver  "fglrx"
    Option "AccelMethod" "exa"
EndSection

Section "ServerFlags"
    Option "RandR" "on"
EndSection>

The benefit of this setup is that I was then able to turn on compiz for a compositing windows manager. I use normal, I do not need the flashy effects. System->Preferences->Appearance->Visual Effects->Normal It worked seamlessly across the two screens and the openGL programs worked flawlessly. So there you are, everything worked out of the box on the laptop except for the ability to have an additional monitor. Even that was fixed with a bit of hacking. Aside from it's looks, it is a very nice desktop replacement. Everything just simply works.

Debian 4.0 on Dell Latitude D505

So tried my hand at getting Linux up and running on a hand me down laptop that I'll be doing a lot of work on. It is a Dell Latitude D505 with 1.2 Gigs of DDR ram, 1024x768 15in LCD, Pentium-M 1.5Ghz, Intel based wireless (802.11b), 120Gig Drive, and Intel based video card.

Started off wired to the Internet, Debian 3.1 install CD, linux26 install and everything was smooth sailing during install process. I selected http for getting my apt sources, wrapped up the install, rebooted. Once logged in, I immediately added testing and performed a aptitude dist-upgrade. This bumped me up to Debian 4.0. I installed the latest kernel 2.6.22 as it comes with the ipw2100 driver automatically. The earlier kernels do not and require you to compile yet more source code. The first hurdle (and reason why Debian still isn't ready for your mum): Even though the ipw2100 module loads, it can't bring the wireless card online without a firmware. Well, you're in luck because someone out there is providing it for us but Debian won't do any of the work for you.

http://ipw2100.sourceforge.net/firmware.php

Go there, agree to their EULA, and download the latest firmware. Unpack the contents into your /usr/lib/hotplug/firmware and you should be good to go.

By this time you may be wondering else you will need, so I suggest (because it works) to do a aptitude install wireless-tools which will make life a lot easier for you when setting up your wireless connection. Up to you have you want to do it, I installed gnome and had it's network tool handle everything.

Now if you are a road-warrior and gnome and iwconfig takes to long, there is another tool that you can use called Wicd.

http://wicd.sourceforge.net/

It is simple stupid to install and use, works great and remembers your keys when you are hopping around. I only wish gnome's network tool was that smart. (Hint Gnome Devs)

Now, basically everything on the laptop works marvelously well, except the Lid issue. While in X (Xorg), if you close the lid the system will hang. I have the A11 bios update, which is known to cause all sorts of crap. I haven't yet had the chance to downgrade to A09 yet, but I may. A stupid hack around this is to dump to console (ctrl-alt-f1) and close the lid. When you want to go back, open lid and press (ctrl-alt-f7) to get back into X. If anyone else has suggestions to get past this, please let me know. I just want the LCD to go off and on when button is depressed.

So all in all, a success with a few minor flaws. I'll add more details as they creep into my mind.