Wednesday, 22 November 2017

Lenovo Miix 700 Android compatibility

Not all Android distros will work with the Lenovo Miix 700, and even if they do they may have some issues.

For the distro of Android that I intended to use, I have set out the following requirements:
  • Basic Android functionality must be present, but WiFi and sound are not negotiable. 
  • Since I intend to use this to play a music game, the app must be able to run in full-screen. 
  • All others features are not considered crucial. 
All of these issues are issues I have faced while installing each distro.
  • Remix OS 3.0.207: Boots up perfectly, has WiFi, but no sound. Since Remix OS has discontinued support, using this is not recommended. 
  • Phoenix OS 2.5.3 (based on Android 7.1): Boots up perfectly with sound and WiFi. Auto-rotate also works in this system. However, some Android apps can only run on windowed mode and not in fullscreen mode. 
  • Android x86-64 6.0r3: Boots up perfectly with sound, but WiFi does not work. 
  • Android x86-64 7.1rc2: Boots up perfectly with sound, and the WiFi works. Apps run in full-screen as an Android tablet would actually do. However, the auto-rotate and Bluetooth does not work. This is the version that I eventually used. 

Android... on a Windows tablet?

It's easier than you think.

The Lenovo Miix 700 is a passively cooled Intel Core m7 in a tablet form factor. Perfect for a more compact system like Android.

Android, at its heart, is a Linux-based operating system, so if you are familiar with other Linux-based operating systems (like Ubuntu) or software development environments like MinGW, you might be more familiar with Android than you think. It is also easier to install and troubleshoot an Android dual-boot from a Linux operating system than from a Windows operating system.

The first thing to do would be to make a hard drive partition for Android. I won't go into detail how to do it, just need to know that you will need to shrink the partition for an existing drive and make a separate partition.

You will also need to download an Android distro. I have tried many distros, but the vanilla Android 7.1-rc2 x86-64 distro works the most satisfactory in my opinion for my uses.

Once you have the distro iso, you will need to burn it into a bootable USB drive. Nothing too fancy, you could use a card reader and an extra SD card for it. Use Rufus to burn the iso into a bootable USB drive.

Next thing to do if you are using a Windows system would be to download Grub2Win. It installs a bootloader that appears before your Windows boots and allows you to select the operating system. The thing about Grub2Win is that it allows you to change the UEFI settings from your Windows operating system. Just be careful with it.

Once you have installed Grub2Win, restart your computer to boot into the USB drive that you have stored your Android install in. To do this you will need to hold the Shift button while pressing the Restart button in the Windows Power button options. This will give you a few startup options. Press the appropriate options to boot from your USB drive.

When the computer reboots you will be given a few options to either boot into Android in Live mode or Install mode. Live mode means that Android will run directly from the USB drive but cannot store files or save any changes. This is for testing whether Android works well on your device before proceeding to install. Otherwise you could just directly install it.

When you install Android, confirm, double confirm, and double confirm plus chop which partition your blank partition is, because if you don't do it right, you might end up wiping your main Windows partition. And that's bad. This Android installation works with UEFI and GPT, so there should be no issue as long as your boot options in Grub2Win are set properly (this is important too!).

Once you have confirmed that you have selected the correct partition to install Android in, format it to ext4 and make sure it does not install Grub or Grub2, since you have already done that with Grub2Win. The formatting is why you need to be extra careful, since formatting will destroy ALL data in that partition if it is not empty.

There are two other file system options, FAT32 and NTFS, but there are issues with both of them when installing Android. FAT32 cannot use files larger than 4GB, which restricts the amount of data you can store in your Android partition. NTFS is not Linux-compatible, so a workaround is needed by storing a .img file inside the partition. Either way, your files on Android will not be viewable from your Windows operating system, so you might as well unmount it. Also, needing an .img file for storage severely slows down install time since the installation will need to create the .img file.

Since EXT4 is Linux-native, formatting your Android partition to EXT4, while making it unusable for Windows (not like you were planning to anyway), allows the available storage space to be as large as the partition allows minus the space for the necessary operating system files.

You still can't use Android after installation though, since you have not filed an entry for booting into Android using Grub2Win.

To use Grub2Win, you need to open it using administrative privileges. Open "Manage Boot Menu" to see the list of operating systems that you will boot into. Do not touch the Windows entry since you will need that to boot into your main operating system. Add an entry for the Android OS and use "Edit custom code". Then, read through this website to see what you should be doing to the configuration file.

For Android Nougat 7.1, you will also need to add an entry

android.selinux=permissive

just before the initrd entry so that it will boot properly without pulling an Emergency Remount R/O

Check spelling before you reboot. I spent two nights trying to troubleshoot an Emergency Remount because I didn't check the spelling, only to find out I left out an "n". 

That wasn't very fun to find. 

Tuesday, 21 November 2017

A new tablet

The Lenovo Miix 700. 

Core m7 passively-cooled tablet PC, with 256 GB of storage, 8 GB of RAM, with Windows 10 Pro. 

Not the fastest PC, but it was never meant to replace my PC. It was meant to replace my aging iPad 4. 

With a Wacom pen, it positions itself as a capable drawing tablet at a pretty great price. I paid 985 USD to Singapore including S&H. Of course I don't intend to draw on it as much as my digital art friends would, but it is worth knowing that I could pick up drawing any time I would like. 

But this comes at a catch. 

The Lenovo Miix 700 is not officially Wintab-supported, and despite having a Wacom pen, its Elan screen means that it is not supported by Wacom Feel either. This means that officially there is no support for pressure sensitivity for Photoshop. However, this does not mean that it cannot work with Wintab. It is possible to still download the Wintab drivers for the Lenovo Thinkpad X1 series and have them work with the Lenovo Miix 700, thus enabling pressure sensitivity for Lenovo Miix for Photoshop or other non-Lenovo applications.

You will also need to open the Window > Brush panel, and under Shape Dynamics, select Pen Pressure under the Control tab.

Because this pen is not Wacom Feel enabled, you will not be able to re-map the pen barrel buttons from the defaults. The barrel buttons are for right click (front button) and erase (back button).

Palm rejection isn't perfect, and the pen is slick on the screen due to the hard nib that it uses, but otherwise this is a great pen to use.

At the current point it's actually more economical to buy the Lenovo Thinkpad X1 tablet (1st generation). It costs around the same price on Amazon, has the same processor, memory and hard disk space, but it also has USB-C charging, a longer battery life, the detachable keyboard has similar quality to the full-sized Thinkpads, and the stylus is Wacom Feel compatible. Basically it's everything a Miix 700 is, but better everywhere else.

I'm only a bit salty Amazon decided to tell me about the Lenovo Thinkpad X1 tablet after I paid for the Miix 700 and I have been using it for a week.