Check out the new USENIX Web site. Next Previous Contents

1. Introduction

1.1 What is lxrun ?

Lxrun is an emulator that allows the execution of Intel Linux binaries on Intel UNIX® platforms. The currently supported platforms are SCO OpenServer 5 (UNIX SVR3), SCO UnixWare 2.x (UNIX SVR4) and SCO UnixWare 7 (UNIX SVR5).

Lxrun works by remapping system calls on the fly. Since lxrun does its work at the system call level, it requires copies of the Linux dynamic loader (*) and whatever Linux shared libraries are required by the program being run. The current development release of lxrun consists of approximately 6000 lines of code (146 Kilobytes).

Most programs that do not rely on Linux-specific quirks or deal directly with hardware should work under lxrun. Users of lxrun have reported success with raplayer (RealAudio client), xquake, the StarOffice suite, gcc (the GNU C compiler), smbclient, the AC3D modeller and a myriad of smaller applications and utilities.

1.2 Why should I use lxrun ?

The original impetus for writing lxrun was to be able to run Netscape Navigator 1.x on SCO OpenServer. When Netscape ported Navigator to SCO platforms, the need was obviated. Later, work was resumed in an attempt to run Adobe Acrobat Reader on OpenServer. The body of system call mappings in lxrun grew gradually as users modified it to work with more and more applications. By this process, lxrun became quite robust, able to handle sophisticated X11, audio, and networking applications.

Lxrun promotes the interoperability of Linux with other UNIX and UNIX-like platforms. This improves the user's ability to combine the best aspects of available operating systems. For example, it allows a user to combine Linux's large freeware application base with SCO's:

Every UNIX vendor could construct such a "Why you should use my platform" list. Lxrun allows the user to leverage the large base of precompiled Linux software without restricting the choice of platform.

Next Previous Contents