Thursday, November 29, 2012

Dell XPS 15 with Ubuntu

There are some exciting things going on at Dell and Canonical. Project Sputnik is going well and one of my comrades at work is thoroughly enjoying his Dell XPS 13 with Ubuntu 12.04 on it. As he says "it just works". He's not a big fan of Unity but he's getting old and questions change (^_^ love you man!). I don't mind Unity. It's getting better but that is a discussion for another time.

So Sputnik has done something that I have been dying for, they have looked at getting the Dell touch pads working sanely. They have pretty much accomplished this with the XPS13. However the XPS13 is a small laptop. Great portability and power for it's size but frankly not something I would consider a work horse like my Dell E6420. I like the larger screen and tend to have a lot going on in various windows and work spaces. For single minded tasks the XPS13 is great and works great for running two terminals side by side but doesn't fit my needs. So I am tackling the XPS15 (L521x).

Meet the Dell XPS 15:
The XPS15 is a rather powerful slim laptop. It has various configurations for purchase of which I have the high end Enterprise version but I am ordering a high end small business lappy as well due to my needs with VMs. In short more cores better option than faster cores.
NOTE: If you look at the Dell website you have to be careful as the XPS 15 is listed under large business and small business both of which have different processor options. The large enterprise version offers the i5-3320M and i7-3520M where as the small business version has the i5-3120M and i7-3612QM. (See comparison at There is also the consumer/home version is the XPS 15Z so make sure you look at all locations when you are looking for the one you want.
Overall Anandtech has done a nice write up on the small business version and I would suggest giving it a read.

Ubuntu and XPS 15.
Ubuntu 12.04 "Precise Pangolin" installed with out a hitch. Recognized wireless right away and had no issues with the Intel 4000 gpu. Working with the Nvidia GeForce GT 640M gpu was a littl more involved but I will get to that in a moment. Overall the Ubuntu install was flawless, fast, and free from major issues like I have experienced before. That said there were some small issues that were quickly remedied by having the right drivers.

One big issue that you will probably notice right away is that the track pad is on ludicras speed. It took some steady slow fingers to go through some menu's. The track pad issue was resolved thanks to Project Sputnik mentioned earlier. The XPS 13 and 15 essentially use the same mouse drivers so I added the ppa for Sputnik and this made the track pad much more resonable. The pad does take some getting used to as it is a full click pad and does away with the middle button. Depending on you mouse settings you may need to use one finger clicks to do left click and two finger click to do right click. Oh and almost forgot, two finger scrolling works both vertically and horizontally  This was a feature lacking on my E6420 that could only do vertical scrolling with two fingers.

Your next major hurdle, and it is time consuming, is dealing with Nvidia's Optimus technology. I was a little ticked at first about having to work with it and that the bios doesn't let you disable it like previous version did. However the technology has progressed and so has Linux thus making Optimus viable and helpful. What is Optimus you ask? "Optimus" allows non-3d intense apps to run on the local gpu while programs needing more power can use the Nvidia card. Thus power demand decreases based on usage. It also helps for Linux because most the Intel graphic drivers just work, especially when adding external monitors.

To get Optimus to run in Linux you currently need an application called "Bumblebee" which adds Optimus support to Linux. Ultimately Bumblebee will be included in the kernel but until then it is a separate project. Once installed there are some configuration things that need to be done all of which are covered in "Bumblebee's" documentation/FAQ for how to install it. Once in place you should be able to run "$ optirun {command} " and that application will render using the Nvidia card instead of the Intel 4000.

One gotcha I ran into is that you essentially have to remove "bumblebee" and install it again should the kernel change. Hopefully that will all be taken care of in future versions.

Pain Point and Deal Breakers
There is some setup that you need to do to get Ubuntu to run correctly on the XPS15. It is a little more than what you would do with E6420, however it is doable and once done the system works well and I had few issues. However, the two issues I did run into are show stoppers.

While typing I would often send the mouse flying or inadvertently click on something. After using the XPS15 for some time I switched back to my E6420 only to suddenly realize why I had such issue. The XPS15 essentially centers the larger trackpad on the "H" key thus shifting the normal location over and with the added size means it is constantly near my palm. If you use proper typing techniques with the home keys then hitting the 6,7,y,h has the strong potential of hitting the trackpad and causing an inadvertent click. The "disable as you type" feature helps some but not enough.

The second issue is with the heat generation. This comes in two forms; cpu and gpu, both caused by pushing the graphic's capabilities of the system even slightly. Minecraft and League of Legends work well on my E6420 but slaughtered the XPS15 due to heat. The only fixes I found for this was a firmware updated that essentially clocks the GPU down which invalidates any reason to purchase such hardware.

On paper this system has great CPU, GPU, and memory capabilities. Regretfully it doesn't survive the real world which is to bad because I really wanted to like this laptop, but given the track pad placement and heat issue I will have to wait till the next model from Dell to see if the correct the issues.