I would like to use a tablet for some mobile programming. It would be nice to read a pdf and immediately try the code on the same device. I've found various videos and tutorials how to get Ubuntu running on an ex-android tablet so I'd like to ask

  • Has anybody of you ever used Linux on arm?
  • How about driver support? I heard nvidia is releasing tegra drivers for linux but I guess a tablet without working wlan wouldn't be to nice either.
  • Did you ever program on arm? Any problems with compilers, IDEs? Does eclipse work?

Just to be clear: I'm not sure if a linux on arm is a good idea to code on. Are there any major problems or limitations you know ?

  • are you interested in programming only on the CPU? or mainly on the GPU? or why the focus on Tegra and NVIDIA?
    – scjorge
    Commented Mar 24, 2020 at 9:45

4 Answers 4


Running Linux (Ubuntu or Debian)

If it runs Android, it has Linux drivers, since Android runs on a Linux kernel. However Google maintains its own forked version of the Linux kernel source, and not all drivers have been ported back. There is no official Ubuntu distribution for ARM, but there are people working on an informal ARM port. That page lists OMAP chips but not Tegra. There is a Tegra porting effort (for the Toshiba AC100) as well, but it's not completely working. If you don't find what you're looking for, try Debian, which officially supports ARM (but doesn't support recent tablets out-of-the-box either).

On a tablet, a problem you'll run into is the touchscreen. Touchscreen support on Linux is still work in progress.

If you manage to get all the hardware working, most open-source applications will be just one apt-get install away. Forget about running any closed-source PC application.

Running an official Linux-based tablet OS

If you have a choice of tablets, consider looking for a model sold with Maemo or MeeGo. Maemo was only released on a few high-end phones, none that qualifies as a proper tablet as far as I know. Maemo tablets have been announced. Beware that the future of Maemo and MeeGo is uncertain since Nokia is no longer actively supporting them.

Maemo and MeeGo are actual Linux systems, with a custom X-based GUI. Most common Linux programs will run on them, and may either be one apt-get or zypper command away, or may require recompiling.

Running Android

Android is based on a Linux kernel, but it lacks a few kernel features, and the userland is completely different. The advantage of Android is that it'll have all the drivers you need. The main downsides are that it's difficult to find Android applications that are meant for offline work, and that the user interface is intended for small screens with only full-screen windows. Nonetheless, you can install many development tools on Android, including BusyBox (basic command-line tools), scripting languages (Perl, Python, Lua, Ruby, ...), but GUI applications are a problem since Android doesn't use X. You'll need to find an Android editor that suits you, and so on.

  • Thank you, that was very useful. I think I'll go for a notebook and reconsider a tablet with linux in a year or two, when support has improved.
    – lhk
    Commented Sep 21, 2011 at 20:11

There are many ARM-based devices running Linux natively and even more that could. Yes, the drivers are often a problem - just as it was the case in the early years of Linux running on common PC desktops. So you should always dig into the subject of compatibility with particular device.

As far as building programs is concerned, the biggest problem is typically compilation time. That is why you usually don't build directly on the target device, but use a technique called cross-compiling. In short, it means building the programs on a much faster normal PC. This requires installing a special toolchain - a set of tools created for building programs for a certain foreign architecture.


You can also run a chrooted Linux, e.g. Debian or openSUSE.



I think Ubuntu OO for arm is not available yet, but Ubuntu MM or KK is. There are several youtube videos explaining how to install it and use via any vnc client inside the same machine - auto VNC - I selected this for my blog that is for remembering me this questions I watched or readed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .