Google TV Emulator: Seemingly Pointless

UPDATE

These instructions work to get KVM going on Ubuntu desktop. I did not need to disable vboxdrv as the documentation stated. I have the emulator working on Ubuntu 11.04, both for 720p and 1080p. Not surprisingly, 720p runs faster.

Also, I received a tweet that suggested a follow-on emulator for Windows and OS X is apparently in the works.

The original post, with strikeouts for where I was wrong and boldface for some replacement prose, follows the line break.


Al Sutton tweeted recently:

If the @googletvdev #Android SDK add-on stays limited to Linux at release time I think we can kiss goodbye a lot of developer interest.

I agree: the Google TV emulator implementation that has shipped as part of the SDK add-on preview seems pointless limited in reach.

Why?

First, it requires Linux. Right there, a lot of developers will dismiss it outright, because they do not use Linux themselves. Personally, I’m writing this on a Linux machine, so this requirement does not bother me, but I know from first-hand experience that I am seriously in the minority in Android development.

Second, it not only requires Linux, but it requires Linux running on a machine that supports hardware virtualization. While many CPUs do (e.g., Intel Core i7), there are many developers doing Android development on less-capable hardware.

Third, it not only requires Linux and a compatible CPU/BIOS, but it requires a Linux distro with KVM enabled. Ubuntu, for example, does not ship with KVM enabled for the desktop. Ubuntu uses KVM for servers, not desktops , and I can only find KVM information for the current Ubuntu (Natty Narwhal) for enabling it on a server. In fact, I cannot find any desktop distro that explicitly supports KVM — if anyone knows of one, please let me know. Few developers will already have their development machine set up to run a GUI-enabled server distro, where KVM might be more readily available.

Fourth, it not only requires Linux, a compatible CPU/BIOS, and a Linux distro with KVM enabled, but you can't use other virtualization solutions on the same machine (e.g., must disable VirtualBox). So, for example, I can't use it on my development machine, because while I can probably solve all the other problems with sufficient hammering, VirtualBox is significantly more important to me than is the Google TV emulator.

This effectively means that nearly 100% the majority of Android developers wishing to use the emulator will need to purchase a new computer or dual-boot their existing one. And, for those without Linux experience, they’ll have to learn a new OS.

The result is that nearly 100% vast quantities of Android developers will ignore Google TV or will buy a Google TV device if/when one becomes available in their market.

Hence, the emulator is seemingly pointless from the standpoint of developers. I'm happy to be proven wrong, and if you have successfully gotten the Google TV emulator going, drop me a line. Eventually, I'll toss Ubuntu Server on a spare machine to see if I can get it going, perhaps even giving a live Ubuntu distro a try to see if it is practical to use that to temporarily convert a machine into a Google TV emulator.

I can certainly understand why Google might want to avoid VirtualBox, given that it is an Oracle product nowadays. But, why not VMWare? Players are free, last I checked. Google TV runs on x86, so the lack of ARM support isn’t an issue (and, besides, KVM doesn’t do ARM anyway). This would not only solve the KVM limitation but would allow developers on Windows and OS X to play as well.

So, I agree with Al. If this is the be-all and end-all of Google TV emulation, it’ll be a non-starter for way too many Android developers, to the detriment of the platform. Hopefully, this is just a stop-gap.