Forgot your password?
typodupeerror
Games Linux

Linux 3D Games Run Faster On PC-BSD 298

Posted by Soulskill
from the with-enough-emulators-we-could-make-the-singularity dept.
koinu writes "Phoronix has published benchmarks comparing 3D game performance on Ubuntu Linux 11.04 with the FreeBSD Linux ABI emulation on the 8.2 release of PC-BSD, which is a desktop variant of FreeBSD. Most results show that the emulated Linux layer on FreeBSD performs better than Linux natively. It's pretty interesting, because most people would expect that an additional abstraction layer would generally slow down the execution of binaries."
This discussion has been archived. No new comments can be posted.

Linux 3D Games Run Faster On PC-BSD

Comments Filter:
  • by Anonymous Coward on Thursday September 08, 2011 @06:37AM (#37337858)

    I don't see why anyone would treat these guys seriously.

    He just produces any content he can think of that's controversial and will get him page hits.

  • Compiz (Score:5, Informative)

    by jonsmirl (114798) on Thursday September 08, 2011 @06:46AM (#37337914) Homepage

    This is likely caused by Compiz interacting with the game engine on Ubuntu. Turn Compiz off and re-run the benchmarks.

  • by ByOhTek (1181381) on Thursday September 08, 2011 @07:03AM (#37338020) Journal

    As a FreeBSD user, I can't necessarily agree with you.

    WoW also performs better on FreeBSD/Wine than it does on Windows. The issue here, is the graphics capabilities. If it asks less of the graphics card, it will still run, but run faster. In the case of WoW, it's not trying to do nearly all the fancy GPU stuff that windows would do, so it is faster.

    Now, if this were various server/desktop non-multimedia applications, I might start to find the article relevant.

  • Not a good test. (Score:5, Informative)

    by Junta (36770) on Thursday September 08, 2011 @07:13AM (#37338068)

    The test was insufficient to actually conclude anything of value. They used two *different* systems instead of reinstalling (specs looked *close*, but they weren't the same). They used KDE vs. Unity (this by itself explains the discrepancy, it's widely been shown unity degrades full screen 3d performance). It compared only one version of one distribution to one version of one variant of BSD. It only compared the nVidia driver, though there is no choice on that front.

    "Unity slower than KDE" is a more likely conclusion, but again, you'd need a more controlled test to say anything. Phoronix should be ashamed...

  • Interesting. (Score:5, Informative)

    by DiSKiLLeR (17651) on Thursday September 08, 2011 @07:34AM (#37338182) Homepage Journal

    FreeBSD had always ran Linux binaries faster than Linux. Interesting that this may still be the case.

    Point, though, that the 'Linux Emulator' in FreeBSD isn't really an Emulator. FreeBSD runs Linux binaries natively. The so called 'Linux Emulator' just provides Linux syscall capabilities to the FreeBSD kernel.

    And of course, Linux libc and other libraries need to be provided (which the linux binary was linked against), and probably linux's /proc is also needed to satisfy various linux binaries. But its by no means an 'emulator', is just provides the services a Linux executable expects.

  • by MrHanky (141717) on Thursday September 08, 2011 @07:56AM (#37338326) Homepage Journal

    Shouldn't matter at all here, as both use the same driver. Difference in desktop environment, though, can mean a lot. Then again, Ubuntu seems to suck at 3d [blogspot.com], also when compared to other Linux distros.

  • by bluefoxlucid (723572) on Thursday September 08, 2011 @09:22AM (#37339170) Journal

    If BSD can emulate linux faster than linux can run, something is very, very bad going on.

    Why? It just means BSD is faster somewhere than Linux, that's all.

    Nothing is "emulated." Wine does not "emulate" windows, either. Wine supplies a dynamic link loader that brings up PE executables. It also supplies a set of libraries for Windows-- Wine is a Windows re-implementation. It comes with an msvcrt that supplies strcpy() and strlen() and open() and such. It comes with kernel32.dll. It comes with everything.

    Unix systems that have other Unix system execution layers basically keep an additional syscall table around. BSD loads a Linux ELF executable, recognizes it's for 32-bit Linux, and sets its syscall entry point to the Linux table. All POSIX functions mostly route to BSD's innards, just like the native BSD table. A few tricky things supply a little translation layer--we might see data come by in format [xxx][yyyy][zzz] and we expect it in [xxx][pad][yyyy][zzzz] so it's padded properly, or something equally as banal. Some specialized functions are implemented for Linux, using BSD facilities to approximate.

    In the end, you have an operating system that capably loads binaries under a specific API, not an emulator.

  • by lahvak (69490) on Thursday September 08, 2011 @01:05PM (#37341864) Homepage Journal

    It's not really Linux that has become this bloated mess. It is what they call "modern" desktop environments.

    I used to run a fairly minimal setup, with fvwm2, xdm for login manager and rxvt for terminal emulator. I had that same setup on wide array of computers, from an old 486 with 512MB of memory up to a powerful SparcStation, and it ran reasonably fast on all of them. Over many years I developed a configuration that I liked, so it was very easy to use for me.

    Several years ago I got a dual core laptop with 4GB of memory at work. Since it was a work laptop, I had to use SUSE Linux, as that was at that time officially supported by our IT staff. I had no experience with SUSE, before I always used Debian, so I just installed the default distro with Gnome, and I was surprised how slow that was. Later I got fed up with SUSE, and was allowed to switch to Ubuntu, which turned out to be even slower. I got fed up with that too, installed Debian, which I know pretty well, and started stripping everything I don't need.

    I am now back to my original setup with fvwm2. I use slim for login manager, replaced rxvt by urxvt so I can display Chinese characters in the terminal and can have nicer fonts. I now throw in few things that I never used before, such as stalonetray for system tray, and gkrellm for system monitoring and volume control. I manually purged everything that says gnome or kde that I don't actually use (very little is left). I now have a nice fast system again. The thing that slows me down now is firefox. I tried Chrome, which is faster, but last time I checked, its vi keybinding extensions are nowhere near as capable as vimperator or pentadactyl for firefox.

    One thing that drives me nuts though is how the desktop environments took over lot of things that really belong to the core system, and changed the way lot of core functionality is now configured. Lot of things, like networking, mounting of drives, etc, that really should have nothing to do with desktop environments, are now configured in some sort of weird gnomish way, which, in addition, completely changed at least 5 times during the last 4 years, and when you try to find out how to do it, you get at least 10 totally conflicting guides and advices. Most of all classical howtos are hopelessly outdated, and were replaced by number of mutually contradictory posts on Ubuntu forums. The result is that figuring out how to configure something without using some sort of default annoying Windows like clicky Gnome or KDE thingy is a huge pain in the ass.

The F-15 Eagle: If it's up, we'll shoot it down. If it's down, we'll blow it up. -- A McDonnel-Douglas ad from a few years ago

Working...