[Wine] Re: This Specs and upcoming games?

SpawnHappyJake wineforum-user at winehq.org
Wed Sep 21 22:13:52 CDT 2011


> Haha, yeah i know that specs are good for gaming, if it were for windows i wouldn't have even asked Razz
> 
> but because i will be using it through Wine, that is why i feel i needed to ask
> 
> because my thought was, it would be just like using Parallel on Mac to play Window games, which is like virtually playing Windows game on Mac ( hence like playing it on a Wine in Linux )
> 
> so i thought that maybe it needed double the processor effort 


There is a major misunderstanding here. WINE is nothing like a virtual machine at all. WINE has near native spec requirements. Sure, maybe a little loss, but nothing at all like a virtual machine.

Programs are made of two parts, processor instructions and calls to code provided by the operating system. When an operating system runs a program, it resolves those calls (ultimately into processor instructions), and lets the processor instructions go to the processor.

If a program has Windows "calls," then those calls must be translated into Mac OS or Linux "calls" for that operating system to resolve the calls to run the program.

WINE is such a translator. WINE doesn't actually "run" programs. It just serves as a translator between the operating system and the program.

So let's say you are playing Skyrim in WINE 1.3.33 (just a hopeful gaze into the future). You open the process list for your operating system (gnome-system-monitor or Activity Monitor or whatever). You will actually see skyrim.exe as a process that the operating system is running. WINE isn't "running" skyrim.exe, the operating system is, though WINE does mimic a kernel to the Windows program and does some kernelish things.

Let's compare that to a virtual machine of Windows. Skyrim would be running in Windows in a virtual machine. That virtual machine is a "black box" to the host operating system. The host operating system is completely unaware of processes being ran by a guest operating system. Also, your hardware has the obvious load of running both operating systems at the same time in the case of virtualization, but it's much more than that. The virtualization program has to emulate an entire hardware platform and BIOS (or EFI), which is a monstrous task. Such emulation implies constant analysis of the output of the guest kernel. The virtualization program must constantly analyze and alter the exchange of data between the guest kernel and the processor to maintain the illusion of an emulated hardware platform, on which the virtual machine sits.

WINE doesn't impose the load of running a second operating system or the load of emulating any hardware. And the whole "analyze and intercept" thing is greatly less than what you see in a virtual machine.

In a virtual machine, you don't get to use your real graphics card (at least not yet). You use an emulated graphics card. Sure, you might be able to share some real video RAM to this emulated graphics card, but you aren't actually using the real graphics card. A lot of load is put on the CPU that should be on the GPU, unless there is some GPU sharing I'm not aware of at the moment.

WINE on the other hand sends graphics calls to the real graphics card. When you run a game in WINE, the game is actually being rendered by your real graphics card.

WINE sees and uses real hardware.

Cheers,
Jake







More information about the wine-users mailing list