Linux on Windows with Lina

Send to a friend Print

Help more people find out about this story

Del.icio.us
StumbleUpon

Ashton Mills26 June 2007, 9:38 PM

Between WINE, VMware, BOCHs and virtual machines, we're spoilt for choice when it comes to running Windows applications on Linux. But what about the other way around? Cygwin aside, there is another way.


LINA on Windows: Source: LINALINA on Windows: Source: LINA

Between WINE, VMware, BOCHs and ilk -- not to mention the renewed focus on virtualisation we're now seeing -- we're somewhat spoilt for choice when it comes to running Windows applications on Linux. But what about the other way around? Cygwin aside, there is another way.

It goes by the name of LINA, and after four years of development , it is due for release later next month. Building off a concept similar to Java, LINA aims to provide open-source developers the ability to compile applications that will run on all of Windows, MacOS X, and various Unix systems. Additionally, it promises to do so using each OS' own interface libraries -- so a Linux application on Windows doesn't look out of place -- and runs them within their own contained environment to ensure they don't play up.

This is, of course, somewhat of a holy grail and raises all sorts of questions -- like just how easy is it to use, how does it perform, and what changes if any need to be made to Linux applications to run on the Lina platform.

While we won't know until the next month when the product is released, we did fire off a bunch of questions to LINA developer Nile Geisinger, and got these answers:

How are Linux applications for LINA built?

Applications are recompiled using our versions of standard Linux libraries. Developers and maintainers can include a simple script to automatically build a LINA binary every time they make a release of their project.

What exactly is in a LINA executable?

Our Linux executables are bundled in zip files that contain configuration files and native executables for each platform.

What if you want to alter the ini files of an app, do you make changes directly to the files within the zip, or is it more complex than that?

Good question. The user can edit files that they normally would edit. For example, if they install Apache, they can modify their httpd.conf file in the same way they normally would.

What happens if applications depend on, for eg, a glibc library version that Lina doesn't support?

In cases where an application depends upon a specific version of a library like glibc, they can statically link the libraries they need into their application without waiting for a new release of LINA.

Do you already have a repository of applications compiled for Lina ready to go, and if so which ones?

We do not have a repository, but we will have several demos that will be revealed upon release.

Is the 'secure and stable execution platform' a function of the host OS or Lina? For eg -- permissions, is Lina enforcing access permissions or relying on those set by the OS?

Applications only have access to resources of the user's operating system that LINA enables them to have access to. In addition to the OS enforcing permissions, LINA has been architected so that it can also enforce access permissions on an application by application basis. We plan on providing developers with tools that allow them to specify these permissions in the future.

Are OpenGL applications supported as well?

We are not supporting OpenGL in the short-term. Given the interest, though, we expect OpenGL support will emerge fairly quickly.

Speed -- how fast is it compared to a native application?

There is a 2X performance hit for running applications in LINA. In the short-term, there is also an additional performance hit for GUI applications. This additional performance hit will be eliminated when we optimize the mechanism by which we make operating system calls.

Lina is dual-licensed under the GPLv2 and a commercial license. What does the commercial license entail?

We are currently working out the details of the commercial license.

Finally, one other question -- where do you class LINA in the line between interpreters and bytecode, and virtualisation? It appears to be taking from each, so how would you describe it?

Nope, you're right. LINA is borrowing from several existing categories that are normally quite separate from one another.

It all sounds rather intriguing, so you can be sure we'll check it out when it's released. For more on LINA check out the homepage at www.openlina.com and the demonstration videos . We're told LINA is due for release 'mid-july' and will initially provide the Lina framework for Windows XP/200/Vista, MacOS X, Fedora, OpenSuse and Ubuntu.


Post your comment



Reader Comments

RSS feed Email alert

Aubrey.conversely:

Ashton, did he really truly say "architected" or did you make that up?

I think someone should have dictionaried it.



usacomputertec:

If you can run Mac apps then the video editors better have access to the DV Fire wire ports!

usacomputertec:

Will there be a free version?

Archipel:

What do you think GPL stands for? Freedom!

A nonymous:

Well, it could be "free" but:

A. The commercial license could prohibit you from using or installing it for work - including installing it for your customers.

B. Last time I looked at VirtualBox the free version had to be compiled - that cuts out most Windows users from trying it. This could be the same.

Anonymous Bastard:

So it isn't linux binaries running on Windows - it's RECOMPILED binaries running on Windows, and this is in effect a set of libraries which don't even come close to Wine.
Misleading headline even though the news is kinda interesting ...

ths:

This must be a yoke, right? There are even more options to run Linux under Windows than the other way round. The fastest is probable colinux and Xming, but I am still waiting for a stable release. Then there is VMware, Virtual PC, VirtualBox and friends, plus the free virtual machines Bochs and qemu. Finally you can use cygwin, although that is more "generic unix" under Windows than Linux.

So the only advantage of Lina is that they define a virtual machine interface and an API that works as good as native (or close) on different platforms (based on the i386). If it works, that would be quite an achievement, but it is not really similar to any of the mentioned alternatives. And I would like to see how it works on a 64bit system... which is going to be the next big challenge.

anonymous user Anonymous user

Tags