The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Поиск:  Каталог документации

10. Emulation and Virtual Machines

Linux gets ragged on a lot because we don't have the wealth of games that other platforms have. Frankly, there's enough games for me, although it would be really nice to have some of the bleeding edge games and classics like Half-life and Carmageddon. Fortunately, we have more emulators than you can shake a stick at. Although playing an emulated game is not quite as fun as playing it on the native machine, and getting some of the emulators to work well can be a difficult task, they're here, and there's alot of them!

10.1. Apple 8-bit

All the 8-bit Apple ][ emulators require a copy of the original ROM, for whichever system you want to emulate, in a file. If you search hard enough, you can find file copies of the ROMs for the Apple ][, ][+, ][e, ][c and //gs. They are still copyrighted by Apple, and you can only use them legally if you actually own one of these computers.

10.1.1. KEGS

KEGS is an Apple II emulator written by Kent Dickey which was originally written for HP-UX, but improved and customized for Linux. It runs under X at any color depth, and supports changeable memory sizes, joysticks, and sound. KEGS boots all Apple II variants, and supports all of the Apple ]['s graphics modes. I can't find a working homepage for this application.

10.1.2. apple2 and xapple2

The SVGAlib based apple2 and X based xapple2 can emulate any Apple ][ variant except for the //gs. The interface is a bit funky, but usable. Configuration is also a bit funky; this emulator would benefit from an SVGA or X based configuration tool. It supports the undocumented portion of the 6502 instruction set which some games rely on. apple2 is currently being maintained by Michael Deutschmann and seems to be developed at a slow but constant pace. I don't think this application has a homepage.

10.2. DOS

10.2.1. dosemu

dosemu <> is the canonical DOS emulator on Linux. When you think of DOS, don't think of things like PROCOM PLUS OR OTHER PROGRA~1 WHICH HAVE SHORT NAMES AND ARE IN ALL CAPS. There are some real classics that were written for DOS like Carmageddon, Redneck Rampage and Tomb Raider. dosemu can run these. Unfortunately, it can take alot of effort to get dosemu to work, and of Jan 2002, the sound code is somewhat broken. Not a big deal when you're trying to run Wordperfect or an old database application. It's an absolute show stopper for gaming. Getting dosemu to work well is not easy, but unfortunately, for DOS games it's the best avenue. Good luck. If you have success using dosemu, I would like to hear from you.

10.3. Win16

10.3.1. Wabi

Wabi is a commercial Win16 emulator. That is, it'll run Windows 16-bit applications from a Windows 3.1, Windows 3.11 or Windows for Workgroups 3.11 environment. Wabi was originally created by SCO Unix a long time ago and then was purchased by Caldera sometime in mid year 2001.

Wabi is fast and does a good job for what it does, although I've heard it said that wabi for Solaris is more stable than Linux. It might be useful for playing older Win16 games, but there are three problems:

  • You must have a licensed copy of Windows 3.1/3.11 or WfW 3.11.

  • Wabi is awfully expensive for what it does.

  • Wabi doesn't work under 32bpp or 24bpp color.

Wabi does NOT do DOS itself, but it looks like it can use a DOS emulator as a backend for running DOS programs. There was talk about Wabi 3.0 which would've done Win32 emulation, but AFAIK, this project was shelved indefinitely. I think Wabi will run under Linux on all architectures (can someone verify this?)

10.4. Win32

10.4.1. wine

Wine <>, which bears the GNUish acronym "Wine Is Not An Emulator" is a non-commercial implementation of the Win32 API. The reason why it's not an emulator is subtle and not of much interest to most non computer scientists, so we'll call it an emulator here (it really does run-time translation of calls to the Win32 API to POSIX/X11 calls). Wine has come a long way, and is capable of emulating many important programs, which is great news for Linux users who want this sort of stuff.

Wine does not provide the DOS API, so you can't use it to run DOS applications. For that, you should look at dosemu (Section 10.2.1). Wine has never been too good at implementing DirectX, although a number of games are known to work under wine. For gaming you might want to look at winex (Section 10.4.3).

In addition to run-time translation of the Win32 API to POSIX/X11 (it runs Windows applications on Linux), wine also does compile-time tranlation of the Win32 API to POSIX/X11 (it compiles Windows application source code on Linux). In this sense, wine is a Windows-to-Linux porting utility. The x86 architecture isn't required, but is recommended since it allows actual x86 binary execution as well as direct DLL usage).

You can use wine `with Windows', which means that wine uses libraries that actually come with Microsoft Windows itself. This is legal only if you own a copy of Windows which isn't currently being used on a computer. It's said that wine has the best success when run with Windows. You can also run wine without Windows. The people at winehq are writing their own set of libraries called libwine which implements the Win32 API with no Microsoft code at all.

Wine was originally licenced under the MIT/X11 license, so it could be used for both commercial and non-commercial purposes. In mid 2002, parts of wine were re-licensed under the LGPL so that it could only be used for non-commercial puposes. This presents a problem for companies like Transgaming (Section 10.4.3) and prompted a fork of wine called ReWind (Section 10.4.2).

10.4.2. rewind

Rewind <> was started by Eric Pouech (a wine developer) and Ove Keven (a winex developer) in response to wine's license change (Section 10.4.1). It started out life as a snapshot of the last version of wine which was completely licensed under the MIT/X11 license. The aim is to keep rewind MIT/X11 based so that companies like Transgaming can offer wine based products.

10.4.3. winex

Winex is released by a company called Transgaming <>. The developers take wine (see Section 10.4.1) and add DirectX / DirectDraw support. Although winex is commercial, they have an interesting business model.

The end user (you) can download the source code for free. However, for 5 US dollars per month, you can become a subscriber of Transgaming. Being a subscriber of Transgaming gives three major benefits:

  • Subscribers can download convenient packaged versions of winex in deb, rpm or tar.gz format whenever they want, including updates.

  • There are monthly polls where subscribed users can take votes on what they want winex developers to work on. For instance, they can vote for things like "Improve support for copy protected programs", "Better Installshield support" or "Improve DirectX 8.0 support". As far as I can see, the developers really do listen to the subscriber polls.

  • The Transgaming website has a few user support forums. On one hand, they use the most godawful, horrible, confusing, wasteful, moronic format I've ever seen and I hope to god I never see a forum with a format as bad as Transgaming's. On the other hand, you can ask for help and the developers are VERY good about getting around to your answer; their vigilance is quite impressive. Non-subscribers can browse the forums, but only subscribers can post (and therefore, ask for support).

The developers of winex were going to release their Installshield, DirectX and DirectDraw enhancements to wine "every so often". In return, as wine maturation improved, the winex developers were going to take the new versions of wine and use them for winex. However, since the birth of Transgaming, parts of wine have been re-licensed under the more restrictive GNU LGPL license (Section 10.4.1). This basically means that versions of wine that are released past the date of the re-licensing can no longer be used by winex. Therefore, winex will now be based on rewind (Section 10.4.2).

10.4.4. Win4Lin

Win4Lin <> is a commercial product by Netraverse. Like vmware (Section 10.4.5) it uses the virtual machine approach to running Windows applications, so you'll get a big window from which you can boot Windows and run all kinds of Windows applications. Unlike vmware, win4lin only does Windows 95/98/ME, but this turns out to be better for gamers. Because win4lin concentrates on these operating systems, reports say that it's faster and does a better job at running games under these operating system than vmware. It's also much cheaper than vmware. The most recent version of Win4Lin as of May 2002 is 4.0.

  • It does not support DirectX or DirectDraw, while vmware has "limited" support for DirectX.

  • It only supports serial and parallel devices. This is important for people who use USB joysticks. Note that vmware supports up to 2 USB devices.

  • As of January 2002, expect to pay $80 without printed docs and $90 with printed docs. In addition, there isn't an evaluation copy available, although you get a 30 day money back guarantee. However, since it's commercial you do get tech support. vmware is considerably more expensive.

  • Like vmware, you're required to have a licensed copy of Win95 or Win98. Win4Lin cannot use an existing Windows installation the way wine can.

  • It only runs on x86 architectures.

If your goal is to run Win95/98/ME applications on Linux, without USB and on the x86 architecture, Win4Lin's cost and focus on Win95 type OS's make it a better choice than vmware. However, if you must have USB support or run Linux on a platform other than x86, vmware is your only option.

Now if you're goal is to run Win95 type OS games under Linux, Win4Lin almost seems better than vmware. The show-stopper is the fact that vmware has limited DirectX support while Win4Lin has none. This fact alone makes both Win4Lin and vmware unsuitable for most hardcore gaming purposes. But if you're going to give it a try, you're more likely to have success with vmware.

10.4.5. VMWare

Inferno Solutions
Hosting by

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру