WineX (And Warcraft3) On FreeBSD
Dan writes "Kenneth Culver has implemented the Linux ftruncate64, truncate64, and mmap2 syscalls in the linuxulator on his computer, (mostly cut 'n pasted the mmap2 from regular mmap with a couple of changes) and with these changes it is possible to run the Linux version of WineX (the one you have to pay for) to run Warcraft 3 on FreeBSD." If WineX is interesting to you, this earlier article on playing Windows games with WineX (under Linux) may be worth a read.
I'd love to try this, but I don't have a *nix system.
Will there be a port to Windows any time soon?
I'm just waiting for the WineO port so I can sit on my park bench and game all evening.
*hic*
The FreeBSD Linux emulator isn't really an emulator as such: it substitutes a different syscall table for the FreeBSD one and runs the ELF binary as if it were Linux. Sometimes it's slower than Linux, sometimes it's faster. Performance should be much the same as Linux.
I don't think that BSD actually emulates Linux. My understanding is that BSD exposes a Linux ABI. I suppose that there might be a little bit of manipulation behind the scenes when a Linux function is called, to adapt it to an underlying BSD call, but not to the extent that it would be called emulation.
If this is the case, there shouldn't be too much of a performance hit.
I could be wrong though, OSX is more my sort of thing.
i can picture all of the AC's scurrying to open up ~/text/bsd-is-dead.html to begin pasting away.
Games seem to be a major factor when it comes to choosing an OS (or even a console). Thanks to apps like Wine and orgs like Loki, we'll have em all someday on the *nix systems. Things are looking up. I got hold of The Return to Castle Wolfenstien beta for linux before I could get a Windows version. And if you're targetting Linux , why not the rest of the *nix distros. It's all moving in the right direction. How about a KILLER game for the *nix platform which can NOT be run on windows........
|/________
|\A|ALYS|
Note - this is not a dupe
I feel that this is informative, due to the extremely high dupe story rate on slashdot in the last few days.
I do not run *BSD, as I know Linux and am comfortable with at after some 9 years of use. However, it is a great testament to the power of the open source concept that this is possible at all. I am tremendously impressed with the BSD guys for achieving this.
Remember, it is a Good Thing tm to have a computing infrastructure made of diverse systems. So the more code that can be run on Linux , *BSD, Hurd, OSX and others the better.
Today, Wine is probably no less compatible with a random version of windows than any other random version of windows.
- Paul
There are more here
I use Wine almost every day to run IE6 with the Adobe SVG Plugin and it works great. How do I do this? Simply, I got a copy of Crossover (a commercial distro of Wine) and pointed it at a build from Wine CVS.
Wine isn't yet easy enough to setup for most people, so Codeweavers do it for you. Think of them as the Redhat of Wine. It is possible to do anything you can do in CrossOver with WineHQ wine, but it's a lot harder. Wine is scheduled to get "ease of use" some time around 0.9 and 1.0 which are happening probably sometime mid to late next year.
http://frankscorner.org/wine/modules.php?op=modloa d&name=Sections&file=index&req=viewarticle&artid=6 8&page=1
title says it all;
"If you don't want to spend 5 bucks on WineX, you can always try compile it yourself, but the CVS version of WineX is a little different from the commercial version:
* no support for Installshield installers
* no copy protection code
To install WineX from CVS you must have CVS installed on your computer."
world was created 5 seconds before this post as it is.
My understanding is that BSD exposes a Linux ABI. I suppose that there might be a little bit of manipulation behind the scenes when a Linux function is called, to adapt it to an underlying BSD call, but not to the extent that it would be called emulation.
[...]
I could be wrong though, OSX is more my sort of thing.
Mac OS X does just that when you launch a CFM-based Carbon App.
CFM ("Code Fragment Manager") is the old ABI of Mac OS. When the Finder launches a CFM-based application, withint the native Mach-O -based Mac OS X ABI environment, it actually launches another application called "LaunchCFMApp" and passes your app as a parameter.
LaunchCFMApp does exactly what this Linux ABI thingy does on FreeBSD: it loads the "foreign" application's ABI, creates a vector map in memory and connects all function calls from the "foreign" ABI to the "native" entry points.
This is not emulation, but rather, dynamic re-linking.
Over the last year, I've bought Codeweavers Crossover (both Plugin and Office) and a subscription to Transgaming's effort. Take a look at the programs listed in the main Wine tree and at Transgaming's site.
If you want to roll your own, most of the code is available in some form from both branches, though the commercial distributions are more polished. If I were to deploy Wine over a large number of machines, I would probably go back to building my own just to cut costs.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
It's no wonder that BSD lacks behind linux in software when it is missing important system calls!
:-P
No, BSD just got it right the first time
From a freebsd-emulation mailing list post:
To me, it looks like mmap2 takes an offset that's a page index, rather
than a byte position. Since linux passes the offset with a 32-bit
long, rather than a 64-bit off_t like we do, they need to do this in
order to be able to map offsets larger than 4GB into a file.
So mmap2 would be redundant on BSD...