This is a follow up for Google Are You Listening? In this post, I’m explaining how to build a Linux Laptop as an alternate to Macbook Pro.
This is a long post.
- Requirements for my MacBook Pro replacement laptop
- Shopping and “opening” experience.
- Experience with pre-loaded Windows 10 OS
- Ubuntu Linux installation and using Linux in comparison to Mac
Laptop should have better hardware and priced lower than a Macbook Pro.
- Intel CPU with 8 cores
- At-least 16 GB of RAM
- NVIDIA GPU (MacBook Pro ships with Radeon GPU)
- 4K display (MacBook Pro does not have 4K)
- Webcam, speakers, mic
- Backlit keyboard
- Priced around $1500
- Ubuntu certified (Or Atleast drivers available)
Initially I searched for “linux laptop”, then I refined the search with “best linux laptop nvidia”. This query returned several comparison sites. I went through some of these sites to find the right fit.
I will go straight to the point with this one. Find the best Ubuntu laptop is not easy - even finding a good laptop for…picknotebook.com
If you still think laptops are generic and the only difference between them are their price-tags, Dell invites you to…www.zdnet.com
I went through a few more sites than these.
Both DELL and Lenovo Thinkpads are pretty good supporting in Linux. However, I liked ASUS ZenBook Pro.
ASUS,Notebooks,Superior Mobility,UX501 Series,ZenBook Prowww.asus.com
Why I liked ASUS ZenBook Pro?
Read full comparison here.
Zenbook was priced at $1499 in Amazon.
However, the best deal was offered by Fry’s at $1400. So, I went to Fry’s and purchased ASUS Zenbook.
Zenbook comes in a very nice package.
The package contains a Zenbook and Carry bag. Apple doesn’t provide a carry bag for Macbook.
The Zenbook is preloaded with Windows 10. To my surprise, Setting up Windows was easy. Windows 10 setup was short and simple. 👏😁
After the first time setup Windows 10 went into update mode.
During the updates I get to stare at the beautiful blue screen. 😴💤💤💤 The updates took almost an hour to complete. 😅😤😡
Big surprise. Windows 10 boots fast. I can boot windows 10 in less than a minute.
Even though startup is faster, shutting down had become slower. At times it took several minutes to shutdown. Looks like windows update process is moved from startup to shutdown.
Looks like Microsoft forgot to update the title of “update” screen after moving the process to “shutdown”. The title still says “Getting Windows ready”.
- Windows 10 boots in less than 60 seconds 👍
- New UI is slick 👍
- Touchscreen is pretty good 👍
- Trackpad is too slow 👎
- Unable to fine tune touchpad. Windows 10 doesn’t provide enough controls 👎
- Pre-loaded “Try-ware”. Microsoft pre-installs legacy word, excel and power point applications. But to use them I need to buy a license. Thank you very much, but, I couldn’t care less. Google docs is better than Microsoft office, besides collaboration is easier. 👎
- Many parts of Windows 10 are not updated yet. The legacy windows components neither look good in 4k nor flow with Windows 10. This creates a mixed experience. 👎
- Windows Subsystem for Linux (WSL) is a good attempt. Setup didn’t work as described. But I was able to open BASH shell from Windows and able to execute a few commands in BASH. 👌😐🆗
- Shutdowns are slower
Windows 10 is better than earlier versions. So, good job Microsoft. But it still needs work.
Even though Windows 10 is better and WSL is a massive step for Windows users, why run Linux commands in Windows? Why not proper Linux? So, I went ahead and looked into installing Ubuntu Linux on the Zenbook.
Ubuntu Linux on Live USB
Creating a live USB drive for booting Linux https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows. Booting Linux using the Live USB drive was easy, everything worked in the dry run.
Then followed https://marclewis.com/2016/02/21/installing-ubuntu-on-the-asus-zenbook-pro-ux501vw/ to install Ubuntu. The steps are easy to follow.
Enable Display Scaling in Ubuntu Desktop
The massive 4k display makes it hard to use the screen without scaling. Fortunately, scaling can be configured.
Enabling touch-pad drivers
The touch-pad worked seamlessly when I tried Ubuntu using the live USB. However, the touch-pad did not work properly after installation. I was able to move the cursor, but gestures and taps didn’t work.
After reading several stackoverflow posts, it appeared the right Linux kernel might do the trick. So, I tried different Linux kernels. It is easy to change kernels in Linux.
Touch-pad started working fully when I installed 4.6.0–040600-generic kernel.
Tuning touch-pad and mouse to scale 4K display
The default scaling is 1 that makes using mouse and touch-pad very slow. But configuring is super easy, but finding the right commands and configuration takes time.
First, use the xinput command to display the current settings. It displays the attached devices and their IDs.
Then, display the settings for a specific device. For example to display the settings for touch-pad, execute “list-props” option of xinput.
Finally change the settings for touch-pad. I played with various settings to get the final set of parameters. Following are the list of configurations that I liked for mouse and touch-pad.
Installing NVIDIA drivers
Found a bunch of blogs that explain the install process and followed along. Pretty straightforward to install.
Upgrading to the latest version of the proprietary Nvidia drivers in Ubuntu (or Linux Mint) was pretty complicated a…www.webupd8.org
The following tutorial will guide you through all steps required to install VGA NVIDIA driver on Ubuntu 16.04 Xenial…linuxconfig.org
ASUS Zenbook Linux Experience
- Installation takes time and effort, but it is not too complicated. But definitely not recommended for non-technical users. Given Linux is free software run by volunteers, this is awesome. 👍🆗
- Ubuntu UI is OK. Again no complaints, because it is free as in freedom as well as free as in beer. 🆗
- Most of the drivers worked out of the box, except for Nvidia which is closed-source. 4K display, touch-screen, mouse, webcam, mic, camera, USB, HDMI, bluetooth worked out of the box. 👍
- Touch-pad experience is comparable to Mac. Though it requires manual configuration. 👍
- Nvidia is an added bonus if you like to run any machine learning programs that need GPU access via CUDA SDK. 👍
- Of Course, development environment in Linux is far superior compared to Mac or Windows. 👍
Ubuntu Linux Software Experience
- I use intelliJ for development. Installed the latest IntelliJ with no issues. 👍
- Software SDKs such as Java, Python, NodeJs and a lot more are available as first class citizens. No issues. 👍
- Web browsers. I use Chrome and Firefox. Both are available in Linux natively. Plus Linux has other graphical and command line browsers. 👍
- Email, Calendar, Documents, Spreadsheets and Presentation. I use google for personal use and Office 365 for work. Both are available as cloud+browser applications. Office 365 is better than the native version in Mac. No issues. 🆗
- Messaging. I use Slack most of the time, which is available as a native program. No issues. 👍
- Screen casting software. I use Quicktime in mac. I tried a few in Linux like kazam, which works okay, but has some bugs. But at least I was able to work around them. 🆗
- Image editing software. I use Preview for simple image manipulation in Mac. I have used gimp, which is comparable to photoshop. I am still looking for a simple tool like Preview. 🆗
- Taking screen shots. Mac OS provides hot keys for screen shots. Ubuntu has a program called “screenshot”. 👍
- Playing music. iTunes in mac. Default music player in Ubuntu. 👍
As you see, a MacBook Pro costs atleast $2400 while Asus Zenbook costs $1500. Zenbook supports Windows 10 or Linux. Of course with Linux, the experience is better in comparison to MacBook Pro.
Stuff that is not available in MacBook Pro
- 4k display
- NVIDIA GPU
- HDMI, Card Readers
If you are willing a spend a little bit of time, you can get better hardware and save $1000.
The Gaps are mostly in hardware drivers and userland application availability. The hardware integration can be done by any hardware vendor such as DELL, Lenova or HP. But none of them have an Appstore or have the ability to build one. This is where Google can help with the play store and proper hardware integration. Google has already achieved this in the Android eco-system.
Hope google is listening.