<<

SEMINAR REPORT 2013

WINE

1. INTRODUCTION

1.1 WINDOWS AND

Different software programs are designed for different operating systems, and most won’t work on systems that they weren’t designed for. Windows programs, for example, won’t run in Linux because they contain instructions that the system can’t understand until they’re translated by the Windows environment. Linux programs, likewise, won’t run under the Windows because Windows is unable to interpret all of their instructions.

This situation presents a fundamental problem for anyone who wants to run software for both Windows and Linux. A common solution to this problem is to install both operating systems on the same computer, known as "dual booting." When a Windows program is needed, the user boots the machine into Windows to run it; when a Linux program is then needed, the user then reboots the machine into Linux. This option presents great difficulty: not only must the user endure the frustration of frequent rebooting, but programs for both platforms can’t be run simultaneously. Having Windows on a system also creates an added burden: the software is expensive, requires a separate disk partition, and is unable to read most file system formats, making the sharing of data between operating systems difficult.

1.2 WHAT IS ?

Wine makes it possible to run Windows programs alongside any -like operating system, particularly Linux. At its heart, Wine is an implementation of the Windows Application Programming Interface (API) , acting as a bridge between the Windows program and Linux. Think of Wine as a , when a Windows program

1 Seminar Report 2013 WINE

tries to perform a function that Linux doesn’t normally understand, Wine will translate that program’s instruction into one supported by the system. For example, if a program asks the system to create a Windows pushbutton or text-edit field, Wine will convert that instruction into its Linux equivalent in the form of a command to the window manager using the standard X11 protocol.

Wine is often used as a recursive acronym, standing for "Wine Is Not an ". Sometimes it is also known to be used for "Windows Emulator" (An emulator duplicates (provides an emulation of) the functions of one system using a different system, so that the second system behaves like (and appears to be) the first system.). In a way, both meanings are correct, only seen from different perspectives. The first meaning says that Wine is not a virtual machine, it does not emulate a CPU, and you are not supposed to install Windows nor any Windows device drivers on top of it; rather, Wine is an implementation of the Windows API, and can be used as a library to port Windows applications to UNIX. The second meaning, obviously, is that to Windows binaries (.exe files), Wine does look like Windows, and emulates its behaviour and quirks rather closely.

1.3 WINE FEATURES

Throughout the course of its development, Wine has continually grown in the features it carries and the programs it can run. A partial list of these features follows:

 Support for running Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) and DOS programs.

 Optional use of external vendor DLL files (such as those included with Windows).

 X11-based graphics display, allowing remote display to any X terminal, as well as a text mode console.

 Desktop-in-a-box or mixable windows.

 DirectX support for games. Seminar Report 2013 WINE

 Modem, serial device support.

 ASPI interface (SCSI) support for scanners, CD writers, and other devices.  Advanced unicode and foreign language support.

1.4 WINE VERSIONS

Wine is an open source project, and there are accordingly many different versions of Wine for you to choose from. The standard version of Wine comes in intermittent releases (roughly twice a month), and can be downloaded over the internet in both prepackaged binary form and ready to compile source code form. Alternatively, we can install a development version of Wine by using the latest available source code from the Git repository.

1.5 WINE BENEFITS

 Wine makes it possible to take advantage of all the UNIX strong points (stability, flexibility, remote administration) while still using the Windows applications you depend on.

 UNIX has always made it possible to write powerful scripts. Wine makes it possible to call Windows applications from scripts that can also leverage the UNIX environment to its full extent.

 Wine makes it possible to access Windows applications remotely, even if they are a few thousand miles away.

 Wine makes it economical to use thin clients: simply install Wine on a Linux server, and voila, you can access these Windows applications from any X terminal.

 Wine can also be used to make existing Windows applications available on the Web Seminar Report 2013 WINE

 Wine is Open Source Software, so you can extend it to suit your needs or have one of many companies do it for you.

1.6 WINE SIZE

Wine is not small at all. WINE 1.0 have over 1.8 million lines of code (with blank lines and comments), ~300,000 of which are tests, and ~87000 are related to (a subset of DirectX) implementation [original research]. That's because what a UNIX program assumes to find in a system is much less that what a Windows application assumes to find (which are thousands of Windows APIs [10]). Seminar Report 2013 WINE

8. ALTERNATIVES TO WINE

8.1 ANOTHER OPERATING SYSTEM

Probably the most obvious method of getting a Windows application to run is to simply run it on Windows. However, security, license cost, backward-compatibility, and machine efficiency issues can make this a difficult proposition, which is why Wine is so useful in the first place. Another alternative is to use ReactOS (http://www.reactos.com), which is a fully open source alternative to Windows. ReactOS shares code heavily with the Wine project, but rather than running Windows applications on top of Linux they are instead run on top of the ReactOS kernel. ReactOS also offers compatibility with Windows driver files, allowing the use of hardware without functional Linux drivers.

8.2 VIRTUAL MACHINES

Rather than installing an entirely new operating system on your machine, we can instead run a virtual machine at the software level and install a different operating system on it. Thus, we could run a Linux system and at the same time run Windows along with your application in a virtual machine simultaneously on the same hardware. Virtual machines allow us to install and run not only different versions of Windows on the same hardware, but also other operating systems, including ReactOS. There are several different virtual machine offerings out there, and some are also able to emulate hardware on different platforms. The open source Bochs (http://bochs.sourceforge.net/) and QEMU (http://www.qemu.org/) can run both Windows Seminar Report 2013 WINE

and ReactOS virtually. Other, commercial virtual machine offerings include Vmware (http://www.vmware.com/) and ’s Virtual PC (http://www.microsoft.com/windows/virtualpc/). There are significant drawbacks to using virtual machines, however. Unlike Wine, such programs are , so here is an inevitable speed decrease which can be quite substantial. Furthermore, running an application inside a virtual machine prevents fully integrating the application within the current environment. We won’t, for example, be able to have windows system tray icons or program shortcuts sitting alongside our desktop Linux ones, since instead the Windows applications must reside completely within the virtual machine. Seminar Report 2013 WINE

9. SCREEN SHOTS ON WINE

An error occurred while trying to open an .exe file before installing Wine software. Seminar Report 2013

WINE

Wine installation through a package by clicking on it. Seminar Report 2013 WINE

Uninstalling of software’s that were installed using Wine also can be done. Seminar Report 2013 WINE

10. CONCLUSION

Wine is not complete, because it faces up with problems like catching up with more recent Windows systems. For example (not saying this have actually happened) when they completely supported Windows 95 applications, they were struck by XP, and then the XP SP1 and (there are many editions in middle). Wine development is indeed much slower than the real development pace of the real Windows (thousands of organized developers vs. hundreds of random contributers-700 have contributed to Wine).

Hope that Wine will overcome all its disadvantages and result in an all- round development of Linux systems. Seminar Report 2013 WINE

11. BIBLIOGRAPHY

 www.winehq.org

 www.wikipedia.org

 www.about.com

 www.stason.org

 www.scribd.com

 www.codeweavers.com