I have a ThinkPad W701ds and can say it is close to fully-functional on Ubuntu 10.04 Lucid. I had a miserable time pulling together the information necessary to get to that point, but it's running like a champ now and I will try to provide some sort of documentation to that end.
The major issues encountered were graphics (NVIDIA), grub (fakeRAID), and suspend (USB3). Both 10.10 Maverick and 10.04 Lucid were attempted and in either case the problems start immediately.
The W701ds has a second screen built in and the Ubuntu installer apparently takes quite a liking to it. Once the initial "keyboard = human" logo does its thing, the boot process will move from the primary display to the secondary, even if the secondary display is closed. It also treats the secondary display as a horizontal screen rather than vertical (which is to be expected, I suppose), so text will begin scrolling sideways before it is replaced by a sideways graphical boot. The CD drive will make amusing noises for a few minutes and then stop. It appears at this point that the boot has frozen, but it is only the display. Moving the secondary display a little (go to open it if it is closed, close it a little if it is open) will cause the lights to come back on and the primary display will give you the option of a live boot or install, either of which will work fine at this point.
I chose to just install and manually partitioned the fakeRAID array (RAID0) with /boot, /, /home, and swap partitions. No issues were encountered until it came time for grub to be installed on the MBR. 10.10 pretended to install something onto the RAID MBR and 10.04 kept using /dev/sda regardless of the device selection. Neither worked upon reboot.
If a grub prompt appeared at all on boot, it was possible to fiddle with root, linux, and initrd commands in grub to boot the new installation, but the solution that seemed to work best was to go back to the live CD and "Try Ubuntu" rather than selecting install (minding the secondary display issue again). Once there, grub could be installed to the RAID array with something like the following in a terminal:
Code:
$ sudo mount /dev/mapper/isw_RAID02 /mnt/
$ sudo mount /dev/mapper/isw_RAID01 /mnt/boot/
$ sudo mount -o bind /dev /mnt/dev
$ sudo chroot /mnt/
$ sudo grub-install /dev/mapper/isw_RAID0
The "bind" option can be used on other system filesystems, if necessary (/dev/pts, /sys).
Another reboot and grub should load Ubuntu without any intervention, at least in 10.10. My experience in 10.04 was that the nomodeset option had to be added (this is for NVIDIA video cards) to the boot options at times. If the boot sticks at a black screen and will not continue (I still get a black screen on boot now, but it is temporary), reboot, hold Shift to enter the grub menu, press "e" to edit the kernel arguments, and type "nomodeset" without quotes right before or after "quiet splash" and then Ctrl+X to boot it. X/GDM should then load, allowing login to an account.
10.04 and 10.10 then diverge further. In 10.10, proprietary NVIDIA drivers were installed without a hitch. In 10.04, no driver from the repository would work, regardless of the kernel selected. The latest from nvidia.com had to be downloaded and installed. I did this after running "sudo apt-get purge nvidia-*" and adding blacklist entries for vga16fb and nouveau to /etc/modprobe.d/blacklist.conf, though I cannot confirm that those are necessary steps or if the NVIDIA install script would be all it takes. Note that the NVIDIA installer cannot run while X is active, so log out, log into the console at Ctrl+Alt+F1, and use "sudo service gdm stop" to turn off GDM and X prior to running the script. Be sure to opt to run nvidia-xconfig when installation completes so that the nvidia driver is used for X.
Now with a functioning nvidia driver, it became apparent that the secondary display should actually do something. I used nvidia-settings to configure the second display as a separate X screen. TwinView does not work as there is no way to rotate the secondary display while not rotating the primary. With separate X screens, the primary can stay as it is and the secondary can be rotated counter clockwise so that it makes sense to sane individuals. I added "RandRRotation" and "Rotate" options to /etc/X11/xorg.conf as follows:
Code:
Section "Device"
Identifier "Device1"
...
Option "NoLogo" "true"
Option "RandRRotation"
EndSection
...
Section "Screen"
Identifier "Screen1"
...
Option "Rotate" "CCW"
...
EndSection
Device1 and Screen1 should correspond to the secondary display.
At this point, all features of the system should be working--audio, video, networking, stylus, camera--all except for suspend. It is a known issue that USB3 interferes with suspend, so the workaround is to unload the corresponding module. On 10.04, this is accomplished by adding this line to /etc/pm/config.d/unload_module :
Code:
SUSPEND_MODULES="xhci"
That should seal the deal for Lucid on the W701ds. The same workaround is required for Maverick (though with xhci_hcd instead of xhci), but it just exposes another bug that for some reason causes suspend to work only once per login session. A second suspend during a session will result in a resume to the login screen and the suspended session will be lost every time. Development X packages may fix this, but I opted for a downgrade to Lucid instead.
Everything is running great now, so I post this in the chance that someone who finds himself in my old shoes won't have to walk so far in them. The W701ds is a great system and I'd hate to run any other OS on it.
Bookmarks