UNIX and Xwindows on handhelds?

Posted 26 Jun 2000 at 10:59 UTC by k Share This

With the ever-increasing technology we can easily get access to today, why would you want to release a portable handheld computer running UNIX and Xwindows ?

After reading this article at Excite about Compaq's push to get Linux and Xwindows on a handheld, I have to wonder - have people lost the plot? A small handheld device might be as powerful as a 486-33 with a small smattering of ram was a few years ago, but the requirements, both CPU time and RAM, of today's open source UNIX kernels (including NetBSD which runs on some handhelds now) has also increased.

Coming from a hacker background, I would find it more useful for manufactuers like Compaq to release the technical specifications and some example code for their product, and leave the hacking to me.

Personally, I'd prefer to whip my iPaq out on a plane and go "See, I'm running an OS I wrote!" ..

What do people think? Have people lost the hacker plot? Or is this "the way of the future" ?


Here's why (well, maybe.. ;-), posted 26 Jun 2000 at 13:55 UTC by freetype » (Master)

Well, I must say that your post confuses me a bit, as I can't figure exactly what you mean. Please pardon me if I misunderstood you..

> With the ever-increasing technology we can easily get access to
> today, why would you want to release a portable handheld computer
> running UNIX and Xwindows ? 

I've been hacking embedded systems that ran their own custom-written OSes in a not-so distant past. From personal experience, I can tell you that it is extremely convenient to be able to develop a product on a workstation and simply "port" it for something like an hand-held by typing "make" :-)

Compare it to the following real-world scenario:

  1. Your embedded system runs a proprietaty CPU. Sure it's cheap as hell, but there is only one compiler that can be used with it and it's not GCC or any other well-known brand. Forget also about C++, GDB or even having a console to debug the thing :-)

  2. You design and test your code on your workstation with the crummy tools provided by the vendor (CPU+board simulator + debugger). They turn up to be strange, incomplete, and you even discover that their compiler isn't really ANSI compliant as they claim !!

  3. Some devices are not implemented correctly by the simulator, you end up patching your own code to let it use different routines when run on the workstation, or in the hand-held.

  4. When your code works well on the simulator, you upload it to the hand-held and try to run it to see it crash.. You can now start dumping these traces through the serial port and try to debug this primitive information.

  5. After much pain, you debug your device-specific code, unfortunately a few things are still not working properly. For example, some things are not displayed correctly (shifted, blurred, whatever..). Of course everything is fine on the simulator.. You continue debugging these dumps. O joy..

  6. You understand that the graphics chipset is buggy after three weeks of really painful testing. Of course this is the kind of thing you could have spotted immediately, would you have a debugger running on the hand-held.. </ul>

    > After reading this article at Excite about Compaq's push to get Linux > and Xwindows on a handheld, I have to wonder - have people lost the > plot? A small handheld device might be as powerful as a 486-33 with a > small smattering of ram was a few years ago, but the requirements, > both CPU time and RAM, of today's open source UNIX kernels (including > NetBSD which runs on some handhelds now) has also increased.

    > Coming from a hacker background, I would find it more useful for > manufactuers like Compaq to release the technical specifications and > some example code for their product, and leave the hacking to me.

    > Personally, I'd prefer to whip my iPaq out on a plane and go "See, > I'm running an OS I wrote!" ..

    > What do people think? Have people lost the hacker plot? Or is > this "the way of the future" ?

Oops.., posted 26 Jun 2000 at 14:02 UTC by freetype » (Master)

Ha, I posted the wrong button..

In all cases, the example given above is real (it happened to me :-). It's clear that a lot of embedded systems are not developed in such awful conditions, but I want to emphasize that it's incredibly convenient to be able to test and debug your code on a hand-held with no special tricks.

As to know wether the Linux kernel and a X11 server are appropriate for such environments, the answer is a definite NO if you want to use the stock Linux 2.4 and XFree86. However, what's interesting is having a replacement that is API-compatible (as an example, QNX's graphical library isn't based on X, but provides a Xlib interface to easily port simple applications to it..)

What you're probably going to see is a stripped-down Unix kernel, as well as a stripped down X server. And you'll happily developed your product on a normal workstation..

That's what is called convenience :-)

By the way, the exact same reasoning applies to WinCE

X on handhelds, posted 26 Jun 2000 at 15:55 UTC by jamesh » (Master)

Remember that the handhelds people are talking about running X on today are more powerful than the boxes X was originally designed on, so saying they don't have enough power to run X is not true. Saying that stock XFree86 is not appropriate for these handhelds is more reasonable. As the ratios of cpu, memory and graphics speeds on handhelds is different to that of desktops, you can probably get some speed increases by redoing X's main loop to reflect these differences.

Finally, from a programmer perspective, having a posix compliant OS and X11 running on the handheld is great, as you can run the same app on your desktop natively and be pretty sure it will work on the handheld.

What's stopping you?, posted 26 Jun 2000 at 17:53 UTC by jlbec » (Master)

To get Linux and X on such a system, there will have to be specs.

If you want to write your own OS, you most certainly can.

Why on Earth would Compaq (or anyone else) go through an entire hardware design and manufacturing ramp to offer a product that can only be hacked on? From a business standpoint, what is wrong with offering a prepackaged OS setup for the normal consumer? Then, the "hacker" in you can play all you want, and Compaq can still see a way to pay for the things.

Last I checked, if there was a "hacker plot", it wasn't to fool companies into providing out-of-the-box unusable hardware to curry the whims of 10 folks on the planet.

UNIX and X on handhelds, posted 26 Jun 2000 at 21:19 UTC by k » (Journeyer)

A handheld might have enough power to run X, but is it really needed? An X desktop might be a nice application to have if you want to run X applications remotely on it, but do you need the complexity of X on a handheld device when a non-network-based GUI (eg PalmOS) would make more sense?

"Portability" is a good argument for. Write once, run everywhere. But X is simply a method for a graphics terminal to talk to an application over a network. It doesn't define anything more than drawing primitives, so for a "gui" you still need some form of widget set. Then what, a cut down version of GTK? :-)

Xcopilot, posted 27 Jun 2000 at 02:56 UTC by yakk » (Master)

The reason X on the iPAQ is important is so that it can run the Palm/Pilot emulator Xcopilot (well, thats how I see it anyway).

Re: UNIX and X on handhelds (k), posted 27 Jun 2000 at 03:57 UTC by jamesh » (Master)

And what is wrong with running gtk+ apps on a handheld :) Jim Gettys made a number of posts in the past about what would be required to get GNOME apps running on the Itsy. The main problem they had with existing X apps was that they weren't designed for such small screens.

And X11 is more than just for networked graphics display (I am sure most people running their apps and server on the same machine). In fact, you can turn off tcp connections in the server and still have a usable graphics server. X provides a well defined interface to the graphics subsystem that a lot of people already understand and can be ported to almost any modern handheld.

Same applications, same data, posted 28 Jun 2000 at 16:41 UTC by nelsonrn » (Master)

X on a handheld makes sense because I can run the same applications on the same data.

some possible routes for UIs on PDA hardware, posted 3 Jul 2000 at 12:27 UTC by nop » (Master)

On the vhl- tools issues page I had written some thoughts on this.

Here's the short argument for X. You need some way of getting pixels on screen. You could have each app open /dev/fb and render directly, but that's not very themely---it feels like Unix should have lots of little processes, not one or two monsters. So you need some strategy to mediate the display. If you don't want to put multiplexing or rendering in the kernel, you then have a userspace process that owns /dev/fb and communicates with clients. The dominant architecture for this on the Unix desktop is a server that draws pixels (but doesn't draw widgets). X gives you compatibility with that model and easy reuse of widget kits and apps that people have spent a lot of time on.

Is this the right strategy? I think it's an open question. Help us figure it out. Get involved with handhelds.org or LinuxCE or the various NetBSD-on-PDAs efforts.

I'm currently looking at all this on Linux on the Helio. This is a very space- constrained platform, and X won't fit. This keeps the Helio from taking the default "what the heck, run X" position, and makes the whole issue of UI software architecture more interesting.

Coolness Only Goes So Far, posted 11 Jul 2000 at 17:26 UTC by cbbrowne » (Master)

I happen to carry around a PalmPilot, and am not likely to give up on it any time soon now.

The PalmPilot behaves as an 'embedded system,' providing me the basic applications of calendaring, contact management, and such, and, in that context, having UNIX around, while "cool," doesn't buy me a usable user interface. And in that context, the usable user interface is the important thing.

The fact that I can dump data in and out in a number of forms, and manipulate it on Win32 as well as on UNIX is a good thing.

The big problem comes in when I want to manipulate data on such a small unit; when it's a touch sensitive screen, rather than a screen + keyboard, it is distinctly not convenient to use, at "end user" level, the UNIX paradigms of hierarchical file systems, shell commands, and data streams.

All that being said, as soon as the machine expands in size to the point where it has a "text console" and an actual keyboard, the UNIX "paradigm" becomes useful.

But when it's too small for that, having a visible UNIX paradigm provides little value. And the embedded applications that PalmOS supports, that treat the system as:

  • Menu-driven, for choosing apps
  • Embedded GUI, once you're in the app
  • Using a persistent database for data storage, rather than streams and files
seems to be a pretty decent set of abstractions to me.

I'd like a Yopy or iPaq , but if they lack keyboard, my enthusiasm with a visible UNIX on it will flag somewhat...

I Do this already..., posted 12 Jul 2000 at 06:01 UTC by imp » (Master)

I run this on my NEC MobileGear2 R430 (approximately the same thing as the NEC Mobile Pro 780). I run X and

Handhelds will be networked, posted 19 Jul 2000 at 12:15 UTC by Excalibor » (Observer)

This is a very interesting topic.

Future handheld devices will be networked (IMT-2000, the 3rd generation thingie) and with pretty high bandwidths, at that.

I've seen Linux/X on a handheld (kind of eBook), but it had a pretty big screen, other devices will be very small. What's needed is a small, non-RAM hogger graphical system...

As always, QNX's Photon microgui comes to mind, at least when dealing with small memory and display size requirements. We all know X is cool and, at the same time, has a lot of things that could be much, much better... Maybe Berlin or projects that aim to create 'x' (as a small cousin of 'X') will have the hand in this...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page