YOGA C630 WOS: Software development scenarios
Since I use all kinds of development tools in my day to day work life, I decided to test out what I can develop on the YOGA C630 WOS. Turns out, quite a lot of things. This article will explore the YOGA C630 WOS from a developer point of view.
The secret is of course in the 32bit Intel x86 emulation that the Snapdragon CPU is capable of. Not many apps support natively ARM64 versions. But if you can get a 32 bit x86 version, the Snapdragon CPU will be able to run this as well.
The x86 emulation on the ARM64 CPU is slow at times. I found this affects mostly startup performance of processes, after which they run ok. And let’s not forget, that one can also use Linux to complement the development tools on Windows 🙂
Windows 10 Pro
I decided to upgrade to Windows 10 Pro. I usually don’t use the Home version of Windows that much. And with Pro, I can access my work domain and other things.
This might not be needed for the things below, but you can nevertheless perform the upgrade on the ARM version of Windows 10 without problem.
C630 keyboard shortcuts for developers
If you are a developer who uses the Fx shortcut keys in their work, you might want to change how the function keys work on the YOGA C630. This is because by default the Fx keys perform their shortcut keys functions, and you need to press Fn together with the key to get the Fx function. Pressing Fn along with all shortcuts is not that great.
Windows Subsystem for Linux
If Linux tools are familiar to you, then why not run Linux on top of Windows? This is what the Windows Subsystem for Linux is for. The mode is not 100% compatible with a real Linux, but it is pretty close. Not everything will work, but most things will. And the Linux that gets installed is an ARM64 version of Linux, so theoretically, this will run faster then any of the tools when being emulated in x86 mode.
You will need to exit Windows 10 S mode for Windows Subsystem for Linux to work. But you can use WSL also on the Home version.
Before installing any Linux distribution, you will need to turn on WSL. Open Start menu, search for “windows feature turn on”, and open the suggested program. This Windows lists all the optional features that can be enabled or disabled in Windows.
Scroll down until you see the Windows Subsystem for Linux and turn it on. You might need to reboot.
Install a distro
Now head to the Microsoft Store, and search for the distro you are interested in. I chose Ubuntu, but you will find at least Debian as well here. Press Install, and wait for the installation to complete.
Now you will find a link called “ubuntu” in the start menu, that you can launch. The first time to launch takes some time as Linux is installed. But after that point, you have your Linux distro installed. You can do all the familiar things, install software with apt, run things, etc. The Windows partitions of your computer are already mounted under /mnt, etc.
You can then check the CPU information on Linux, which will tell you that the CPU is a Snapdragon 850 CPU. If you check which packages are installed, Ubuntu reports that arm64 version is installed. Hello ARM64 Linux development!!
Development in Linux
What can you develop in the WSL? Unfortunately no graphics or UI apps can be developed or used. But you can use console applications. And develop them too. Just sudo apt install gcc g++ to get started with C or C++ development!
Python, Node and other compilers and languages are also available in Linux.
Python works on the C630. You will need to make sure to download a 32 bit installer. After that, you are ready to develop in Python on the YOGA C630 WOS.
But you can also opt to use the Windows Subsystem for Linux (see above). Ubuntu for example has Python 3.6 installed by default.
NodeJS works similar to how Python does: just install the 32bit version.
Or use WSL to run Node.
Download the Git for Windows x86 (32bit) version, and git will be working.
Visual Studio Code
Visual Studio Code is a free and very powerful code editor that runs on Windows, Mac and Linux. For this to work on the C630, you will need to download the 32bit version.
There are some problems, like OmniSharp (C# support) does not work. But for most part, it does work and you can get to coding pretty quickly. Also, Visual Studio Code wants to download itself in 64 bit, and use 64 bit versions of the tools – because it detects ARM64 as being 64 bit version of Windows. But it will not work.
Not working: Visual Studio
Unfortunately Visual Studio is not really working on the ARM platform. The last time I tried installing, the installer just failed.
The .NET Framework v4.7 is installed by default. You can also install the v3.5 Framework. Both will be the x86 (32bit) versions, and not ARM version of the Framework.
C# (.NET Core)
Even though Visual Studio will not install, you can still install .NET Core SDKs, the dotnet command line utility and start writing C# code. You will need to choose to install the 32bit version. Your browser will try to download the 64bit version by default, but this will not work, as it requires an Intel processor.
SSH and SFTP
For some time now, SSH and SFTP has been a part of Windows 10. And this is like so in the ARM version as well. Just type ssh in the command prompt or PowerShell and off you go.
As you can see, although development is not the primary purpose of this little computer, it is certainly capable of doing some development. Because the CPU is not that strong, running big compilations and complex projects is probably going to be slow. But for simple projects, simple web sites, learning or just quick fixes to an existing project, it can be a versatile tool. Thin and light at the same time.