Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: chief1983 on October 17, 2007, 02:24:46 pm
-
Ok, as most know, D3D support is being ripped out of the base from 3.6.10 on. This will allow opengl to be further optimized and improve the gameplay experience for the vast majority of gamers with the hardware and drivers that can support it. However, this isn't everyone, and there's still a significant number of users who use integrated chipsets such as Intel's, or don't have updated drivers, and possibly can't because of lack of privileges, stubborn parents, etc. We already hear it often enough from these people that the game doesn't work, it's not posted anywhere that the game requires OpenGL yet, and won't be clearly stated in the future unless someone attempts to write up some sort of requirements for it. Gutting D3D altogether will be leaving these people with no other way to play the game.
First, I'm for the gutting. I want the optimizations and the focus to be on OpenGL. I don't see the point in wasting time on a one-platform API for a cross-platform game, when for most there's no difference between the two. But, what can we do for these other people with shoddy/no OpenGL support?
The best option I can think of is that we need to have some sort of OpenGL->D3D wrapper. Sadly, there's not a single free wrapper for this in a usable state right now. SciTech has GLDirect5, but it costs money, and even if you're not the most moral computer user in the world it's still difficult to find a copy of it. However, their driver is based off the Mesa3d codebase, and supposedly they have given their work back to the mesa project. Mesa3D used to have a OpenGL driver for D3D, essentially being a wrapper, but it's woefully outdated, and they don't seem to have integrated anything that SciTech gave them into the codebase yet.
Where I'm going with this is that I think Mesa3D could be the solution to our problems. It's just not ready yet. We need to encourage/help them to get the D3D driver for OpenGL updated to a modern standard, at least DX8, and then it should serve as a viable alternative for those with no other OpenGL support on their cards. This could also serve as an alternative on Vista to the included OpenGL to D3D wrapper that microsoft includes by default. It would be free, and so could be recommend, or possibly distributed with the SCP (to the extent that OpenAL is 'distributed' with it, at least). If we were to have a member of the community willing to work on getting D3D support, I think this would be a better option for him to work on than going back and jamming D3D back into the codebase. I'm sure Mesa would like the help, and the publicity a project like this could get for them. Any thoughts?
Edit: Subject changed to reflect path that this thread took. Note that I don't really care anymore, but if people want to keep blowing off steam here about D3D and OGL, feel free to leave it unlocked.
-
i can't think of a single video card that has all the features required to support this game in EITHER API that the drivers for doesn't include openGL
-
Shouldn't some of the more recent Intel chipsets be able to do it, theoretically?
-
OpenGL is enough. I don't think wrappers will do any good.
We'll only end up with horrible performance and a lot of problems.
Either we find someone to fix the D3D code, or we forget about it.
It looks like there is a minimal number of players that can't play in OpenGL. (like Mustang19)
But he'll get a new PC soon. And I bet lot of them will eventually get a better PC or gfx card.
In the end you'd end up with a complicated hack-ish fix, that is used by a few people now, but nobody in less than one year.
[X]No
-
Why no one? You think the integrated chipset companies are all magically going to have working OpenGL drivers by then? I highly doubt it. There are more people than you may realize who have tried to run this game only to find out that their computer doesn't run it very well. You don't see them around here, because, well, their computer can't run it so what's there to do? If anything there are more people every day who try this game out, and who abandon it because they can't run it. I'm not suggesting that any real amount of current resources dedicate themselves to this, I'm really just saying that if D3D support did become a priority, I would almost rather see it using the Mesa D3D driver than putting the D3D code back into the engine. It would give us a good rep and notice within the FOSS community, and possibly pull other FOSS developers here.
-
New integrated graphic chips won't have a problem with FSO.
Only the old outdated ones have driver issues. Gfx chips that are hardly fast enough to start FSO and will have real trouble as the engine and the content improves more. Also... everybody with a chip like that will most likely upgrade at some point, or just isn't interested in games enough to buy a decent 3d accelerator.
Imho we made a mistake in the past. We should have looked into the future and not so much into the past.
We tried to support low-end machnies that much, that the progress of the graphics has been a bit slow.
People have to accept that the game is moving forward and will stop working on older machines at one point.
Also, if the game doesn't run on my PC, which should be able to run it (atm), I'll post it as bug in Mantis, so it can be fixed.
-
Do we not already know where this discussion ends? D3D isn't supported because nobody supports it.
-
Right, but if Mesa were to get their D3D driver working again, we'd have D3D support, wouldn't we.
-
I would say just tell such people to upgrade, considering that there are a number of PCI video cards available for under $30 (less than the cost of most commercial games) that will run FS2 reasonably well. In any case, 3.6.9 will always remain around if they insist on running the game on a GMA.
-
I really wish people would stop repeating the same excuses, after they've been refuted in the past already. There are simply situations in which people can't or won't upgrade, telling them to isn't going to change it, so all that means to us is one less person who can enjoy the game. Instead of telling people to fix it, I'm just trying to point out that there could be another solution, that doesn't involve telling people their hardware sucks. Granted, that will probably still happen but at least they wouldn't have to do anything about it to enjoy the game.
Another reason, maybe it would just be nice to have that fallback, in case something happens? Why limit ourselves if we don't absolutely have to? I'm not even suggesting that anyone here currently involved in something else actually do this, I'm just throwing it out for future reference.
-
Why don't we just leave the older versions available for download so these people can use it if there's no way to upgrade their equipment to support the newer versions?
The apps are only around 10mb max in a .zip/.rar file.
-
First off, Mesa3D D3D support isn't a solution to anything, so just drop that thought right now.
Second, D3D hasn't been removed from the engine, it's simply disabled since no one around here will work on it. We can't keep upgrading the OpenGL code without breaking the D3D code, which holds back the progress of all graphics and performance upgrades. If you want all of the new graphics features then the choice is simple: we don't compile in D3D support, or somebody works on the D3D code full-time to keep it up to date. There is no point in complaining about it, we simply have no other option. D3D support in builds must be disabled. It is a serious drain on stability, performance, developer time, and severe reduction in graphics features. If you find someone to work on the D3D code then we will quite readily go the other route, re-enable D3D, and that's that. There are about 4 people working on a D3D 9 port right now, but that is totally useless to us since not one of them seems interested in actually supporting the code once they are done with it.
But if you really want D3D support that badly (because you aren't able/willing to get OpenGL working) then just use an older build, since all of them are readily available going all the way back to at least 3.5.
Third, Intel IGP cards and drivers are getting significant developer resources from Intel. The hardware is quickly developing all of the support that we need, and the driver quality/support is progressing rapidly. Intel is making a low-end, cost effective video card, and that simply isn't going to compare with high-end ATI or NVIDIA cards. But the low-end market isn't exactly what it used to be either, since even the lowest requirements are far above GeForce2 levels at this point. Remember that it's not just games that Intel has an interest in here, modern operating systems have an ever increasing need for good hardware 3D support for general tasks. OS X makes considerable use of hardware OpenGL acceleration for basic desktop features, modern Linux desktops make heavy use to 3D hardware, and Vista does the same thing with D3D. Apple is using Intel IGP cards in new Macs, which means that the hardware has to be capable to doing what they need, and overall driver support improves as a result. I have tested and made several small modifications to the OpenGL code to address issues with Intel cards, and I know for a fact that the code works fine on the hardware, so long as you have good drivers. I don't think that anyone has seriously approached me about an Intel related problem in the game that wasn't solved with a quick driver update.
We do support Intel cards models 915 or higher, so if anyone has a problem with them (that isn't simply a performance issue) then we will work with them to resolve the problem. Everyone keeps saying that we don't support Intel cards, but that simply isn't true.
Perhaps once everyone gets their facts straight we can stop rehashing this conversation.
-
I really wish people would stop repeating the same excuses, after they've been refuted in the past already. There are simply situations in which people can't or won't upgrade, telling them to isn't going to change it, so all that means to us is one less person who can enjoy the game.
The only valid excuse I can think of is if they're on a laptop that cannot be upgraded. However, if as Taylor says it simply takes a driver update, that should be an end to the issue. If they can't even do that for some reason, there is little we can do about it. The number of such cases should be vanishingly small, and as I said earlier, 3.6.9 is still there for these few people. We shouldn't spend time worrying about something like "stubborn parents," who may as well not allow the user to play FS2 at all. :p
I know that numerous retail games from the last two years will fail to run properly at all on those GMA chips, which are not intended for gaming, so it isn't like FS2's current hardware support is inferior in any way.
-
But the low-end market isn't exactly what it used to be either, since even the lowest requirements are far above GeForce2 levels at this point.
And a Geforce 2 can handle basic FS SCP without major hiccups. I was using one for ages until this spring.
-
...They'll always be able to play 3.6.9 and / or Retail.... the shiny graphics they see here should convince them to upgrade when it becomes possible for them to do so.
First off, Mesa3D D3D support isn't a solution to anything, so just drop that thought right now.
While I respect you position as one of the primary coders around here, would you mind throwing us lowly slobs some, say, proof? I'm sure it's true. But I'd like to be able to wrap my 16-bit mind around it if possible. :p
-
First off, Mesa3D D3D support isn't a solution to anything, so just drop that thought right now.
While I respect you position as one of the primary coders around here, would you mind throwing us lowly slobs some, say, proof? I'm sure it's true. But I'd like to be able to wrap my 16-bit mind around it if possible. :p
Even a basic look into what it is will tell you all that you need to know:
- it has received no development since 1999
- it was created for Win 9x, may not work on Win2000/XP/Vista
- it only had partial capabilities (no mipmap support, etc)
- it was DirectX 6 only
It's nothing short of complete useless.
-
You're right, the current codebase is pretty shoddy, since updating it from DX6 to DX8 or DX9 would probably require a complete rewrite due to changes in the API. So I agree, the current D3D driver codebase is quite useless. But, Mesa3D itself has been updated, and is quite a decent little driver. I was more referring to getting them to do the overhaul needed to bring the D3D driver back up to a modern standard. If that were to happen somehow, then is the idea of using it still useless?
-
I seriously doubt they would do that. Aside from the initial commit of the D3D code in 1998, it only ever received one change, which was in November 1999. In other words, it was never actively developed in the first place. It's fairly obvious that the Mesa3D team have absolutely no interest in that bit of code.
Regardless, we don't need a hack like this anyway. These translation APIs never work out well, as history proves, and it still requires someone to actively develop the code. If the Mesa3D team didn't give it complete support and make it full featured then we would have to work on it ourselves, thereby making the point moot.
What we need is for someone to join the project and work on the D3D code, period. Nothing short of that is really going to help us.
-
I think it would be more helpful to do a community poll and see how many people actually have an integrated cards. There was a recent discussion on GW: a few people like Turey and Takashi technically have slower processors than mine, but I'm just about the only person here who would be crippled by an OpenGL transition, and by the time 3.6.7 is released I'll have a new computer anyway. Don't limit the SCP's potential by trying to support hardware made five years ago. There must be about 10-20 people in the world who play the lastest FS Open, regularly, without OpenGL support.
So coming from a person with an Intel card, I say no to Chief1983, but thanks for the thought.
-
There must be about 10-20 people in the world who play the lastest FS Open, regularly, without OpenGL support.
The latest FSO builds, anything from this year (excluding the official 3.6.9 release itself), only have OpenGL support. D3D was disabled in the code earlier in the year. I don't even think that it will compile at this point. The transition to OpenGL-only builds happened months ago. The only thing that's limiting the engine's graphical potential is D3D, which is something that we remedied by disabling D3D support.
And there are far more people using integrated cards than that. The number is in the hundreds at least. Integrated cards aren't old though, they are simply low-end, and we do officially support most of them. Plus, if we didn't support cards made five years ago or more, our use base would probably drop by more than half.
-
Actually BtRL is quite useful for settling this debate as it shipped with the D3D code disabled. You could select D3D in the launcher but it would just run OGL instead. I did this because I didn't want people who were completely new to FSO flooding the forums with complaints which were caused by them running D3D instead of OGL be default.
In order to take care of people who did require D3D builds I compiled a second set of binaries which did have D3D built in. In total I must have given them out to maybe 20 people. We had 100,000 downloads. I really don't think it's worth the effort of spending coder time on D3D unless it is to actually fix the code so it works as well as OGL.
-
when I was on vacation I've been using my Vaio TR2A notebook with Intel® 855GM Chipset Integrated Graphics. (128 megs video memory). It worked without a flaw. I could run both BtrL and WCS. All I had to do was to update my drivers. Intel does offer improved drivers even for older gpus.
-
for desktops anyone could spend $40 bucks on low end vid card at wal-mart and have something suffietient to run the game. you dont have to blow $500 on a video card to play. laptops on the other hand have never really been a game oriented platform. and with poor upgradeability, one who plans on using the laptop for gaming would spend a little extra to buy a gaming oriented laptop with ati/nvidia chipsets. in 2002 i spent a good 2 grand on a gaming laptop, but now you can get something good enought to play fs2open in the $500-$800 pricerange. its just a matter of common sence to consider all the specs before dropping money on a laptop.
-
I think i paid $60 for this old (3yo or so) radeon 9250 at wallyworld... (I needed a non agp card just to see if my computer booted properly) SCP runs fine (normal mapping doesn't work but oh well..)
-
D3D is dead, bury it
-
D3D is dead, bury it
Requiem æternam dona eis, Domine; In memoria æterna erit justus, ab auditione mala non timebit.
-
I just tested the current SCP build on my laptop (Old, but at least an Celeron 2,2 Ghz + 2GB Ram).
The integrated gfx chip (SiS 650) didn't work with SCP build when I tested it last time. I think that's almost one year ago.
Well, it's quite slow now, even with standard content, but it works.
-
If you guys are going to dedicate this game completely to GL, please solve the flickering menus first. It's no run trying to guess around just because the user interface is screwy.
-
To my knowledge, it has been fixed in newer builds than 3.6.9. At least, I haven't noticed it in any of the ones I've tested in the last several months.
-
The flickering problem is still there, it's just that I've managed to reduce how frequently it happens. I've actually got to rework that entire part of the code to fix it. The problem is also specific to config, so whether you get the problem depends on whether you use ATI or NVIDIA, with certain driver versions/configs, whether you run in a window or not, and which OS you are running it on. But since all of that is used for only one thing, and only on the interface, it doesn't exactly have top priority. If I get enough free time, or get bored enough with the other stuff that I'm working on, I'll get it properly fixed.
-
What about Vista users(like me) where OpenGL is only emulated? I've got lower FPS on VIsta than in XP. Direct 3D is more usefull on Vista.
-
But D3D ONLY works in Windows - OpenGL works on everything.
I'm migrating away from Windows because I can see the writing on the wall, but the ONLY area I'm stuck is GAMES.
There are only a handful of mainstream(-ish) games I can play in Linux (NWN, Darwinia, FS:SCP, UT...) so IMHO anything to keep that list and grow it gets the thumbs up from me.
If WINE/ReactOS ever get stable enough to play all my other stuff (XvT, MW3, DoW, HL2, Bioshock etc.) then I'll be long gone...
-
What about Vista users(like me) where OpenGL is only emulated? I've got lower FPS on VIsta than in XP. Direct 3D is more usefull on Vista.
OpenGL is not emulated in Vista if you have ForceWare/Catalyst drivers installed. Only default Microsoft drivers emulate OGL. I'm using Vista myself and FSOpen simply runs great in OGL.
Please close this stupid discussion about D3D. D3D is not supported because there's no coder to support it. If anyone wants D3D support he knows what to do: join SCP team and CONTINUOUSLY rework it just like Taylor (mainly) does with OGL.
-
OK, so if you have Vista, folks, you need to download the latest drivers from your hardware manufacturer (ATi or nVidia), and use them instead of the M$ drivers. M$ drivers suck in XP, too.
Oh, and I can't wait for ReactOS, either... I'm just hoping everyone's not using Windows 2012 by then... unless ReactOS supports it too.
-
downloading latest drivers is pretty much mandatory for anyone who plays alot of new games. i check for driver updates every month.
-
I just hate when they break stuff. I remember when the Forceware 50 series came out it broke BF1942 terribly on my GF4 Ti series. Random polygons sticking out of stuff all over the place, missing textures, it was bad.
-
What about Vista users(like me) where OpenGL is only emulated?
Please stop spreading the FUD.
http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx (http://blogs.msdn.com/kamvedbrat/archive/2006/02/22/537624.aspx)
I've got lower FPS on VIsta than in XP. Direct 3D is more usefull on Vista.
http://www.opengl.org/pipeline/article/vol003_9/ (http://www.opengl.org/pipeline/article/vol003_9/)
-
xD WHat about Intel X3100 users like me - is Vista still emulating OGL in my graphic card?
-
xD WHat about Intel X3100 users like me - is Vista still emulating OGL in my graphic card?
i'm not sure how much more clear that article could've been. How about reading it braniac?
Honestly i don't even know why this issue is being discussed. To me it's such an obvious decision to ditch DirectX i don't know why it wasn't made a long time ago. There is a very good reason the vast majority of modern game engines are specific to one API. Trying to support 2 across multiple platforms is absolutely ludicrous and is probably the most efficient way of being totally left in the dust that i can think of. Stop crying about DirectX and let the devs get on with their job. A few releases after it's removed you'll all be wondering why it wasn't done sooner.
As for vista... well screw vista is my stance. But since people seem to insist on inflicting it upon themselves i'm pretty sure it will be easier to tweak FS2Open's opengl implementation to work well on Vista than it will to get the game working properly with 2 APIs. If you're running vista and you have a card that doesn't support opengl... i don't know how or why you're running Vista. OpenGL isn't some exotic new API people. it's been around a lot longer than DirectX and is used in everything from industrial modelling applications to hugely popular games like the Quake series.
-
If you're using Vista, I'd think you'd be entitle to a downgrade... aka XP Corp + WGA crack. I mean, you own the license for the next OS, which you don't want to use, right? Although I'm sure M$ would disagree.
-
opengl is by far more reverse compatable than d3d has ever been. directx is the reason i cant play most of my old games on new computers. i can still play glquake from '96, but there are many newer d3d games i cant play.
-
opengl is by far more reverse compatable than d3d has ever been. directx is the reason i cant play most of my old games on new computers. i can still play glquake from '96, but there are many newer d3d games i cant play.
*Dreaming*
It will probably never happen, but I think it would be beautiful, a truly noble thing, if Microsoft one day, with all of its money and power, decided to simply dump Direct3D and go with the industry standard of OpenGL, and focus its efforts on making sure its operating systems are insanely good at OpenGL. Surely OpenGL can do everything that DirectX 10 can do? If the entire industry settled on one cross compatible API there wouldn't be a problem here.
The alternative, of course -- equally as unlikely -- Microsoft making DirectX open source. We can dream... :)
EDIT: Of course, MS would never do that because it would make MS lose their dominance over the gaming industry...
-
Well they did that with OpenAL ;)
-
They did use OpenAL, but making their OS work insanely well with it is another story altogether. Audio support on Vista is crap, they really shat on people in that category.