Wednesday, March 23, 2011

Ubuntu Natty on Lenovo ThinkPad X120e

If you've read my earlier post regarding Maverick on this machine, you'll know I ran into a few annoying issues.

The biggest problem was that my Broadcom wireless driver kept getting deactivated with every reboot, so I decided to try installing Natty instead.

The first issue I ran into with Natty was that the installer kept crapping out before the partitioning phase with an error about ubi-partman failing to start due to error 141. There are a couple of Launchpad bugs filed for this error, but a claimed fix that was checked in a few days earlier did not seem to help things. What fixed me up, though, was using the alternate install image, which uses an ncurses-based installer rather than the fancy Ubiquity installer.

So, moving on, everything installed fine and, upon booting into the new system, the hardware driver manager detected my wireless card and recommended the proprietary Broadcom SLA driver. Click to enable, reboot and wireless should be fine and dandy.

If you opted for the default Ralink card, it should be detected and supported out-of-the-box, without even needing to consult the driver manager.

By default, the system utilizes the open source "radeon" driver, with 3D support provided by the Gallium3D backend. This should be fine for light 3D duties, such as Compiz, though it does have a show-stopping bug that will cause crashes, loops and reboots under heavy stress, such as 3D games. As long as you don't play any games, though, you should be fine. If you want to play games and/or use video decoding acceleration, you'll have to install the proprietary Catalyst driver, but it is not yet compatible with the X Server included in Natty. This will be resolved before final release in April.

At this point, my system works pretty well, except for an odd dependency hell issue that is preventing Unity from installing/running because of some Compiz virtual package conflict B.S., though I suspect this will be sorted out in a couple of days. UPDATE (3/23/11): fixed now.

I haven't tried suspend/hibernate yet, but will update with results as soon as possible.
UPDATE (3/23/11): waking from suspend seems fine, though my notification stuff isn't updating (wireless is showing that it's disconnected, even though it's not, etc). Hibernate, in contrast, seems totally b0rked. It just sits there blowing its fan and blinking the sleep LED on the front edge until you do a hard poweroff. :(

UPDATE (4/1/11): To get multitouch working on your trackpad, install the package gsynaptics (not to be confused with the synaptic package manager):
sudo aptitude install gsynaptics
and then type:
You should be able to enable two-finger scrolling from the trackpad menu. While you're there, you can configure the navigation nub for mousewheel emulation, if that's what you're into.

Everything else I've tested, including audio and webcam, work just fine. Even the function volume keys work.

Things I haven't tested:
audio over HDMI

The middle scroll button works too, it just takes a little configuration.


Jon R said...

Thanks for posting this stuff about the x120e. I'm am Ubuntu user that's been looking forward to using it on this system, but a lot of the stuff is too complicated for me.

Could you explain this:

"What fixed me up, though, was using the alternate install image, which uses an ncurses-based installer rather than the fancy Ubiquity installer."

Where could we go about downloading this image?

Hunter K. said...

Hi Jon R, you can get it from here:

I used this one, specifically:

It's a little less user-friendly than the normal installer (especially the partitioning phase), but everything is essentially the same.

If you run into any problems, let me know and I'll try to help.

Jon R said...

Thanks for the link. I had some issues with install, when I rebooted it gave me the Unknown GRUB error (couldn't do anything on startup) so I reinstalled 10.10.

The 11.04 partition is tiny now, but works. I was able to get wifi working, but the graphics card still isn't being recognized. When I go into additional drivers it only shows the broadcom wifi driver.

Also, what do you think about the new layout? I can't seem to add new panels or change the enormous panel on the left side. I definitely preferred the interface of 10.04 and earlier.

Hunter K. said...

sucks about the GRUB thing, but at least you have it working now. As for your graphics, the open source driver that it enables automatically will give you enough 3D acceleration to run Compiz and Unity (the new interface). The proprietary fglrx driver will eventually be available to provide better performance and hardware accelerated video decoding, but it doesn't support the new X Server yet (which is why it doesn't show up as a compatible driver).

I hated Unity when I first tried it with Maverick, but it's grown on me since then. I still don't *love* it, but it's tolerable for me. I just hope they bring back some sort of applet interface (I've grown rather dependent on the cpu frequency and weather applets).

pete said...

Hi there,

I'm having trouble using the alternative-amd64.iso (alpha3) - it complains about not detecting a cdrom drive and won't let me continue. I've found this and followed it's advice about using different tools to create the USB stick, but no avail - has anybody else had this problem?

pete said...

I've fixed my problem - I formatted my pen drive and used usb-installer.



pete said...

Beta's just released so I tried both. I still had to use the alternative installer, as the normal one didn't work!

But the alternative installer worked like a charm, I'll provide a list of missing features later off the top of my head I noticed the multi touch track pad wasn't enabled.

Hunter K. said...

Hi Pete, glad you got everything installed! :)

I updated the post with some trackpad stuff, so let me know if it works for you.

light24bulbs said...

Thank you so much for this post, and for updating it frequently. Perhaps not many IBM users install Ubuntu. Do you have compiz with 3d effects running? Effects I select do not work.

Hunter K. said...

Yeah, Compiz is working fine on my machine. Have you installed compizconfig-settings-manager (ccsm)? Since Maverick, Compiz went through a major rewrite and many of the old plugins are gone. However, you can still enable wobbly windows and the desktop cube (my personal favorites) via ccsm.

Anonymous said...

Thanks for all the info of this post. I ran into some issues, it might help some people. I have installed the modified bios with whitelist disabled (to use an intel wifi ultimate 6300 mini pcie).
I have tried to install Ubuntu Natty from a usb stick, but it did not work (tried Uefi & legacy, desktop & alternate AMD 64 bit).
What worked for me was burning the Ubuntu alternate iso on a disc (Uefi bios on) and using a USB dvd for the installation (U3 usb stick with cdrom emulation might work, not tested).
It works well so far, installed gsynaptic (multitouch works way better than under windows, btw). Bluetooth, wifi (Realtek), webcam, sound works out of the box but bad sound quality in skype (installed apt package 64 bits).
I tried to install fglrx ati driver, finished the installation but Ubuntu crashed after that so I deactivated it.

Anonymous said...

When I tried to install Natty Beta 2 from USB stick, I ended up with a non-booting system which was giving me this from Grub:

"error: invalid arch independent ELF magic"

I've posted to the Grub mailing list for help and am waiting for a reply:

Ryen said...

So everything seems to be working fine for me with 11.04 except my headphone jack. If I throw my headphones in my x120e just ignores them and continues to play through the internals..

Any ideas?

Hunter K. said...

hmm. I'm not having that problem. Do you have a Windows partition where you can check to make sure the hardware is functioning properly?

You might also check alsamixer and see if your headphones are recognized properly/unmuted/etc.

You might also consider compiling an updated ALSA driver from source if nothing else helps.

Casey said...

I've tried a couple times unsuccessfully to install Natty as a dual boot with W7 on the x120e, using the alternate installer on a USB key. I am using the manual partitioner and setting up separate partitions for /, /home and swap. I am using Easy BCD to write a file to the MBR to control the boot process. The Windows boot menu allows me to boot into Windows when I select it, but when I select Ubuntu nothing happens.

I didn't set the boot flag on any of the Ubuntu partitions, is that the problem? If I try to set the boot flag on the / partition though, I get an error about that partition not being a primary one. (With W7 taking up three partitions (bootloader?, Windows main, Windows rescue), I don't think I can set up another primary partition.

Any suggestions very much appreciated.

Hunter K. said...

Hi Casey,
Have you tried using regular ol' GRUB? It works fine for dual-booting on my machine.

Casey said...

I'm open to just using grub. In fact, I was thinking that the Ubuntu installation would have overwritten the Easy BCD file on the MBR, but it doesn't look like it worked. Could you tell me specifically how you partitioned your drive for dual boot install, including any specific grub installation instructions? Thanks.

Hunter K. said...

I have a single logical partition after the Windows7_OS partition and before the Lenovo_Recovery partition. This logical partition (/dev/sda4) contains my /, /home and swap partitions (sda5, 6 and 7, respectively).

The Vista bootloader, which is being used currently on your system, can't boot logical partitions, IIRC, so it'll have to go if you want a partition scheme like mine. You should be able to install grub2 without doing a full reinstall of ubuntu by following these directions:

For further reading on grub2, this is a great resource:

Good luck and let me know if you run into problems.

Casey said...

Hi Hunter,

Thanks for your posts on this topic and for the links above. I *mostly* have a W7/Natty dual boot working on my x120e now. I created a bootable usb key of the alternate installer and reinstalled Ubuntu just to be safe. Still had problems booting into Ubuntu, so I booted into the recovery option of ubuntu and updated the grub config, then restarted. Then I could boot into either Ubuntu or W7. (Booting into Ubuntu is very slow, however, with a quirk I note below.)

Now when the laptop boots I get a grub boot screen offering choices of which system to boot into. Ubuntu is listed first, of course. If I choose the first W7 option (on the first (MBR?) partition) I'm sent back to the grub boot menu. If I choose the second option on the Windows root partition, I am sent to the Windows boot manager screen. I then choose Windows and W7 boots. This suggests to me grub did not overwrite the MBR completely, as the Windows boot manager menu was a result of Easy BCD writing to the MBR during my previous installation attempts.

I also get a strange behavior that is irritating. If I restart the laptop from W7, I am sent to the grub boot manager screen. Choosing Ubuntu results in a black screen and the computer never boots. Then if I do a hard shutdown and restart, booting into Ubuntu works. If I shutdown normally from W7, then bootup, I can also boot into Ubuntu. I can live with this quirk, but it doesn't lend confidence that my boot process is very robust. It would be nice to clean things up.

So I have a couple questions remaining.
Is there any way to write grub to the root partition of Ubuntu? When tried to make the Ubuntu root partition bootable during the installation, I received an error message about not being able to make a logical partition bootable. If I could do this, I could use Easy BCD to write a clean MBR for booting into either W7 or Ubuntu. (Right now Easy BCD cannot write a file that allows booting into Ubuntu. If I choose Ubuntu on the Windows Boot Loader screen, I'm just sent back to the grub screen. Choosing Ubuntu at that point results in a black screen.)

Alternatively, is there I way I can reinstall grub to wipe away all other boot instructions on the MBR? This way I could use grub exclusively to choose between OSs. I think it would speed up boot time, eliminate that restart quirk and make everything more robust.

Thanks again for your help.

Hunter K. said...

Hey Casey, glad you got it working. Unfortunately, the issues you described are actually present on my machine, as well.

The GRUB-lists-2-Win7-partitions thing has to do with the way Win7 does bootloaders now and I don't think it can really be avoided, since Win7 seems to require it (the new layout actually broke a bunch of things I use at work, like using PartImage in deployments, so it's not an isolated issue). If having the 2 entries for Win7 bothers you, you can remove the bunk one from the list (without actually deleting it) by changing your GRUB configuration (though I forget how, exactly... maybe in one of those links I posted before).

As for the first-boot-fails-second-works-fine problem, I have no idea what's going on, so if you find anything out, plz let me know so I can fix it on my machine, too :P

If you set GRUB to boot Ubuntu with the 'verbose' flag, it should hopefully tell you what's hanging things up.

Casey said...

Hi Hunter,

Have you noticed any issues with the right trackpoint button (immediately above the trackpad) being flaky, i.e. not working consistently? Turning off the trackpad seems to help somewhat, but the responsiveness of the right button is still nowhere where it should be on my x120e. Thanks,


Hunter K. said...

Hi Casey,
No, mine seems fine. That sounds like a hardware issue to me. Luckily, our X120es are well within their warranty :)

Do you have a Windows partition you can compare it with? If not, maybe try a live CD from a non-Debian distro and see if it still acts up.

Analytics Tracking Footer