The Lenovo W530 with Optimus Technology and Linux

Recently my 2008 Mabook Pro died.  Although I ended up fixing it as documented in this HOWTO I had been searching for a new laptop anyway and this was just the catalyst I needed to make a move.  After some searching I came across the Lenovo W line.  The machines appeared to be built tough, pack plenty of power, just light enough to carry around on occasion and support Linux fairly well.  I settled on the W530 with mostly stock specs and an upgraded full HD screen.

Out of the box the machine runs really well.  I’ve played with Arch, Archbang, and Ubuntu and everything is (of course) quite snappy.  The only real issue with this machine is its graphics card, which runs Optimus technology; a poorly named feature that means: “optimal use of graphics card considering battery life”.  Essentially software will decide when to turn on the power hungry NVIDIA discrete graphics card.  I spent many hours trying to figure out how best to setup Linux to use the graphics card in this machine.  Hopefully my thoughts will save you some time or aid in your decision to purchase or not purchase this machine.

On the W530, you may select whether you wish to use the discrete, integrated, or optimus graphics in the BIOS.  This is a great feature of this machine, and although you might expect that its availability is ubiquitous among laptops, some of the forum postings I have read lead me to believe that this is not the case.  Anyway on the W530 we can avoid configuring and installing anything related to Optimus simply by selecting either the NVIDIA “discrete” graphics card or the Intel “integrated” graphics.

If Optimus technology is desired, there is an open source project called Bumblebee that will allow you to start applications so that they use the discrete graphics card (in this case you would select Optimus in the BIOS).  Installation instructions are available for most major Linux distributions.  On Ubuntu I was easily able to start Minecraft in this manner.

Now for the quirks:

1.  The Nouveau open source graphics card driver does not offer OpenCL support (and will fall back to software rendering) for the NVIDIA series code named “Kepler” which includes the K1000M and K2000M, one of which is included in the W530.  See the Feature Matrix.

2.  The NVIDIA proprietary drivers work quite well (and include OpenCL support) unless you are running Kernel 3.10.  This is not an issue for many distributions but is causing a serious headache for Arch Linux and other users on bleeding edge Linux distributions.  See the Arch Linux forum post and the NVIDIA forum post.  NVIDIA claims this issue will be resolved on the next driver release.

3.  The VGA output is wired into the discrete graphics card, which means you must be running this card to use multiple monitors.

The last quirk I never got to the bottom of.  I observed that when I ran the graphics in Optimus mode under Ubuntu I *could* use an external monitor, but the screen settings were hard to nail down and the cursor left a trail behind it.  In any case it felt clumsy so I didn’t investigate further.

Given these quirks, what is the result?  For my use case, I will never need to use an external monitor without a power source, so selecting discrete graphics at start up is fine.  When I am out I can use Bumblebee, although I have not found a real need as I rarely employ graphics intensive applications.  I use Ubuntu and Arch, and for now will be booting Arch with the integrated graphics.  Sooner or later either NVIDIA will fix the issue or Nouveau will support OpenCL.

All in all this is an amazing machine.  I am most impressed by the build, as nice specs are not hard to come by.  Its screen is beautiful, Its keyboard has a great feel and has 3 back-light settings, and the laptop as a whole is highly upgradeable.  If you can deal with a few graphics card quirks this is a stellar Linux laptop.


Bake your Macbook Pro Back to Life

A little over a month ago I put my Spring 2008 Macbook Pro to sleep and it never woke up.  For anyone that works with computers for a living this is quite devastating.  This standard level of devastation was amplified by the loss of my Saturday afternoon habitat of streaming tennis matches on the Macbook.  About 4 hours later my girlfriend broke up with me over text message, which really threw salt in the wound.  Tough day.

I did some troubleshooting and quickly realized the logic board was toast.  The tell tale sign here is that if you remove the RAM, the firmware will beep at you on start up.  No beeps, no firmware, your logic board is in trouble.  Note this is not the first time my Macbook has had issues.  Check out this trackpad failure post which includes *more ranting*.

Relationships can be fixed and so can your Macbook.  There are a few things that may have happened to your board, most of which involve solder cracking due to high temperatures.  If you believe this to be the case and you have a Macbook Pro from the Spring 2008 era, you might try bringing your board to an even *higher* temperature to re-solder everything back into place.

Here’s HOWTO:

1.  Remove the logic board from your Macbook Pro.  The instructions vary by model and can be found on ifixit.  Make sure to peel off any stickers, those little plastic screw guides, the bumpers on the ports, and clean the thermal paste off of the chips.

NOTE:  I tend to use whatever I can to get a job done.  In this case that meant using incorrectly sized screwdrivers.  This is one situation where being a hack caused me some real trouble, and I highly recommend you buy exactly the sizes you need.  Ifixit lists the tools you require and these can probably be obtained at your local Home Depot.

2.  Inspect your oven for cakes, pies, and roasts.  Remove these.

3.  Mount your logic board on some aluminum foil elevated above a baking sheet to avoid direct contact.  I made a few half inch balls of foil, placed them on the baking sheet, and then put a sheet of foil on top.  This ensures the logic board does not touch the (soon to be) very hot baking sheet.  Also consider making a little cup of foil and dropping some solder in.  This will act as your “canary”.

Logic Board

4.  Preheat your oven to 375 degrees F.

NOTE:  My oven is a very non-digital natural gas based device, so your crappy oven will probably work too.

5.  Set a timer for 7 minutes and 30 seconds.  Place the logic board on the middle rack and start the timer.

6.  When time is up remove the logic board.  If the solder in the cup has melted, you’re probably good to go.  If the board is on fire you can skip to step 12.

7.  Let the board cool off for 10 minutes.  Have a beer.

8.  Put your Macbook back together, making sure not to forget the thermal paste.

9.  Take your Macbook back apart and put the little plastic screw guides that you forgot back on the logic board.

10.  Put the Macbook back together.  Really you can leave the topcase off with just the ribbon cable connected if you like.  Probably not a bad time to ensure the fans still work.

11.  Press power.  Hopefully everything will start up!

12.  Begin researching new laptops as this fix has been reported to only last ~4 months and Apple isn’t cool anymore anyway.  I recommend the Lenovo W530 with Arch Linux.