Linux 3D Games Run Faster On PC-BSD
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."
Linux has lost its way.
It was once lean and fast but now is an industrialized bloated mess. It will take a lot more to get me to stop using Linux but that doesn't mean I can't see when something is wrong.
Lately, we have been seeing a lot of Linux's advantages fade away. Among these are its smallness and compatibility with older hardware.
I think it's just about time to revisit what made Linux great and see if there is a way to get that back while still doing great new things.
It's just a bunch of benchmarks with commentary and no conclusion.
Could we possibly get ANY information on WHY?
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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.
Is Ubuntu the fastest of Linuxes for this to have been done using them as a comparison? Also, were the PC-BSD and Ubuntu using the same DEs? What were the other variables?
This is likely caused by Compiz interacting with the game engine on Ubuntu. Turn Compiz off and re-run the benchmarks.
I find Ubuntu weighed down compared to others. Obviously purely anecdotal, but Debian seems much quicker and Gentoo (what I use) feels quicker even more so. BSD vs Gentoo would be a fairer fight.
Yes yes, I know after youve been compiling Gentoo for days it would be slower, but you cant argue against a cut to the bone system that Gentoo can provide. (which Ubuntu is anything but)
So it's a benchmark on different hardware that happen to use the same nvidia card (but different motherboard and CPU), and different versions of the compiler, which are known to have performance differences. Way to go.
Looking at the posted specs its looks like the same cpu (AMD Phenom II X3 710) for all tests - on a different motherboard though - wonder why...
Didn't this happen when Linux started emulating Windows?
"Games run faster in Linux/Wine(Cedega) than in Windows"
http://www.phoronix.com/scan.php?page=article&item=681&num=2
Why is everyone so shocked that an emulation layer can be faster now, when before it was "look at us, we're great?"
Doesn't OpenBSD/NetBSD have the portability mechanism whereby it supports all Linux drivers under an abstraction layer? Or is that only in theory, but doesn't actually work?
I have a different question - slightly off-topic: is the TCP/IP stack on BSD faster than Linux? If so, what makes it faster?
How about running this test on a distro that does both Linux and BSD, and then compare? Take Debian, take their latest releases of Linux and kFreeBSD, use the same DE from Debian's sources and the same software for both. Then run the whole thing - either on the same machine, or on 2 identical machines.
Then tell us about it
Unless PC BSD was there on the system w/ less RAM, less HDD, slower file system, and despite that, beat the more richly favored Linux box. I'd excuse not having a dual boot, but how difficult was it to obtain 2 identically configured systems, running one w/ BSD and the other w/ Linux.
But as I note in another sub-thread below, it could have been an absolutely even playing field w/ Debian Linux vs kFreeBSD.
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...
XML is like violence. If it doesn't solve the problem, use more.
How?
Since when is Wine doing any emulation? Since when is linux emulating? Did you forget what Wine stands for? "Wine is not an emulator.
It is simply implementing the Window Api calls.
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.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
Since when was wine used to run linux binaries on BSD?
Still, your point stands. Linux binary compatibility is no more emulation than wine is.
Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
And 2012 will be the year that the Hurd will reach the Desktop!
And it was different hardware. The CPU and GPU are pretty much the only parts that are the same.
I still don't understand why they didn't run it on the same machine and not dual boot.
Just have a seperate HDD and swap that.
New things are always on the horizon
FreeBSD is better designed for a particular subset.
Linux has forces trying to make it the OS that does everything. Mobile OS, Desktop OS, Server OS, Mainframe OS, Runs on the Newest Hardware, Runs on the Oldest 32 bit computer that you can find.
FreeBSD has mostly been focused on Workstation/Server usage. Allowing it to use more optimal algorithms then Linux does, for its particular usage. So if a particular algorithm improves performance of a particular common kernel call 4 times faster, and when you are emulating Linux the capture and switch of kernel call request take twice the effort, you are still gaining in performance.
Now Linux may have perfectly good reasons not to implement those calls that FreeBSD does. (gain some extra flexibility, easier to read code, backwards compatibility, found that it is actually works better on different platform, uses less memory...), But for a standard modern desktop/workstation FreeBSD is probably a bit snappier then Linux is. It doesn't mean FreeBSD is always faster then Linux.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
I wonder what the results would have been on something like debian or arch or fedora? It is well known that Canonical's implementation of linux in Ubuntu is one of the slowest commercial distributions out there. They trade speed for features (or bloat depending on your perspective).
While Ubuntu is probably the most popular distro, which would make it valid to test, that doesn't mean it is representative of linux in general and therefore, the article should be about how 3D gaming is faster on BSD than on Ubuntu, not on Linux -- at least not until there is actual data to support that conclusion.
There's a point here: at the kernel level FreeBSD outperforms Linux.
At least with Linux kernel 2.6.38 (Ubuntu 11.04) and FreeBSD's.
During gaming there's little in use from the distributions themselves. I'd say it's 99.999% kernel stuff (with drivers).
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
It should be "Linux 3D Games Run Faster On PC-BSD with KDE than on Ubuntu Linux with Unity, on NVidia hardware". It's worth to note that KDE outperforms every gtk based desktop environment (gnome, unity, lxde...) when running on NVidia hardware.
Those tests was made using default kernel specs. It would be nice, for comparison, to customize the kernel , and using the awesomeness of CGROUPS: 1 - allocate process into groups with specific memory usage, I/O usage, swapness levels; 2 - exclusive cores for the 3D processes. 3 - higher cpu shares for the 3D processes. All the nice stuff you can do with CGROUPS. One thing is testing the default spec of ubuntu, other is tuning and testing again. Tuning both of the systems to make another benchmark. Not a single mention to cgroups in that benchmark article.
some 10 years ago, when even the slightest hiccup could make a game running in linux slow to a crawl (not linux's fault. more like greedy games on average hardware), i ran several tests to find the best settings for performance. here's what i found:
- even a lightwheight window manager like windowmaker, fluxbox or xfce impacts negatively (specially if you're short on RAM) .Xsession file with nothing more than "xterm" on it. as soon as X starts with a windowless xterm, run the game from the CLI.
- any cute widget, dockapp or systray app can take a hit. a simple opengl cpu meter, displaynig a spinning cube, running inside a 64x64 dockapp had a 10% hit on glxgears' frame rate
- daemons started from init.d scripts steal memory, and if they trigger a backgroud process, bye-bye performance. so make sure anything than trigger lots of disk I/O operations are off. specially if they run from cron
- get used to the command line. shut down GDM/KDM/XDM or any other graphical login. log on the console, quickly create an
now, optimize BOTh PC-BSD and linux this way, THEN run a benchmark. otherwise, is the same as trying to compare a default ubuntu with openBSD on which one is more secure. or the other way on which is more usefull as a desktop. it's not right to ebnchmark different OSes by leaving the defaults just like that.
What ? Me, worry ?
If doing more stuff, which emulation and disk encryption is, goes faster, the flaw is in the original version somewhere. Doing more stuff should always be slower.
Interesting. Do you have a patch-set with all of these improvements handy or something? I'd be interested to see if they make any difference on my quad-core box...
What's needed is more games on linux, not faster ones.
Join the Slashcott! Feb 10 thru Feb 17!
All this article proves is that KDE is better at turning its OpenGL compositing off before entering a 3D app. This seems like a fairly inflammatory conclusion, based on comparing apples and oranges. Set Linux and BSD up with a lightweight openbox setup, and then benchmark it.... At least have them both using the same DE...
I've seen many anecdotes about having games run faster in wine than Windows, but my own personal anecdotes say otherwise. My experience with Wine has been something like this: Game looks like its supposed to, but performance is crap. Game has glitches, but performance is acceptable. At the end of the day it's always way more fiddling than I want to spend with my gaming time. When I want to play games these days, I don't want to be bullshitting around with OS settings for a majority of the time.
The linuxolator in FreeBSD is located here:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/compat/linux/
You can actually see how it's implemented.
MidnightBSD: The BSD for Everyone
I'd like to know which games were in the experiment. Did they use both of them?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
The big question would be, "Does FreeBSD's environment have Compiz or similar running?"
If you've got that running there's performance concerns, etc. that you have to deal with that make overall performance slower. My guess would be that it's not there- which means you're not making apples to apples comparisons between the OSes. If so, it's not that it's faster...it's that Phoronix didn't do the testing right.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
He tested this with Ubuntu 11.04 under Unity and FreeBSD with KDE. It's a known that the configuration in Ubuntu there is a fairly massive performance sink on top of the already bad one Compiz can introduce with OpenGL stuff. As some pointed out in Phoronix' forums...all they did was benchmark Compiz/Unity versus KDE for all intents and purposes.
All things being equal, the results should be very similar if you're doing apples-to-apples comparisons since the OSes in question are similar in nature in this specific regard.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
It's the same hardware, Linux and BSD identify hardware differently and the author didn't standardize it.
brandelf -t FreeBSD
No it was not different hardware. For some reason the author thought it was a good idea to include per OS identifier string in table format leading to this frequent and grossly mistaken assumption.
brandelf -t FreeBSD
It's the same hardware. Can fanboys not read?
People keep bringing up Gentoo. If you have to compile your entire distro from source to get competitive performance, there's a serious problem. Why is it so hard for people to accept that one UNIX flavor might be a little faster at something than another? Are people really that fanboyish about Linux around here?
What's funny is that people are finding any reason they can to dismiss the benchmarks (my favorite is claiming the hardware is different, when it's not).
Meanwhile, nobody seemed to have a problem with Phoronix's previous benchmark showing Wine/Cedega games running faster on Linux than on Windows. The difference now is that Linux is on the losing end of the benchmark, so it simply must be incorrect in some way.
OS bias is a funny and bizarre thing.
This claim keeps getting repeated, over and over by people who didn't RTFA. IT IS THE SAME HARDWARE. The operating systems report it differently.
As for Phoronix, nobody here seemed to have a problem with their previous benchmark showing Windows games running better on Linux Cedega. Now that Linux is shown to be losing in a benchmark, suddenly there are all these "problems" with the benchmark. This community is so biased.
It was not different hardware. For god's sake, would people stop claiming that and just RTFA?
No, they weren't. Looks like you didn't spend any time reading the article either.
I apologize in advance if this is a dumb question...
Is it possible that the 3D acceleration is running slower because more protections are in place to prevent the system from going kablooey in the event of a driver failure?
I ask (and worry that this is a dumb question) because I've noticed Windows 7 doesn't seem to be as fast with 3D as XP was, but it has proven to be a lot more fault-tolerant. Was just wondering of the discrepancy exists because something similar is going on.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
Once upon a time, long long ago, it was perhaps possible to satisfice on the simplifying notion that for the tiny, compact Linux kernel, in vitro benchmarks were an excellent proxy for in vivo performance.
Phoronix did a little bit of work to conduct an in vivo benchmark comparison (as opposed to benchmark analysis, which for in vivo benchmarks is a mountain of work for not necessarily much return).
The sad fact is that for the vast majority of Linux users these days, the crappy in vivo benchmark protocol comes closer to the reality that people experience.
You can almost say that the gold-standard in vitro benchmarks are a better guideline to tweakability than anything else.
The only known cure to what ails any system catering to the multitudes is to ditch the multitudes. That said, not every case of catering to the multitudes is equally bad, witness Windows Ebola with the daily retrovirus cocktail and plenty of bed rest (er, system reboots).
A small group of people banded together thinking we were immune. Sad, really, but entirely viable if you hold every Linux benchmark effort to higher standards than the Surgeon General.
that might be a noop, or the reason why suspend fails for me.
Ah, Linux.
You're special forces then? That's great! I just love your olympics!
"most people would expect that an additional abstraction layer would generally slow down the execution of binaries"
Learn how to code better than everyone else and this is a typical result.
Fact: Most Linux programmers are shitty programmers. This is why an abstraction layer ends up running better than native.
Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
Why not create a more concrete experiment. Strip Linux and FreeBSD down to just a window manager, compare the versions of Xorg, do alternate native 3D benchmarks. Give us something to take seriously. Telling me some games run faster on PC-BSD than they do on Ubuntu isn't giving me a lot to work with.
Probably because most people who want to use their machines to game with casually don't do this, and comparing performance of out-of-the-box distros is actually far more useful for people who wouldn't be able (or interested enough) to just run their own benchmarks?
You're special forces then? That's great! I just love your olympics!
If one installs just Debian Linux, w/ little or no GNU utilities - no GTK+, noGCC, no GIMP, no Gnome, no Emacs, and instead installs KDE and all its packages, and uses those apps, would you still insist on calling it GNU/Linux?
I really wish the Linux guys get a non GNU version of Wayland on them, and then put KDE4.8 on it. Just run w/ it. I do wish the GNU people a complete system as well, and to that end, I hope they can get HURD running (use Minix 3 instead of GNU Mach for your kernel) and on top of it, whatever they want - GNUSTEP, GTK+, GIMP, and anything else that suits them.
So how is WINE different from WABI (Windows Application Binary Interface)? In the latter, Windows systems calls would be interrupted, and substituted w/ Unix system calls
Why? Do you typically install a modern free unix system to strip down to bare bones in general use? I suspect comparing the operating systems in a state that is either out of the box or in a state that most users will have them installed in is far more relevant than some theoretical best case.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Hahahah, you have no clue what you're doing, and you think you're making it faster ...
Thats priceless, theres a meme in there somewhere I'm missing.
Don't ask what os_raise_smp_barrier
My guess would be that its an op designed to ensure the CPU cache is flushed to RAM and that all out of order instructions are completed and flushed before continuing so that the contents of RAM actually match up with what they are supposed to be rather than being slightly off due to the processor making on the fly optimizations and reordering memory writes.
And this is why you don't listen to same random fuck on slashdot telling you why nVidia's drivers suck. He's clearly never worked in kernel code, yet is telling us how to get massive speedups!
I presume you have a bunch of nuts and bolts left over after you work on your car too.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
I've also seen reports of people running full disk encryption showing higher read/write speeds in certain cases.
Just for reference, this is almost always related to compression being used.
Now days, there is enough spare CPU most of the time to do compression on the data on the fly while waiting for the disk to read/write some block.
In a 32 bit Windows, with Battlefield 2, you would get FAR faster load times by compressing the BF2 installation directory using NTFS compression because the only thing the CPU is doing during that time is frontending for DMA transfers to/from disk, of massive amounts of data. By compressing them, you move some of the load to the CPU (which is basically idled at this point, so we're not slowing anything else down by using it) and cut down on the physical disk IO that is required.
I say 32 bit windows as I haven't tried it with more than 4 gigs of RAM. More may change it due to better disk caching, less swaping and all that.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
There are several factors that make pruning the bloat difficult for the average user:
1. Spurious dependencies.
I have on occasion installed a command line utility that called in the entire KDE source tree and did a build world.
2. Lack of documentation. Much of the time there is no good documentation outside of the program in terms of how to use it. You have to install it to test it, then uninstalling reveals that 9 billion things will break
3. Proliferation of libraries. I tell you Linux is getting as bad as windows with it's DLLs.
4. Incompatibility across upgrades. This is the flip side. Do an upgrade, and foo-3.2.11.lib changes the syntax for the bar call compared to foo-3.2.10.lib (of which both on install were symlinked to foo.lib...) Come on guys. Minor revisions should not change syntax.
5. Spurious change at the OS level. My computer is a tool. I use it to get work done. Changes for the sake of eye-candy is anathema. The visible part of a distribution should go unchanged for many years at a time.
6. Security fixes and bug fixes should be segregated from feature changes.
Steve Jobs, when running NeXT commented that people won't change for a 10% improvement. Or even 30%. People *will* change for a 500% improvement.
If you want to sell Linux to the masses:
1. It has to stop interfering with how things work.
2. It has to have good, clean, fast applications that are easy to learn to use, and incredibly stable.
Third Career: Tree Farmer Second Career: Computer Geek First Career: Teacher, Outdoor Instructor, Photographer.
The benchmark shows the difference between Unity and KDE not Linux and PC-BSD.