Wine, Cedega

Linux has taken excellent strides in becoming a full Windows desktop replacement operating system; advances in Open Office and Mozilla being two of the most notable. Unfortunately, the decision to buy new hardware constantly goes hand in hand with the decision to play some new game - and if it's a gaming machine you want, then Linux isn't the operating system that you need. Fence sitters end up being the people who lose. For example, you may wish to buy a new Linux rig for some CAD tool, but are forced to dual boot the machine in order to play FarCry. Intel's Vanderpool and AMD's Pacifica "virtualization" technologies may make dual boot and emulation a thing of the past, but today, we are stuck emulating Windows instead of running multiple instances of it.

Maybe emulation isn't the right word. "Wine Is Not an Emulator", as they used to say. In fact, the Wine project has very little to do with emulation. Wine acts very similarly to the AnandTech FrameGetter program - running a binary while replacing and linking libraries at run-time - but on a much more complicated level. TransGaming describes the basic implementation of WineX (Cedega) below:
"Cedega loads a game's binary into memory on a Linux system and then dynamically links to code that provides an implementation of the Win32 APIs that the program is using. The APIs that Windows games are mostly built on top of are primarily based on Microsoft's DirectX system. These APIs include facilities for handling 3D graphics (Direct3D), mouse and keyboard input (DirectInput), audio (DirectSound), and so on. TransGaming works to create Linux compatible versions of these APIs that work on top of the Linux equivalents such as OpenGL, X11, and the OSS and ALSA sound APIs." [2]
Wine continues to make an impression on the Linux gaming community. For large, major releases, Cedega provides some really great support and nearly flawless gameplay. We subscribed to Transgaming's Cedega program (previously known as WineX) several months ago and have met some limited success.

FarCry

Of course, we just laid out extensive praise for Wine and then we ran into a game like FarCry. We wanted FarCry to be our focus Wine benchmark game, but we immediately had problems when the game would not load. We were constantly greeted by "EXCEPTION: Attempt to read from NULL at 0x00000000" in the splash screen. We actually vaguely remember this same exception error from Mechwarrior 4 several years ago (on Windows). Part of us thinks that the attempt an unusual read like this may have something to the NX stack protection on Athlon 64 3800+ testbed.

Jedi Knight: Jedi Academy

Jedi Knight: JA actually runs very smoothly and flawlessly on Wine. We cannot use our FG utility on Cedega (yet) unfortunately, so our benchmarks are based on numbers obtained in the game FPS averages.

Jedi Knight: Jedi Academy

Check out our very recent Windows analysis of JKJA. As you can see from our benchmarks, there is a definite performance hit with Wine. Derek Wilson, our GPU Editor, uses a slightly faster processor in his benchmarks, but not enough to account for a 15% lacking difference that we see in our tests. Cedega is slower, but for those of us who are trying to ditch Windows, the performance levels are acceptable.

Medal of Honor Allied Assault Racer
Comments Locked

33 Comments

View All Comments

  • - Saturday, October 24, 2009 - link

    http://www.goph3r.com/mh">http://www.goph3r.com/mh
    (air jordan, air max, shox tn, rift, puma, dunk sb, adidas) nike jordan shoes 1-24 $32
    lv, coach, chane bag $35
    COOGI(jeans, tshirts, hoody, jacket) $30
    christian audigier(jeans, tshirts, hoody) $13
    edhardy(shoes, tshirts, jeans, caps, watche, handbag) $25
    Armani(jeans, tshirts,) $24
    AF(jeans, coat, hoody, sweater, tshirts)Abercrombie & Fitch $31
    http://www.goph3r.com/mh">http://www.goph3r.com/mh
  • TheWounded - Monday, November 1, 2004 - link

    Its a nice test but i would have loved to see how the XGI volari cards would have done.
    I'm interested if the volari's could be a good choice for linux gamers. But unfortunatly there are no linux benchmarks involving the volaris.
  • henca - Thursday, October 7, 2004 - link

    This was a very nice comparision of mid- and high-end cards. It would be interesting to also see a comparision with low-end cards like Matrox G550, Intel Extreme graphics and the Radeon 9200 family.

    The good news about these cards is that they are all supported by the opensource DRI drivers. An up-to-date Linux distribution should support them out of the box without having to download and install any binary drivers.
  • MNKyDeth - Tuesday, October 5, 2004 - link

    I am a Linux gamer only so a benchmark comparison like this is great. I really enjoyed reading it. But, imo, there was a lack of games included in the benchmark roundup. I would like to see Savage, NWN, and either quake3 or Heretic 2 shown aswell.

    I also do not like the showing of wineX (Cedega) benchmarks as it defeats the purpose the gaming on linux. The only way I could recomend anyone to use wineX (Cedega) is if they don't own a copy of windows. If you do own a copy of windows do not use wineX for pete's sake, just dual boot, it is the better emulator after all.
  • jerrysiebe - Tuesday, October 5, 2004 - link

    For anisotropic filtering, I did a strings search in libGL and came up with something.

    >strings /usr/lib/libGL.so | grep ANISO
    __GL_LOG_MAX_ANISO

    Setting that, I can see a visible difference and get a FPS hit, so I believe it works. On my GF4 4200, I can set __GL_LOG_MAX_ANISO to 1, 2, and 4 and see the difference. Set to anything else I get no anisotropic filtering.
  • Thetargos - Monday, October 4, 2004 - link

    Excellent article, just a comment on the NVIDIA uninstaller... it plainly doesn't work as it should. The prlblem is that it substitutes (like the ATi driver) some libraries in the system, but unlike ATi's driver, NVIDIA's driver also makes a change in one library used for the Direct Redering Infrastructure, libdri.a specifically. So uninstalling the drivers with NVIDIA's uninstaller this won't be reverted (re-install of the XFree86 package or Xorg package is required, note only the core package is need).
    In favor of ATi's driver, the uninstallation is much easier and the system is restored to its previous stage, restoring the backup copy of libGL.so.1.2 that is the only system library it overwrites.
  • plamalice - Monday, October 4, 2004 - link

    The Nvidia AGPgart driver is causing problems with ATI cards (perhaps other non-nVidia card as well) on both Win and Linux when used on an nForce based mobo (of course). Nforce3 (150, pro150) have both caused me problems when using an ATI card until the gart driver was uninstalled.

    A poor attempt by nVidia to make ATI card appear unstable ? :P

    Anyways, if you have an nForce-based motherboard and an ATI gfx card, do not use nvidia's gart driver.
  • KristopherKubicki - Monday, October 4, 2004 - link

    directedition: i just symlink /mnt/cdrom to /media/dvdrecorder

    Kristopher
  • zainab12345 - Friday, September 18, 2020 - link

    you can easily play this [Medal Of Honor Download Highly Compressed][1] , check out this blog

    [1]: https://hdpcgames.com/medal-of-honor-limited-editi...
  • mczak - Monday, October 4, 2004 - link

    "Keep in mind that we even run SuSE, a RPM derivative - not too different from Red Hat."
    That really doesn't make sense. RPM is just the package manager! If a dos version which uses rpm would exist, would you say that it is "not too different" too?

    "Below, you can see a screen grab from our ATI frame buffer playing Unreal Tournament at 800x600. The image should not be surrounded by a black border, but rather, stretched to the limits of the screen."
    This looks to me like you did not have configured 800x600 resolution in the Xfree config file (Sax2 will happily do that) - you cannot switch to fullscreen resolutions not configured usually with XFree/Xorg (though maybe the nvidia driver doesn't care).

    btw about aniso not working: I guess you could do that quite easily with framegetter? Just intercept the filter setting calls and replace them?

Log in

Don't have an account? Sign up now