去年底剁手入了新款 Dell XPS 15。 本来一直在关注 ThinkPad X1 Carbon,因为原来的 T420i 太重了,若要连同电源背着走,感觉会让本来就矮的我「再创新低」。在终于下定决心要买的时候, Lenovo AU 竟然没有货。就在这时,看到了巨硬的 Surface Book,那个惊艳啊。确实是好久没有那样对一款产品心动了。于是就想等着 SB 发售看看大家的评价。在这过程中,邂逅了 Dell XPS 系列。以前对 Dell 的电脑的印象主要来自 PC 端,中规中矩,听说出货量很高,但没过多的了解,甚至没有去了解的欲望。但是 XPS 的轻薄,以及令人无法移开眼球的 「InfinityEdge」屏幕,着实让我捂了一下口袋里的钱包。咬咬牙还是入了基础版的 XPS 15 (无触屏)。半年使用下来,相当满意:在14寸的机身上享受15.6寸的屏幕,电池续航可以满足白天的使用;960M 的性能让多年未玩大型游戏的我泪流满面(强推巫师3!)。若非要挑不足,一是和小黑对比起来,键盘手感要差一点;再就是转轴处屏幕边缘有些硌人;还有看起来很脆弱,感觉得倍加呵护。

XPS 15 自带了 Win 10 家庭版。这是我第一次使用 Win 10,除了后来因为驱动的问题出现的一些 BSOD,整体使用还是挺流畅舒心的。我想,Windows 还是挺适合家庭使用的操作系统(当然啦,您也可能会成为「正版软件的受害者」XD)。但为了开发方便,我还是决定再装一个 Linux. 原来小黑上的 Win7 + OpenSUSE 挺好的,OpenSUSE 也很苏,但我这种多情的人最后选择了多年未见的 Ubuntu.因为 Ubuntu 官网上面就是用的 XPS 作为展示机型;也因为近年越来越多服务器选用了 Ubuntu 了。

安装的过程及事项之前用英文做了笔记,就不翻译了,直接贴在下文。一个比较折腾的点是,在 BIOS 将硬盘模式从 RAID 切换为 AHCI 之后,Win 10 总是莫名其妙地 BSOD。试过各种方法都没有解决问题。这个问题终于在上周无意中发现解决方案解决了(hopefully),见下文笔记[16/06/2016 Updated]部分。


Install Dual Boot Ubuntu + Win 10 on XPS 15

  1. Close Windows 10 Fast boot via battery settings.
    The first shutdown after this change did not shutdown properly (hanging too long ). But after that, the booting speed is not effected (base on feeling).
  2. Disable Secure Boot.
    BIOS > Secure Boot > Disabled
  3. Change RAID to ACHI.
    BIOS > System Configuration > SATA Operation > RAID to ACHI
  4. Reboot to WIN10 with error "Inaccessible Boot Device" for a few times (depends on the failure amounts set by the Repair and Recovery Tool) until entering the Recovery Tool and then enter Windows Safety Mode.

    One success login to the Safety Mode would allow the system to configure the drivers and things for ACHI mode properly, then you could boot to Windows without pain.

  5. Boot into Ubuntu's installation but edit the GRUB command by adding "nouveau.modeset=0" to the end of the line starting with "linux".
  6. Install Ubuntu. In the partition phase, choose Mannual option to do it. Partition as you like, but remember to install the boot loader on the partition with boot record (say, the "/" or "/boot") instead of the device (or else grub2 would be used to load the Win10). After reboot you would find it entering the Win10 directly since there's no loader for Ubuntu to be recognized.
  7. Reboot to BIOS to set up the boot options.

    BIOS > General > Boot Sequence > Add Boot Option > ubuntu > shimx64.efi (EFIubuntushimx64.efi)

    In the Boot Sequence tab, there are now three options: the "Win 10", the "Ubuntu" and a "SSD". As far as I imagine, the "SSD" should act as the boot manager for the UEFI booting to provide user with a list of booting options like GRUB2. But it turns out that when this option is put at the first place, it would boot into Win10, which I think is because its boot record is at the front of disk compared with Ubuntu.

    I try to switch UEFI to Legacy to build the support for EasyBCD since I can't add an option for Ubuntu when it's on UEFI, but it turns out that I couldn't boot into Win10 since the Legacy booting has not been set up. So I switch back to UEFI and use GRUB2 to boot Win10.

    The booting process as I imagine should now be:

    UEFI boot manager > Ubuntu Option > GRUB2 > Win10

  8. Boot into Ubuntu and find everything works well except the touchpad.

    Jchedstrom said it's because the wrong kernel module (driver) is loaded. It's loading i2c_hid instead of i2c_designware_*.

    <code>lsmod | grep i2c #check what's loaded
    echo &quot;blacklist i2c_hid&quot; | sudo tee -a /etc/modprobe.d/blacklist.conf #apparently just blacklisting isn't good enough, for me it was also hiding in initramfs
    sudo depmod -a
    sudo update-initramfs -u

    Then the touchpad could work, but in a reverse scrolling way. Go to Settings > Mouse&Touchpad > Natural Scrolling .

  9. The graphic device works OK. But in case of any unknown error, install the nvidia official driver for 960M via Additional Drviers in Software&Updates.

    An indicator could be install to indicate the graphic device being used.

    <code>sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install prime-indicator
  10. Unity seems to be better than ever before. But I still install gnome 3 as desktop environment...for fun.

    Some gnome extensions that might be useful:

    • Drop down terminal. Press
      and a terminal would drop down. Really handy but could lead to inconvenience when you want to type 「~」.
    • Clipboard indicator.
    • Remove accesibility. Remove the accessibility button from the top panel.
    • Taskbar. It displays icons of running applications on the top panel. Favourite apps and workspaces could also be displayed. And you could inactivate the hot corner.
    • Topicons. Put the tray icons which was on the bottom-left on top panel.
    • User themes. ^_^
    • Workspaces to dock. Put the icons of each running app within a workspace in the bottom dock of a workspace thumbnail.

    It crashes a few times during the configuration of the extensions. But works stabily these days.

  11. Some tools that might be helpful for configurations.

    • Unity Tweak
    • Gnome Tweak
    • Ubuntu Tweak
    • CompizConfig
  12. No sound input found using Skype.

    ALSAMixer shows "This sound device has not any capture control."

    After some struggle, found a solution.


    <code>sudo update-pciids
    sudo update-usbids

    Then (Refer to https://wiki.ubuntu.com/Audio/UpgradingAlsa/DKMS) install newest audio module:

    Go to https://code.launchpad.net/~ubuntu-audio-dev/+archive/ubuntu/alsa-daily/+packages and look for the proper version package deb for your distribution.

    Download and install.

    Problem Solved!

Overall experience: smooth. The default font renders great. Everything goes smoothly.

23/03/2016 Updated:

BSOD such as "Unexpected_Store_Exception" occurs randomly from time to time. You don't know when it would occurs. It just happens which is extremely annoying.

At first it happened when a video was playing in the browser so I guessed it was the Flash Player doing the bad things. I checked from the Windows Update Pannel to found a recent update of the Flash Pluggin and I uninstalled it. Things kept happening. And I thought it was the drivers' fault but there's nothing wrong showed in the Device Manager. I kept Windows and Dell softwares up-to-date. And I also done the check via System File Checker.

I am pretty sure it has something to do with the switch from RAID mode to AHCI. But I can't boot into Ubuntu when RAID is on. I went through the Regestry for the AHCI settings but I don't know whether "0" or "3" is the right key.

I searched a lot and for a long time and finally I came across one article saying that McAfee might be the cause. I really didn't thought about that cuz it works really well before I installed Ubuntu. A three-year subscription is brought by the XPS 15. So I uninstalled McAfee and restarted. I watched videos for a couple hours and doing things as usual. Nothing happen! Oh god I wish this not a flag and nothing would ever happen. Bless you.

27/03/2016 Updated:

Damn it! Still BSOD. The frequency has been lower but it happens. The error is now "Critical_Process_Died".

I disabled all non-Microsoft services and it worked well..for one night. Then I set the time of "Turning Off Harddisk" in power settings to "never". And I disabled "IAStorIcon" in the startup. So far so good. But still worrying now...like a ticking time bomb that you don't know when would it boom.

16/06/2016 Updated:

The previous settings did not solve BSOD. So I turned back to RAID for a while. Until today I came across a possible solution to install the Samsung SSD driver for 950 PRO. I don't know if it is working after installation because it shows in the Device Manager that the Microsoft SSD driver is being used. But I could finally open the CrystalDiskInfo which could not be opened before. Some said this driver fixed the BSOD. We'll see.

19/06/2016 Updated:

Smooth~~~ It could not be any better.