Accelerating the return to enlightenment (With linux on a Yoga 2 Pro)

20140620-083213-am-30733675.jpg
Standard

“If you want to succeed then you need to immerse yourself in the problem” – wise advice from a business mentor of mine… My long serving Apple Macs run everything – work, media, side project coding and now VMs filled with Linux and Enlightenment. They are shiny and solid but have strange keyboard layouts, nonstandard hardware and a bad implementation of virtual desktops that get in the way of desktop virtualisation. So for the first time in nearly 10 years I bought not-a-mac.

This new PC laptop (note not a “windows PC”, I hate that term – it came with windows but that’s not a defining feature…) should be a great device for pushing the limits of modern display and input software. I wanted something light, thin and powerful with at least a 13″ screen. Essentially a competitor to the MacBook Air, but more modern and without the Mac downsides – also avoiding a lookalike, something that’s cool in its own right.

Let’s face it there aren’t a lot of devices in this class but I settled (after some time) on the Lenovo Yoga 2 Pro. This is a solid core i7 device with a decent amount of RAM and SSD storage. The screen is an impressive 13.3″ that has more pixels than my retina 15″ MacBook Pro – as well as being a touch screen too! Couple that with the fact that it inverts to become a tablet. All of those features are packed into a bright orange shell that is no heavier or larger (at the thickest point) than a MacBook Air. Impressive!

So after a short trial of windows 8.1 (yuck! What a confused system) I installed arch Linux (details in a different post – to follow) and it went very smoothly. Out of the box it was up and running with full res video and complete audio in & out. The keyboard (including all the special function keys), trackpad and touchscreen also worked perfectly. After installing the wpa_gui wi-fi was complete too (a little config juggling was required to connect to my secured wifi and download the packages but nothing too taxing). And most surprising when the keyboard is folded back on the screen it is disabled as you expect – though I think this may be a hardware feature. As of now all that is not working is automatic screen rotation (the gyroscope seems non-standard) and the windows icon/button on the screen which I had not realised was a button.

The only issue with the machine so far has been the insanely high pixel density. You can work around it by telling Xorg to scale 2x but you lose the quality so I didn’t want to do that. Thankfully Enlightenment has built-in support for output scaling so I went right ahead and installed the latest version from their source. As with any large compiling from source task it took a while to get all the dependencies but I put that in a script for future use. The compile and install went well – grab EFL, Elementary, Enlightenment and Entrance for a good base experience. Git master is really stable and I really enjoy being on the cutting edge but if you don’t have that thirst then you should probably grab release tarballs instead.

This new machine has given me a great platform to immerse myself in Linux and Enlightenment. Scaling and touch interfaces are things that need a little work still but I’m helping out with that. Next I’m going to be further developing the Enlightenment IDE (EDI) which is already a good place to be working on EFL based code. It’s a work heavily in progress but I’m hoping to get some more contributors soon and start pulling in cool new features to get more Software Engineers into creating apps for Enlightenment.

Want to know more about my E install or Linux on the Yoga 2 Pro? Drop a comment below or hit the contact page.

Linux, is it ready?

Standard

So I’m trying out Linux for the first time in over 5 years. Mainly to get back on board with Enlightenment development, partly due to frustrations with Mac OSX and also because every software engineer should be up to speed with how it’s progressing. This leads me to the question if is it ready…

Ready for what? Wide stream adoption? Frustration free desktop? A better alternative to what’s out there? “Yes” and “It depends” get thrown in there as answers – it depends on your requirements and the ability to pick the right distro. Ubuntu offers a seamless install and gets you booted to a complete system with all the typical user software pre-installed, their software manager akin to Apple’s Mac App Store is essentially a recommendations engine on top of the apt-get package manager and works well. Of course as a geek it’s cheerful light grey rounded-ness and hiding of details quickly missed the point – Mac does that well and I don’t see Canonical beating Apple at the user experience game. Arch Linux is a widely used engineers choice – it offers close to the wire control without the pain and ricer obsessiveness over customised packages of Gentoo. There is no installation UI or default desktop but it does offer great control, a solid base for development (1 package sets up a full C/C++/autofoo environment) and it has a command line package manager called “pacman” ;).

So should I switch? Well as you’re already reading this then you should probably give it a shot, yes. Don’t ditch your current system and move completely – compatibility is still an issue and multimedia has a couple of issues (mostly due to closed source licenses, patents and no silverlight plugins) but it really does seem ready. Don’t recommend it to your Gran though – as much as I hate software monopolies they do enable people to easily discuss simple tasks or basic problem fixes with their non-techie friends. You do not want even more “help fix my computer” calls right?

So, given that it’s ready for use, will you like it? Is it really something that Microsoft and Apple should be worried about? I’ll cover that in a future post in my return to enlightenment series.

Apple… Where are you?

20140217-084814-am.jpg
Standard

Apple Computers. The renegades, the designers, the pirates, the company that “Thinks Different“, fighting big blue and bringing research projects to market. Fighting a world of desktop computer monopolies, leading the smart phone market and defining the tablet. And now struggling to differentiate themselves from all the other mass market software providers – really?

In my series on returning to Linux and the Enlightenment desktop I have mentioned a decreasing satisfaction with Apple Mac OSX but as Apple tries to discover who it is without Steve Jobs it’s got even bigger problems.

I didn’t want to jump on the “how will they cope without Steve Jobs” bandwagon – that seemed like propaganda designed to affect share prices, but something’s not the same. It’s been over two years since Steve passed away and the company is starting to show real signs of problems. Such a delay could be expected as he started many projects before he left the company that have only recently come to market. Unfortunately it’s not as simple as that – quality started dropping before he left.

We live in a world where people expect software to have problems, to be difficult to understand and to require constant updating. Apple believed in better – systems that just work, a focus on usability and encouraged thorough testing. This was a significant portion of what drove adoption – people were so happy with Apple products that they bought more, they told their friends and they pushed to use their own devices for work as well as play. Sadly the quality is no longer as pervasive. OS updates badly break well running systems, firmware changes can disrupt hardware features, updated system applications can simply not work and hardware failure rates are increasing.

How can this be? Apple is a company with a clear vision and the reputation and infrastructure to deliver. Very little reliance is placed on third parties and the software remains tightly coupled to the hardware it runs on. Vision, it seems, is not enough. Jobs was a visionary, and one that has changed the modern world, but he was also driven and demanded that people delivered what he envisaged. The hard work he expected of people and the perfection he required in everything that Apple released is now legend, but in more ways than one. We should learn from this and make software better. Uncompromising in quality and user experience but without driving people so hard that it’s no longer what they want to do.

Ubuntu 11.10 and OSX Lion dual boot on MacBook Pro 8,2 even with FileVault2!

Standard

Hi there guys – so I heard that the latest OSX / MacBook Pro was causing issues for people wanting to dual boot with the latest Ubuntu release so I decided to have a go. OK so I’m not going to pretend it was easy but you should be able to get it running if you just follow this simple set of steps. I have included notes about what you will have to do differently if you are using FileVault2 also – the encryption of the main partition makes booting a tad trickier!

  1. Download the latest Ubuntu, 64bit ISO from ubuntu.com I recommend the 64bit build as I do for all software running on the MacBook Pros. Once you have downloaded the file you need to burn a CDR using Disky Utility’s “Burn” feature.
  2. Prepare a partition to install UbuntuUsing Boot Camp Assistant or Disk Utility you should create 1 new partition at the end of the disk at least 50GB in size. We will be using only 1 partition to get round complexities with the partition syncing required with complex partition schemes. This means a swap file should be used but that is performing well enough for me.
  3. Download and install rEFIt Using the automatic installer should be enough for most people but if you are using FileVault2’s full disk encryption you will need to perform the following steps in a terminal once installation has completed:
    sudo -s
    cd /tmp
    mkdir efi
    mount -t msdos /dev/disk0s1 efi
    cp -r /efi/refit efi/EFI/
    bless --mount /tmp/efi --setBoot --file /tmp/efi/EFI/refit/refit.efi --labelfile /tmp/efi/EFI/refit/refit.vollabel

    That code will copy the rEFIt booter to the hidden system boot partition so it can be read at boot time.

  4. Boot the Ubuntu CD and run a standard installation into the partition you createdThe installation should proceed as normal but be sure to allow the “closed” software to be installed (this helps with media playback etc) and choose a “custom” installation type when prompted. This will take you to the partition management section. Here you must:
  5. Choose the new partition to use the mount point “/” and format it in ext4
  6. Tell the bootloader to install to /dev/sda (yes, I know the MBR is not what is recommended in older OSX dual boots but due to some new restrictions with the booting it is the only way to go)
  7. Other than that pick your preferences etc – the install should take less than an hour unless you chose to download lots of updates and you have a slow internet connection!
  8. Reboot into OSX and re-enable rEFItIf rEFIt disappeared during the installation (which is more likely if you are using FileVault2) you need to execute the following in a terminal for a normal installtion:
    cd /efi/refit
    sudo ./enable.sh

    or for a FileVault2 setup use the following terminal commands:

    sudo -s
    cd /tmp
    mkdir efi
    mount -t msdos /dev/disk0s1 efi
    bless --mount /tmp/efi --setBoot --file /tmp/efi/EFI/refit/refit.efi --labelfile /tmp/efi/EFI/refit/refit.vollabel

    That should get the boot process back in order.

  9. Restart and choose “Linux” from the boot options – hooray!At this point you should see tux sitting on a grey screen for around 5 seconds before linux starts booting. if you see anything else then you probably messed up the partition options in the ubuntu installer – read my doc above and try again…
  10. Set up a swap file to make up for the missing swap partitionAs we have no swap partition we will need to set up a swap file instead. Remember that the file should be about twice the size of your installed RAM and enter the following commands into a root terminal:
    sudo dd if=/dev/zero of=/mnt/8GB.swap bs=1024 count=524288
    sudo chmod 600 /mnt/8GB.swap
    sudo mkswap /mnt/8GB.swap
    sudo swapon /mnt/8GB.swap

    Then you need to edit the file /etc/fstab and add the following line at the end:

    /mnt/8GB.swap  none  swap  sw  0 0

    There is no need to reboot at this point – there is more to do

  11. Whilst connected to an ethernet cable install the wireless and video driversI will document this more at a later date but you will, after a short while, see a notification icon about “proprietory drivers” here you want to install the graphics and wireless drivers to acheive full compatibility.

I think that covers everything. Please get in touch if you have any problems following this HowTo.