3D Benchmarks Under Linux
Clump writes, "Linuxgames has an interesting article that benchmarks 3D cards under Linux. This is significant because most hardware is only reviewed in Windows. Had I read this before, I may not have spent $150 on a TNT2 card. ;). "
First we waited sixteen years for 4.0 to come out. Now we must wait another forty-three for Precision Insight to get their 3d thing out. Oh what a wonderful time it is. Even with all the hubbub, Nvidia didn't even have those binary modules out.
Speaking for XF4, has anyone done multi-head displays? I just can't for the life of me get a good series of video cards to work together. I have TNT2, Voodoo3, Matrox, Trident, etc cards lieing around my house, but no two want to work simultaneously in the machine. What, must you buy two from the same company? Or is there anyplace that talks about this better? I've heard good things with matrox, but I haven't found any old PCI cards anywhere local. I've been too lazy to go to eBay or something, and I would like to know a setup the does work first. Anyone have firsthand experience in this?
Last I heard the XFree86 drivers didn't support both ports. Has this changed? I too could go name a bunch of things hardware can do in Windows. That still doesn't help me any. :)
XFree 4 wasn't used because currently it only supports 3dfx hardware in 3D, and, for the moment, is slower than the traditional 3dfx 3D implementation under Linux. The potential is there for DRI to exceed XFree86 3.3.x's 3D performance, and support for more cards (such as drivers written by the Utah-GLX team) is being added, but for right now XFree 4 benchmarks would be semi-meaningless.
:wq
At first I was puzzled by "middle of the article", but you meant "middle of the first page"... I know I missed something when converting it :/
It's fixed now, thanks!
:wq
DirectX is an inferior API. It's hell to develop for (It baffled even John Carmack himself.), and is inherently not cross-platform.
OpenGL is superior in visual quality, XP support, and ease of development. We HAVE OpenGL now. As to card support, it's not an issue of reverse-engineering the API, but of the card programming info itself. This is *hard*, if not impossible, even for Open Source.
retrorocket.o not found, launch anyway?
Yeah, they also said they planned to support linux like what, two years ago? Gotten a lot to show for it so far.
On the other hand, about five pages worth of docs on specific areas of the TNT2 would get it up to 95% working on linux. I'm sure NVidia is way too busy trying to make their high quality linux drivers have an engineer stop for an hour and write those and send them off to utah-glx, so about 50,000 of their customers don't have the current crappy,slow 3D support.
NVidia's problem is after two years of trying, they STILL believe they can provide better support under linux than the linux developer community. It is possible, but their work so far makes me doubt their ability to pull it off.
"Why didn't they try an ATI rage pro with 32MB?"
:)
:P
Well, because the rage pro never had 32MB
As for the Rage 128, that is a better question. My guess is either:
1: the rage 128 isnt accelerated under GLX_Utah or
2: the author is biased against ATI and didnt want a fair comparison
my guess is 1
--
nVidia is one of the last holdouts and will not release any documentation. They have been promising documentation (at first) and now closed drivers for over 2 years, but they have not produced anything worth using. I hear that their 3.3.x Xserver can get about 10-20fps (but I haven't tried it myself).
I wonder how news like this jives with the new SGI Linux boxes that are to arrive. They are supposed to run GL apps as fast or faster than a windows box. ;)
The kicker... it is running a "standard" Linux and it has an NVIDIA card. None of this seems to sound like it works with NVIDIA's current game plan.
Sort of like the NVIDIA SDK that was supposed to come out... oh, lets see... over a year ago. I have yet to see anything on it. They said that documentation was holding them up.
I know that I hope that they get something going soon, or my video will have to be upgraded again, and we all know how much a techie hates to upgrade...
-I just work here... how am I supposed to know?
But games are what sell a platform, not expensive packages used by "artists".
I'm not sure where you're getting the idea that OpenGL is an "artist['s]" tool. Most 3D animation uses OpenGL only as a means to an end. The final non-realtime rendering is produced using tools such as Renderman.
OpenGL is widely used in the scientific community. OpenGL simply isn't avilable for many scientifically important platforms, and I doubt it would be much used even if MS released a Direct3D for Unix.
ok ok, so I don't have any usb devices.
But what I DO have is a DVD drive and a decoder card, and THAT was working pretty well 10 minutes ago (finished watching 2010: the year we make contact) without a hitch.
The decoder card is a Dxr2 and the funny part is, in windows I always had to decrease my resolution to 1280x1024 (my norm is 1600x1200) but in Linux(X) I could watch it full screen in 1600x1200 and according to top, the proggie only used about 10% cpu, and that's on a 300Mhz K6-2 (The same computer has seen the light and when I try to boot windows I swear I can hear it say "I'm sorry Dave, I'm afraid I can't do that")
You bet right on the TNT2- so did I. ;->
Well, the Permedia2 is an OK adapter, and I think there might be some plans afoot to provide DRI support (don't quote me on that- I only know the rumors I've seen passed about on the Utah-GLX dev mailing list...).
Having said this, however, I'd reccomend that you look into some upgrades to your machine. Soyo and FIC both have excellent motherboards that plug into AT and ATX cases. Both companies offer motherboards that have been certified to run from a 166MMX to K6-3's They can support most socket 7 motherboards (note: a CPU upgrade's also cheap as all get-out. A K6-3 400 and motherboard can run as low as $130US.) From there, you've got options. Increased horsepower, AGP support, etc.
If you do that and choose to do the display, get a Matrox G400.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
NVidia's being a pain- and their cards don't work well at all under Linux; therefore I suspect that's the reason why you don't see NVida in the benchmarks (How can you benchmark something with a a thoroughly broken driver?).
S3 up until recent times has been a pain (No driver or tech info)- they're slowly changing their tune and it's looking like the UtahGLX team might just get info on the mobile Savage chipset to start off with. Since we've no drivers for their chips, one can't benchmark.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Right now there's only a couple of DRI drivers out at this point in time. Three I think. One for a seldom used Permedia driver, one for the Voodoo3, and one for the Intel i810 video adapter.
Drivers for the ATI drivers are in progress right at the moment but aren't there yet.
NVidia promised one, and now they're apparently backing down from the same in favor of some other infrastructure layered in on top of XFree86 4.0.
SiS 6326 drivers will start, probably when Jim Duchek gets the Utah-GLX drivers as far as he feels he can take them. As soon as the Utah-GLX team gets ahold of SiS 300 details, I suspect work will start on that chip as well.
S3 hasn't released any driver or specs- yet. We're waiting for their next move. Word got back to us via an attendee at the CGDC that S3 was at least interested in the mobile chipset support under Linux. More wasn't intimated, but I think that they'd be interested in a lot more support.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
I really don't give a damn about having the latest, shit-hot 3d accellerator. My game tastes tend to more intellectual pursuits than "splatter everything that moves" pixelfests, but I need a card that will be able to give me the best, fastest, smoothest, best-looking hi-resolution two-dimensional display, because I do real work at my computer, and like to run insanely high resolutions to fit as much on screen as possible. Staring at a shitty video card all day sucks.
Are there any sources of reviews for various cards, and their support under X, for people who want the best possible card to drive a monitor to 1600 pixels or higher?
Yes, about 10+ FPS seems about right. It's not quite good enough for Quake 3. :-(
D'oh! I should have bought a 3DFX.
I'm out of my tree just now but please feel free to leave a banana.
It's more than the kernel that needs to be optimized. X, Utah-GLX, and Mesa need to be optimized as well, not to mention the C libraries and...
You get the point...
XenoWolf The Original - Since 1993
Though it's still under heavy development, ClanLib (http://clanlib.org) is fairly groovy for making games. It's LGPL'd and can be used as both a low-level and high-level game development library. I've used it in making my game ClanMecha (http://clanmecha.sourceforge.net), and find it to be quite satisfactory.
I know people complain about the nVidia drivers for Linux constantly, but the fact remains that they do exist, and they do work. Anyone have any insight on why Linuxgames neglected to even mention that they exist and run under Linux?
I second that, the Voodoo2 kicks ass! I run Q3A at about 24fps, on a system that is below the "minimum system requirements" on the box. (P200, Voodoo2 1000, the box says you need a P266).
Do the Voodoo2 linux drivers support scan-line interleave? From what I've heard, a 2 x Voodoo2 SLI rig is almost as fast as a Voodoo3, and I could get another Voodoo2 for cheap.
0 1 - just my two bits
Games sell. Games sell hardware, especially 3D cards. It may not fit your stodgy "I use computers for REAL WORK" attitude, but it's true.
Attracting commercial games companies to Linux can only be a Bad Thing....They will try to oppose Open Source software
Like Loki? They've been open-sourcing every bit of code they're legally allowed to. Look up SDL someday, it's a beautiful system, and it's open source.
We need to try to keep Linux as an underground phenomenon.
Oh, I see, this is YOUR sandbox, and the rest of us aren't welocome here. Last I checked, the GPL says we can make Linux into whatever we want, withoput asking you.
0 1 - just my two bits
In Windows:
1. dowload and install drivers
2. download and install directX
3. reboot (we can ignore this)
4. configure drivers
5. play games
using X:
1. download latest X binaries in chosen format and install them
2. X -configure; startx
3. play games
That's not so hard, is it?
If nobody's built binaries, and you don't know how, then ask someone to do it for you.
If you don't want to do a build from source (or don't want to do XXX), you don't really have to--the free-unix world isn't `one size fits all'.
Jeez; `you don't have GL installed properly' is equivalent to `you don't have directX'. If I want to pick on Windows, I can say, `Why do I have to download a new version of dirextX--why doesn't my video driver just work? Why do I have to download a different version of directX if I'm running NT or 9x? Why do I have to get Windows 2000 just to get the newest directX for NT?'.
-rozzin.
< RANT > :) Have you seen some of the drivers hardware manufacturers have put out for Windows?? They're Horrible. 3dfx has done this, so has Creative. Just to name a few. Especially when it comes to NT or W2k. The drivers aren't very well optomized, totally busted when it comes to SMP support on NT and W2k. And half the time are probably just hacked win9x drivers. I /really/ wish that hardware companies would stop screwing around and open up their hardware specs.. Then maybe a developer with half-a-freakin' brain can write GOOD drivers for windows AND Linux.. hell, through in BSD and MacOS!
Thats kinda funny
After all, they'ld sell more product if they had better drivers then their compitition. Why don't they do this? They say its becuase they're afraid that if they open their hardware specs, competitors will steal their technology and sell it as their own. SO WHAT IF THEY DO? They aren't going to beat you buy selling something as good as yours (same) unless they have something else you don't.. Like service!.. They have to inovate and make something better OF THEIR OWN to beat you.
No one cares about the customer anymore.. its really kinda sad.. /RANT >
<
Seriously though, it is probably easier just to get a linux distribution already optimized for the newer processors (like Mandrake or Stampede)
You are correct. Windows is way better in that regard and will be until Linux can come up with unnified approach to APIs etc.. ( this will not happen in Linux just like it never happened in Unix during last 20+ years.)
I don't mind spending couple hours installing and configuring Oracle on Unix box but I would never put up with doing the same for games ( specially when there is easy alternative available)
In summary, let Unix does what it does best - serving stuff.
Let Windows handle games.
50-75 fps with my tnt2 under Win98/Quake3 4 fps with my tnt2 under X/Quake3
The reason it only gives you 4 fps is probally because it's actually running in software mode. My roomate had the same problem. That's why I got a voodoo 3 :)
Good luck trying to read it. Seems like an incredible number of people are interested in high-performance video on linux.
Are you listening, video card makers?
--Charlie
I'd like to point out a couple of things, however. In your post you said that "...companies like Loki are trying their best, but the games they are porting are older ones which have lost that "cutting edge" feel which new games have."
There are two very important facets of this "game porting" which do not show up immediately. One is that the profit from the games gives gaming companies the revenue they need to develop state of the art Linux games, but the second is even more important: you don't go from zero to hero in the graphics world overnight, that is, you can't just start writing a 3D game engine until you have a flexible, powerful 3D library built up -- which is exactly what Loki gains by doing all the ports of other games. Loki's port of Heavy Gear II featured a number of firsts:
- First conversion from Direct3D to OpenGL
- First to support 3D audio effects using OpenAL
- First to have joystick support using SDL
but the important thing about a "first" is that it implies that there will be a second, third, 100th, etc.So while I agree that Windows is currently the top game OS, I'm reminded of the fact that it took YEARS for Windows to get there from the old DOS shoot 'em bang-bang games like Duke Nukem, Rise of the Triad, and WolfenStein.
The transition to Windows games was a direct result of Microsoft opening the DirectX engine so that manufacturers could write better drivers, not the other way around. And honest, open benchmarks are the only way I know for a company to improve their drivers, wouldn't you agree?
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
p2@300, 800x600, tnt2 ultra.
:(
win: ~40 fps (32 bit)
linux: ~8 fps (16 bit)
conclusion:
I wish I had bought a v3000
What do I do, when it seems I relate to Judas more than You?
Still not dead.
With regard to testing, please see the project I've been working on recently, glean. I can certainly use more contributions.
You mean;
1. Crash, reboot, PnP detect, crash.
2. Reinstall windows, crash, reboot, crash.
3. Download DirectX, crash, reboot, install DirectX, reboot, crash.
4. Crash, reboot, get to startup screen in game, crash, reboot, go back to 2.
That's usually what seems to happen... but Im sure that someone somewhere has actually installed a piece of hardware and had windows 'just work' with it too...
Well... that's pretty much why when I bought three new graphics cards last week none of them was a TNT2, but rather 2 Voodoo 3 cards (one would have been a Matrox G400, but they were slow in getting those in...) for the dual boot workstations and one SiS generic cheapomatic card for the X terminal.
The store guy got educated on exactly why I did not want a TNT card too, and good info on what of their stock was useful to their linux customers.
Shape up NVIDIA. You lose sales.
Even though its old technology its still performs excellently. Great support for both Windows and Linux OSs and can be used with any other video card.
Also its pretty cheap. Was a good choice when I bought it and still is.
(Oh, though I wouldn't suggest buying Voodoo3s. They just don't have the price/perfomance/flexiblility.)
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
I'm wondering how they managed to get results from the Rage Pro and Voodoo cards in high quality. Those cards aren't capable of 32bit rendering.
// C
This is really annoying. But I wonder how hard it would be to reverse-engineer nvidia's windows drivers. I mean, it should be a very thin software layer, so from the names of the entry points, you should get quite a good idea of what the function does. Or am I completely wrong?
EagerEyes.org: Visualization and Visual Communication
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
You don't need a new distribuiton. But running NOTHING in X beside the game (that includes windowmanager, xload, etc) can help the performance quite a lot with xfree 3.3.x and openGL.
The reason for this has something to do with X11 generating interrupts or so, look for the GLX-Pages for more Info.
Even with nVidia's old drivers, I was able to get at least 10-20 fps (depending on what else I was doing at the time)...
BTW, from what I understand, nVidia's new drivers (hopefully coming soon to a download near you) are supposed to outperform anything that the DRI can do. Then again, I heard this from an nVidia developer, so it could just be a load of crap
Adam
"But the real reason I bought the G400 was because of two factors - OpenGL in a window in X and Dual Monitor Support. Most programmers will agree that openGL in a window is much better for development as you can see debugging information while running the program. Do that with a V3 in linux."
I do that all the time. What's so special about the Matrox?
Adam
Why didn't they try an ATI rage pro with 32MB?
Do these not work on Linux?
Um, perhaps I'm just being overly bitchy now... But anyway, please realize that from a technical standpoint, games are clearly up there with the most demanding pieces of software you're going to run on your machine. If you run modern games, that is. It is not at all surprising (to me) if a game is more difficult to get running than some "real" program like a word processor. Still, it should not be that hard, of course.
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
Hey there, don't forget Rendition (tee hee hee).
My V2200 can keep up with a standard Voodoo 1 any day of the week...under windows.
Its a shame that it there are no 3d drivers for linux...
Its a shame that the windows drivers never reached a truly stable state...
Its a shame that its a very old card...
Its a shame that I'm too cheap to update...
Oh well.
------- Mark
There are no cards based on S3 or Nvidia cards in this test! While I don't expect huge performance from S3 cards, and I'm aware that there are some issues with Nvidia and open source, I would still like to see the results...
--
--
E2 IN2 IE?
Hell, the point is, you don't HAVE to know what you are doing if you are using a good OS.
If you are just an ordinary user, you can't screw up the system no matter what you do. Period.
Requiring the user to "read directions" is a flaw on the designer's part.
I mean, it's OK to require the user to read directions in order to get things work, but it is also essential that the user cannot crash the system even if he/she does not read the directions.
I have used and tweaked Windows since 3.0 and I know Windows 9X cannot guarantee that.
Yes, the perpetual image of Windows crashes constantly is completely false, in a sense that they don't crash that often. But comparing to how frequently Linux crashes, hell, it seems often enough. In the long run, it creates the image of crashing constantly.
And hey, it need not reboot itself. After a while your resources will drom from 97% to 76% to 69% to 50% to 38%...and you know it is time to reboot.
You always know it is better for you to reboot it rather than it rebooting itself, right?
Having a specialized Linux distribution for games kinda defeats the purpose of having the games running on Linux in the first place : not having to dual boot.
Of course, you wouldn't have to pay for it, but still...
Ok - ever since I upgraded to a dual PII 400 with a Tyan S1832DL (Tiger 100, used by VA Linux), my V3 2000 PCI stopped working under Linux and Be. I think it's because glide wants to see it in AGP, but I don't know. Works like a champ under NT.
"The romance of Silicon Valley was about money - excuse me, about changing the world, one million dollars at a time."
Visit
Quake 3 is quite a accelerator hog, you cannot run it without one, but if you have one, it's quite light on the rest of your machine.
Unfortunately under linux we still have the pre-XFree 4.0 server (unless you go beta), and it's quite a lot slower than the Windows counterpart.
I'm using a TNT2 and a GeForce DDR, and have tested a TNT2 under linux as well. I get about 1/2 to 2/3 of my windows FPS on quake.
Quake is a good benchmark program to use for 3D cards, since it gets to run on such a variety of platforms, and reflects actual working framerates.
Last time I ordered, the Mill 2 pci /4meg was 79. The mystique and extra memory was also there.
Your wallet stays open. Our source remains closed. We are MSFT
I thought that at first too. However, us tnt users are still stuck using the pitiful 3.3.3 server nvidia released (the later 3.3.5 server caused more crashes.) Now it looks like nvidia isn't even going to take advantage of XFree 4's DRI, so to anyone thinking of buying a tnt for 3d under Linux....think again.
Yeah I'm able to get around 10-20 fps on small maps, but on the ones I play with most (and at the high mouse sens I use) I'm under 10. As for what you heard from nVidia, I hope it's true, but it's probably more hot air. My next 3d card will be from a company who already has decent support under X, and not one that says they will sometime in the future.
Depends on the size of the map, the number of players, and how fast I am moving the mouse. Standing still and slowly looking around on q3tourney3 will get me around 75, but jerking my mouse around quickly on q3dm17 makes my fps drop down.
come on `linuxgames.com` slashdotted, get with the figging program
"`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
So, that said, there IS no comparisson possible between DirectX and OpenGL.
:)
What's left is D3D vs OpenGL. Well, that's an ongoing holy war like *BSD vs Linux, Voodoo* vs nVidia, Linux vs Windows, European Beer vs American Beer etc..
Some options are in favor of D3D, some are in favor of OpenGL. I program using OpenGL a lot, mainly because on my Windows2000 development box, there are no reliable nVidia drivers available for my TNT. OpenGL is a tremendous nice API, but don't overreact. It lacks some serious stuff like 'ONE api call does ALL': call the api to do something, like texturing a quad. If that's done using multitexturing in 1 pass or using single texturing in 2 passes, do I care? NOT AT ALL. in D3D I can proceed, it will be delivered. In OpenGL I have to write 2 codepaths: 1 for the single texturing hardware which doesn't support ARB_multitexturing, and 1 for the ARB_multitexturing supporting hw. Nice? NO! because every new hardware wave of cards (at the end of this month we get another NEW load of cards) brings NEW options, with NEW extensions. The OpenGL API is developing so incredibly slow it's hurting.
I think that's soon the main point for dropping OpenGL in favor of D3D, especially with D3D8, which has support for hw procedural textures and hw generated primitives.
Besides that... you refered to 2D games as well. I don't know, but you were refering to 2D games with OpenGL vs 2D games with DDraw? I hope not.
--
Never underestimate the relief of true separation of Religion and State.
Can we call it Linux 3 Arena Tournament???
kwsNI
Then there's BeOS
2D support -
1. Turn on.
Or for 3D support -
1. Buy Graphics card company
2. Hire a team of skilled driver writers
3........
I wonder how this benchmarks http://cgi.ebay.com/aw-cgi/eBayISAPI.dll?ViewItem& item=300348869
Apartment6
>but IIRC, RH 6.2 is compiled and optimized for a i386, not the i686 class processor that they benchmarked on
I know this was true for 5.2 - the first thing you did after installation was re-build the kernel with i686 optimizations turned on. But I thought that with 6.1 and after, the installer was able to detect your processor and install an appropriate kernel automagically. When I installed 6.2 on a newly-built smp box, I was surprised and impressed that two different kernels had been installed and lilo had been set up with both an smp and uni processor kernel, the default being smp. When I went to re-build the kernel, the i686 box was checked by default and the new kernel I built didn't seem really faster at all.
I've had voodoo2, tnt2 and now matrox g400 boards in my machines and I've been most impressed by the matrox performance under linux for q3a.
There is much cruelty in the universe, John.
Yeah, we seem to have the tour map.
I didn't see it mentioned, but does anyone know if they were using XFree86 4.0? I'd like to see some comparisons between 3D on XFree 3.3.x and 4.0.
"Have some dignity" --Mickey Knox
Anybody know when SGI is going to start selling this?
It will be easy to keep it underground. All you need to do are the following:
(1) suppress all info about Linux company IPOs
(2) eliminate a growing amount of shelf-space footage in computer and book retail stores
(3) eliminate thousands of slick Linux Web sites which evangelize the technology
(4) get rid of free-porting companies (e.g. Netscape)
(5) get rid of independent open-source zealots
(6) break up GNU
(7) stop the interminable series of Linux books from being published
(8) and so on...
Commercialization happens to everything that has value, so you should get used to it. You can say what you want about Slashdot being watered down, but if people do not continue to preach the virtues of open-source and community, that commercialization will destroy it rather than just proliferating it. We could argue about what the final result of either path is, but I think we would agree upon careful analysis that it is made better by this forum rather than worse.
Now let me go back to being noise, and let's see how much signal I can overlap.
-L
Ryan Kirk
Soy el plátano! No tengo gusto de monos!
I agree with the majority of your post, but I think that your analogy (Would you expect intel to release it's manufacturing processes and schematics for the Pentium III core) is inacurate. nVidia would not be releasing schematics, they would be releasing registers, their names, their purpose, and how you access them. If Intel did not release such information about it's processors, Linux (and all the *BSD's) would be out of luck when optimizing for new processors. They could run in 386 mode, but could not take advantage of MMX, or any other new features. How would register names, purposes, and accessiblities give any other 3D manufacturer a leg up? They would still have to figure out how the registers create the expected effects, and that would merely to create a clone, not a superior chip.
How is *IMAGE QUALITY* not related to 'Direct3D vs OpenGL'!?
/. hatred of all things MS that prevents them from accepting this.
/. coming too? Sucky moderators are WAY less funny than all those hot grits posts...
How is this OFF topic?!
Let me EXPLAIN why my post is 'on-topic'.
1.) Someone said Despite what some (Microsoft) will say, OpenGL is well-suited for games, from 2D puzzle games to 3D shooters. Despite what some (/. Linux zealots) will say, OpenGL is not at all suited for games, from 2D puzzle games to 3D shooters. I think that's what you meant to say. If you really meant what you said then I think you need to go and compare the two APIs - DirectX is far superior to OpenGL for gaming purposes, and it's only the instinctive
- Having played 2 recent OpenGL and Direct3D games, I felt it was of importance to note that I thought OpenGL produced a superior 3D scene. For most gamers, quality is a major issue.
What's
Why do I keep typing pythong?
And, Mr. Moderator, I left out the SPEED part of my Direct3D vs. OpenGL back-up posting. How is that not related to 'DirectX/3d is superior to OpenGL'? And YES, I realize that DirectX is a collective name for DirectInput, DirectSound, etc...
Why do I keep typing pythong?
I don't know, have you seen QIII Arena and Unreal Tournament? UT is beautiful, but there' something about QIII's graphics... My TNT2 runs QIII faster than UT (20fps?), and it looks better, IMHO.
Why do I keep typing pythong?
I have read an interview with some Nvidia's decident. He mentioned that DRI drivers are in works. Probably, they haven't been anounced yet because they will be binary only.
What I'm wondering is where the Diamond Viper cards are. These cards are quite common in the market, and I should expect to see them compared. Especially since in the Windows benchmarking schemes, they ranked quite high, right up there with the Matroxand Voodoo3 cards.
-Ben
And the funny part about SDL is that allows you to write for one API, SDL+OpenGL, that allows you to write for Linux AND reasonably expect to merely recompile for Windows or vice versa. SDL encompasses 2D and 3D support along with sound, MJPEG, and MPEG playback. Sounds like a winner to me.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
It'd have worked well under both Windows and Linux. While the framerates are lower for the G400, the visual quality is much higher than with the NVidia TNT2 cards.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
it's exactly the same thing under BeOS... 3D accelerated openGL works well with voodoo2/3/banshee, but for Nvidia, there's even no GeForce 2D driver for the moment!
even if in windows i prefer a TNT2, i think i'll buy a voodoo3 just for BeOS and others OS.
--
BeDevId 15453 - Download BeOS R5 Lite free!
"Science will win because it works." - Stephen Hawking
You point out the one edge that DirectX so far has over OpenGL, which is the ability to detect which features are implemented in hardware. There are, however, 3rd party libraries available for OpenGL that do the same thing--but really it should be part of the API.
I've done DirectX programming, and I don't really see how the various components (DirectDraw, DirectSound, DirectInput, etc.) are integrated in any way, besides the fact that they all use COM, require Windows, and have "Direct" in their names.
Anyway when comparing 3D graphics API's it's only fair to compare Direct3D Immediate mode with OpenGL. Sound and input libraries are important, and I wish Linux got up to speed in that department, but they don't really have anything to do with 3D graphics API's.
As for DirectX being faster for emulating features in software, this is not entirely true-- it is implementation-specific. It is up to the vendors like NVidia or Matrox to optimize their software fallback paths in OpenGL, whereas you are stuck with Microsoft code (which is reasonably fast anyway) for DirectX.
________________________________
I can't tell if this is a troll or just an uninformed opinion.
Please explain in detail what it is about OpenGL that makes it unsuitable for games.
Please explain in detail what it is about DirectX that makes it superior in ANY way to OpenGL for gaming purposes. Remember, we are comparing API's, not implementations.
________________________________
Right. DirectPlay is for networking, and DirectInput is for input devices (joysticks, etc).
For graphics, the times of requiring direct framebuffer access are over, which basically makes DirectDraw useful only as a memory manager for offscreen and agp memory.
Direct3D Retained mode is useful for simple modeling apps and not much more.
Direct3D Immediate mode is basically a (poor) mirror of functionality already in OpenGL. The only reason for D3D IM is MS politics of embrace and extend.
For networking, we have and always have had sockets. The sockets API is low-level enough for games, cross-platform, and easy to program in. DirectPlay, again, is an API created for purely embrace-and-extend reasons.
For input devices and sound, MS has Linux beat fair and square. Although they are twisted and contorted APIs, DirectInput and DirectSound fill holes that haven't yet been filled on Linux.
________________________________
How about a mini-distribution of Linux with:
a) kernel compiled for maximum optimization for games
b) services that make any impact on performance (even if ever so slight) removed
c) networking part of kernel tweaked for the typical size/types of game packets
Hrm. 1-2 fps faster than "non-optimised"?
Has anyone ever tried this?
I tried the other day..XFree 4.0 doesn't support it, supposedly 4.01 is supposed to (from the matrox website). With kernels above 2.3.48 (or something) you can do multihead with frame buffers on the console. Any time I tried to get X to start on hte second monitor Linux would crash. Plus the second monitor is not accelerated, so even catting a file is _really_ slow.
Having said all that, 2.3.48 was the first kernel to ever have support for G400 dual heads..I'm sure they have worked out a lot of bugs since, and will continue to do so..
I just wanted to say that while it sounds real cool and all, the G400 isn't all that great.
The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
NVidia, at least on some level, realize that they don't make money on the drivers. Otherwise they would charge you for every upgrade, every additional OS, and so on. However, they haven't made the cognitive leap that says that not only will bad drivers cut your sales (albeit not by much) but that good drivers will help your sales (by even less). But the good part is that if you publish your top level specs (without going into detail of how the card works), people will write good drivers for you for free.
You made the parallel with Intel. Intel gets it. You don't see Intel bragging about the latest opcodes in their new processor, but not telling you how to use it unless you sign an NDA. The more software that uses Intel-specific chip functionality, the less market share AMD gets.
--
E_NOSIG
If you read the press releases or had followed the whole NVidia thing at all, you would know that NVidia is co-developing it's OpenGL support with SGI and VA Linux, two big companies with acknowledged Linux technical know-how. But there have not been any new announcements for at least the past month or two, which is especially annoying to TNT2 owners such as myself, who upgraded to XFree86 4.0 in anticipation of an imminent release. Giving an ETA would at least give me something to look forward to, while as it is I can't seen an end in sight :(
I have been forced to do all my OpenGL programming under windows, simply because getting decent framerates under Linux for the stuff I'm doing is impossible. To give you an idea of how bad NVidia's current drivers are, I find software rendering with Mesa under XF4 seems occasionally faster. When the initial driver announcement was made, I wrote a grateful e-mail to NVidia and forked out >$250US for a brand new TNT2 card, more than I've ever spent on a single computer component in my life. One year later I'm kicking myself for doing so. Even if their implementation is faster, I have been stuck with a substandard OpenGL implementation for a year. If I'd bought a cheaper card with equivalent OpenGL muscle (such as, say, a Voodoo3 2000) I'd have more money to spend on the next generation cards.
My next card's gonna be a Voodoo baby! NVidia, you suck.
Daniel.
Now, what we must have is an update of this benchmark with evolution of drivers implementation. Why ?
Because Linux (or other Unix OS like FreeBSD) is not Windows and the code haven't reached is best. But the author understand it: read "Future Work" at the end of the article.
I think it would be a good idea to have a site for benckmarking. People will do benchmark and send results to the site with full desription of their configuration. So, we can have good informations on well programming 3D games and knowing the graphic cards with good drivers (3D AND 2D). The site of course will have to precise how to do the benchmark in order to use data.
GOOD WORK LINUXGAMES and GLX-UTAH ! SHAME ON YOU NVIDIA !
First things First. The nVidia cards are hands down the best performing and best looking Game-class video cards for x86. Multiple people _left_ SGI to work at nVidia. SGI _sold_ graphics chipsets to nVidia. nVidia boards are made to be high quality 3d accelerators; this should be evident from how they exhibit very little performance degredation as resolutions/color depths are cranked up to the cards limits. Unlike Voodoo Cars, which tend to run well at low resolutions, and with low colordepths, the nVidia cards have always been rock solid 2d cards, and stellar performing 3d cards, at any resolution and any color depth.
nVidia employees have admitted that the current linux drivers suck, and obviously there is a great deal of performance work that can be done. I don't know that i'd hold my breath for open source drivers, but drivers that simply work and work well for a reference x86 and XFree86 platform would suffice to fill the largest hole. I would speculate that part of nVidia's reluctance to release drivers is because theres's frankly too much they'd have to released to get a respectable solution delivered. The "way to do 3d on linux" is still developing, and there are multiple parties taking multiple approaches to the problem. Which does nVidia support ?
At any rate, the point is, the nVidia cards have amazing performance and do not sacrifice visual quality or standards compliance to acheive this. Furthermore, nVidia has the cream of the crop working for them. Mark Kilegard (sp?), author of GLUT and previous SGI legend even works for them now.
On to OpenGL vs. Direct-X. Frankly, it's a apples vs oranges sort of thing. OpenGL is basically a way to make a uniform API for putting lines and triangles into a rendering context. It is _very_ low level. To get more useful functionality, you're typically going to be using GLU routines, as well as something like GLUT, libaux, or Open Inventor. It's good that openGL is _there_ for people that need to get that low occasionally, but run of the mill apps usually target GLUT or Inventor, as opposed to GL directly.
Direct-X, on the other hand, is a general purpose set of libraries to make doing interesting things fast(er) and uniform. Direct-X is much more tied to windows, and Windows hardware than GL is. Direct-X is also much more all-encompassing. GL doesn't even interoperate iwth the X protocol; thats what GLX is for. There's no intrinsic way to make an app take over the full screen with GL; every Direct-X program does this, as well as changing the resolution on the fly. Direct-X provides a uniform way to talk to all the sorts of hardware you'd like to talk to. There isn't a uniform sound API in Linux, (case in point: competeing sound libraries), much less a cross platform UNIX sound API. There are _no_ good API's for input handling in Linux, much less a cross platform UNIX method. While UNIX of course has nice networking features, there's nothing provided at a higher level than connect()/bind(). while thats enough to establish a socket, thats _not_ enough to make a good LAN-game subsystem. Any UNIX games need to build from the ground up.
Finally, lets get to the real apples-apples comparison here. Direct-3D vs OpenGL. Basically, OpenGL wins hands down for quality, standards compliance, ease of programming, and _performance_. It was once said (and i forgot by who), that the D3D system was so poorly written that it couldn't push enough triangles at the video card to make a difference; D3D itself was the limiting factor.
One area where D3D might do better than as-accepted GL is making performance tradeoffs. GL is marvelously inflexible when it comes to using/not using hardware acceleration. The most wonderful example of this is the SGI Indy R5000, with XZ graphics. Basically, the Indy's main CPU can do a much better job doing geometry calcs than the older XZ video board can. However, the GL subsystem sees a Geometry accelerated card in the system and immediatly dumps all the work to the gfx board. Downgrading video cards in this situation _increases_ performance. A similar situation exists when you define more lights in a scene than the hardware can efficiently support; suddenly everything sucks and you are left wishing there were a way to say "just do 95% of the stuff in hardware, leave the lighting to me!". Allegedly, Direct-X has ways to specify what does what job. That'd be handy.
Performance feedback is _possible_ with GL, but its not standard. SGI has many SGI-specific X-server and GLX extensions to do this. For instnace, theres an SGI extension for guaranteed framerates. If it thinks it wont be able to draw the current frame fast enough, it scraps it, draws it at a much lower resolution, then pixel-multiplies the rendered frame to fill the view-window size. Thus you get a constant framerate, but variable image quality. This is a great feature (assuming it works right), but again, its not a GL thing, its an SGI thing. It's something that games could greatly benefit from, but theres no standard way of doing it.
In summary, GL is great at what it does. I don't think anyone can argue against that. Likewise, D3D is awful at what it does, but Direct-X is a much needed layer for developers, for which there is nothing _close_ to a counterpart in the Linux, or UNIX world.
My opinions are my own, and do not necessarily represent those of my employer.
I got about 50 FPS on Win98, and 26 on Linux/GNU/XFree awhile ago.
Mind you, with nvidia releasing 'leaked' drivers like the 5.13 (www.reactorcritical.com) which Push my GeForce with all goodies enabled (slowest possible) to over 60 FPS in 800x600x32bit.
I'm hoping the latest Linux 2.4 kernel in combination with the Xfree 4.0 will be stable soon... I'm getting tired of seeing blue...
-grin-
Another big thing that will put the benchmarking of Linux 3D GL on a lower tier than it's Windows counterparts, is the fact that not all the GL extensions are supported under linux, and as NVidia has decided to go 'the bad route' when it comes to releasing source/specs for the cards, we may not see the propper integration into Linux that we are all hoping for.
And now the threat is looming that S3TC may be scrapped (with it only being available on Windows 5.13 drivers) before Linux userd can reap the benifit from it.
That's also another thing that impacts the performance of 3D cards : Memory. S3 Texture Compression helps with this (quite a lot), but mostly it's impossible to do propper benchmarking on low memory systems, as there is a Texture throughput bottleneck. (It's practically impossible to play Quake 3 under Win98 using only 32MB, whereas Linux may handle that better AFAIK).
Just my Opinions.
Don't shoot.
:)
50-75 fps with my tnt2 under Win98/Quake3
4 fps with my tnt2 under X/Quake3
We're almost there guys!
blech.
People seems forgetting that excellent performance is not just high FPS but also high picture quality The author of the article seems somewhat clueless on this issue, and although he mentions that V3 can't do all the things that should be done in high quality setting, yet he finally skips the issue Indeed, it is quite unfair to compare the speed of the v3 and f.e. G400 in HQ as V3 just skips most of the things that would make the setting HQ. [ Go, get a G400 ;) it will have DRI support in Xfree86 4.01 ]
Real life is overrated.
At this point, it's worth noting, since nobody else has, that some term definition is needed.
DirectX is a collection of interfaces, primarily designed for gaming. The true purpose of DirectX was to kill DOS by making it possible to get decent access to hardware functions in Windows.
Direct3D - is a 3D graphical API, somewhat analogous to OpenGL. It has been through a tortorous evolution, because up until V3 it was pretty much unusable. Beginning with V3 it started looking very much like OpenGL. Later releases have started piling the features on and on, to where some say it has gone past OpenGL. Others say that it's merely piled on features, not well thought through.
DirectDraw - More of a 2D package, but more than that, a fundamental API for gaining access to the framebuffer and video mode. To use Direct3D or OpenGL in Windows, you need to go through DirectDraw, first. The 2D part of this is rather similar to SDL.
DirectSound - What else, an audio library.
DirectPlay - I'm not sure if this is input device access, or network play access. One or the other, and whichever it isn't, is DirectSomethingElse.
The real key to DirectX is that it is the ONE way to do game programming in Windows. Though at the moment, it appears that the suite is getting well covered in Linux, between Mesa/OpenGL, SDL, and that audio library that Loki is backing. We're still missing a DirectPlay analog, whether that's input devices or netplay, we're missing both packaged library sets.
The living have better things to do than to continue hating the dead.
One of the main reasons why games are easily written on Windows is the DirectX API, which provides support especially optimised for every area of gaming.
I think that directX is one of the main problems with Windows. As I understand it, it allows applications to directly access the hardware without having to go through the OS. This is not an Engineeringly sound idea. It increases performance, but it makes the system itself less stable.
--The Mighty Willtor
"The knee is the elbow of the leg." -- My wife
As a long-term user and fan of the Linux platform I can appreciate that it's annoying that things like this are always done in the Windows world, but in this case it does make sense - Linux is just not ready for gaming yet.
Sure, companies like Loki are trying their best, but the games they are porting are older ones which have lost that "cutting edge" feel which new games have. And there aren't many of them either, and they are only puchased by a small "hardcore" of Linux gamers. Unfortunately, Windows is still the platform for playing games on, whether we like it or not.
The situation won't really improve until Linux is made more friendly as a gaming platform. One of the main reasons why games are easily written on Windows is the DirectX API, which provides support especially optimised for every area of gaming. What Linux needs is something like this, but obviously open source so that it can be improved easily.
Until Linux gets this support I think it will always languish behind Windows as a platform. As a consequence, hardware manufacturers will be more wary about writing drivers for Linux, and they will have a lower quality than Windows ones. This will lead to the benchmarks (which will only be done on Windows to save money) not reflecting performance under Linux, as we see here.
Some of the links in the middle of the article are broken - they're suffixed with ".html" instead of ".shtml".
The "next" links on the bottom of each page seem to work though - or you can just add the "s" manually.
Want to learn about race cars? Read my Book
It's COM (and therefore ActiveX) based. Calls within calls to interfaces. There's a very good reason why John Carmack uses OpenGL, etc. for his games- it's because DirectX isn't easy to use. Games are written to Windows only because it's the dominant computer platform.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Note that these benchmarks are on XFree86 3.3.x that ships w/ RH 6.2 - XFree86 4.0 should change the playing field quite a bit. It's nice that these guys benchmarked with a "standard" configuration, but IIRC, RH 6.2 is compiled and optimized for a i386, not the i686 class processor that they benchmarked on. With the boost that the G400 gets from CPU, an optimized set of binaries should improve the performance on this card quite a bit.
XenoWolf The Original - Since 1993
Redhat should be doing something about the atrocious situtation for 3D video card support in Linux. If the problem is NDAs, then I can't see a better third party to trust with releasing binary drivers - a bad situation to be in, but we live in a world that just isn't going to see Nvidia (or anyone else) give up ANYTHING that might help their competition. Waiting 3 years for a card to become obsolete and then getting register info (maybe) isn't my idea of what will make Linux the operating system of the future.
Somebody needs to step forward, someone with money and reputation to help fix this situtation. Linux isn't going to make it to the mainstream unless we can either get third party hardware manufacturers releasing register level information - again, I've got some heat-resistant snowballs for THAT day, or get someone the community trusts working to support binary drivers - hopefully on all platforms (Alpha, PPC, x86, 68k, whatever).
NVidia has been taking a lot of flak from the community, some of it deserved, but I don't think a lot of people apprecate the kind of research and development dollars it takes to make a cutting edge 3D chip. Would you expect intel to release it's manufacturing processes and schematics for the Pentium III core (or AMD's athlon) under the GPL? of course not. While we're not asking for how to make a Nvidia GeForce, I think that's what NVidia is worried about.
But, to avoid rambling, some Linux player with some power and money needs to work with us here. SGI would be another canadate, Debian is GNU/Linux, so don't hold your breath, but Redhat is in a great position to show some goodwill and long-term thinking.
Kudos (still waiting for TNT/GeForce 3D so I can nuke windows)
..don't panic
Unless Nvidia comes out with better drivers soon, I'm going to put in an old Vodoo2 just so I can have something that works in Linux. The only reason I'm not getting a new 3d card is I spent a lot of money on my TNT2, and I allready had more urgent upgrades planned for over the summer, like a bigger hd. If Nvidia dosen't get their act together soon though, I'm definitly going to get my next video card from someone else
I always prefer to start the year off with a bang - or, to be more precise, a series of loud hums, a crackle or two, and
Okay, so I'm a matrox bigot. I'll preface this post by saying that. I have a Matrox G400Max in my home system and a Voodoo 3 3000 (I think) in my work system. Overall I'm more impressed with the visual quality of the Matrox. There are just some things voodoos can't do. I belive 32 bits is one of them. But the real reason I bought the G400 was because of two factors - OpenGL in a window in X and Dual Monitor Support. Most programmers will agree that openGL in a window is much better for development as you can see debugging information while running the program. Do that with a V3 in linux. Although dual head support on one AGP isn't here yet, it will be soon in XF4. When only displaying on one display the matrox is usuing only one of the two separate ramdacs on it. It's akin to only using a single processor on a dual processor system. It's rather a shame. The only downside to the G400 is that I can't play soulblighter accelerated as its glide for linux. But I suppose that's why I keep the monster 3d around.
My Slashdot account is old enough to drink...
Although the common Joe or Jane user doesn't really care about WinMark, WinBench, 3DBench, etc. scores, these are very important to OEM's and companies who purchase large volumes of PC's and peripherals.
If the community's goal is to get Linux adopted by more mainstream companies (note I said _IF_) a standardized performance testing suite is definitely going to have to be put together.
As far as video cards go, comparing Quake 3 scores is a start, but it's not the final word in 3D performance. There are very comprehensive test suites out there for 3D implementations that need to be ported or replaced on Linux.
We already have Viewperf (sorry, I can't find the link) which is an excellent cross-platform 3D benchmark. I believe its results much more accurately reflect the quality of a 3D implementation than, for instance Quake, which is heavily biased towards fast texture-mapped triangles (yes there is a 3D world out there besides texture-mapped triangles!)
A test similar to the OpenGL conformance test would also be nice, to make sure that 3D implementations out there for Linux are not "cheating".
________________________________
The author will redo the tests with correctly clocked G400 when he gets back from a business trip. See this forwarded post at Utah-GLX mailing list
Also, as the G400 is quite much CPU bound in the tests, I would believe that compiling the GLX with better gcc parameters should also have had an effect to the scores.
DirectX includes DirectDraw, DirectSound, Direct3D, DirectInput. All of these are designed to work together.
OpenGL has glut.
One point to DX for flexibility.
OpenGL has had implicit support for accelerated hardware Transform and lighting since Beta versions.
DirectX has only had support for this since version 7. Applications have to be specifically coded to support it.
Score is 1-1 so far.
Claims that DirectX is faster due to lower function call overhead are not strictly speaking true. Use of Display lists will speed up OpenGL.
I think I'll call this one a draw.
OpenGL has a very easy to understand API.
DirectX is cryptic, and still requires some Windows coding to set up the display.
Another point to OpenGL.
Direct3D allows you to test whether operations are hardware accelerated and turn them off if the quality improvement isn't worth the speed loss.
OpenGL will always emulate this in software
Since this is about fast games, I think DirectX deserves a point here.
DirectX has better software emulation speed.
DirectX has better Windows hardware support
OpenGL has better non Windows support. This includes Macs. This reduces the cost of porting games.
This points to a general benefit to using DirectX, but does not make it "Far superior". What OpenGL really needs is a set of other API's that are suitable for games, and are compatible (and similar in structure).
If you're wondering why nVIDIA cards weren't reviewed, I've put up a couple of pages with information about the company and the saga of their "Linux support". The current rumor is that they have binary only drivers for XFree86 4.0 using their own straight-to-hardware pipeline (instead of DRI), and they're not really concerned about Linux users in general.
Link is here.
--
how to invest, a novice's guide