Date: Fri, 24 Mar 2000 12:46:13 -0600 From: Jeremy Falcon <jeremy@intersurf.com> To: cuallo@hotmail.com, freebsd-questions@FreeBSD.ORG Subject: Re: Message-ID: <00032415213801.00479@local.imputek.com> References: <000701bf95b2$6cd551e0$cf651ece@oemcomputer>
next in thread | previous in thread | raw e-mail | index | archive | help
You cannot run Windows/DOS applications on FreeBSD at all, without the assistance of an emulator. Windows' thing is using DLLs (kernel32.dll, system32.dll, user32.dll, gdi32.dll, etc.). For a program to run in Windows it has to first establish itself as a valid Win32 program and then start calling some Win32 APIs (i.e. CreateWindowEx) or in this case DirectX APIs, which loads those DLLs in memory (well, most of the time the core DLLs are already in memory, like gdi32.dll) to resolve the function called. You'll never get to that point on another OS b/c it will not recognize the EXE header/format, etc. You can't even run a Win32 program in DOS. The header of a Windows EXE contains info on which platform it will run. A good example of this is to use debug (in DOS or DOS32) and dump the contents of a Windows app and you'll see (in the header of the EXE) in the ASCII representation on the right the same error string you'd get on a DOS prompt when trying to run it; "This applicaton cannot be run in DOS mode." Things may be a bit different in the UNIX/Linux world (I just recently started to learn more about it, like a.out, ELF, COFF, etc., instead of just chmod 755 for CGI :o) ), but I'm willing to bet it's going to be close to the same. Anyway, Direct3D is proprietary and Microsoft will never port it to another OS. They'd prefer you using Windows to use it., and it's not going to work on top of an emulator unless Direct3D is emulated itself -- too slow. Our only hope of using Direct3D on another platform was via Fahrenheit (the MS and SGI project to combine OpenGL and Direct3D), but Microsoft always gets their way so now it's Windows only. Somehow I think SGI was paid serious $$ for that. Hmm. Your only hope for using Glide right now for mult-platform gamming is porting it yourself to FreeBSD, don't bother with Linux or DOS runtime support on FreeBSD, b/c emulation is too slow for a graphics engine (that's assuming it'll even work -- doubt it). I heard that Glide went open source (correct me if I'm wrong), so that may make it a good choice if you feel like a lot of work. Your best best (assuming your actually developing) is to use OpenGL by Silicon Graphics b/c it's supported natively by just about every OS out there, Windows, OS/2, Mac OS, BeOS, XFree86 (not a full OS, but a good X server), etc. Of course, if you're not a developer then the answer to your qeustion is a lot shorter, "no." :o) Finally, if you want to play Windows games, your best bet is to just add FreeBSD in it's own partition and keep Windows installed too. Of course, WMware might work, I don't know the internals and I haven't used it to tell you more. My guess is, if it's runs the entire OS instead of just emulating a program for that OS, it could run DirectX on top of the OS too. Maybe a WMware user can help with that one. Hope this helps, Jeremy L. Falcon P.S. Most of the guys (and gals) here are not affiliated with the FreeBSD project. We are users willing to lend a helping hand from time-to-time. > Dear FreeBSD team, > > I am interested in getting free BSD. I would like to know if I can run Windows > applications that use 3D APIs like Direct 3D, Glide, et cetera. > > Thanks, > cuallo@hotmail.com > ---------------------------------------- Content-Type: text/html; name="unnamed" Content-Transfer-Encoding: quoted-printable Content-Description: ---------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?00032415213801.00479>