Very bad support for OGL on laptops, can D3D save me ?

Started by
13 comments, last by Prosper/LOADED 21 years, 4 months ago
I''m developping an application at work. It''s aimed at average Joe guy who doesn''t know much about computers. I use OpenGL for rendering and SDL for input under Windows. Although the program works correctly on a well configured system, many of our users don''t have OpenGL drivers and are way too dumb to download the damn thing. It becomes even worse when they try to launch it on a laptop (and unfortunately, most of our customers *have* laptops). First, OpenGL drivers are almost never installed. Then, some vendors simply don''t provide them. Finaly, even if there are drivers they are often so buggy that they aren''t worth the download. Now, I''m assumed to make the program works on these customers'' PCs. The funny thing is that I neither have one of these nor I know their precise configuration. (yes, I know it sounds pretty much like a Dilbert strip.) My last hope is that D3D is more widely supported by laptops''GPU but since I can''t test it easily, I''d like your opinion. If you already had experience with using Direct3D 8 on laptops, please tell me how it went. And here''s a pretty naive question : can the SDL and Direct3D mix well together ? This sucks...
Advertisement
If you code the older DXinterfaces I think most drivers will support them, but if you want to code DX9 you have to download new drivers

.lick
D3D will be more widely supported on off brand laptop graphics chips ... which may solve your problem ... but it''s worth mentioning a few things ...

Laptops typically (especially those 2-3 years old) do not have 3D oriented chips, period. There are exceptions, which use the ATI mobility radeon, and nvidia go chips. But by and large, notbooks use chips more like S3, trident, and other non players (in the 3D space).

IF your customer have Windows XP, then they also have DirectX 6 support. But that does not mean the drivers will support particular interfaces, or operate correctly.

The best thing you can do is this, create a standalone app which does nothing but attempt to make various DirectX interfaces, and report to you which ones succeed and which ones fail (in a nice ready to email file) ... then let your customers download the mini-app, run it, and send you the results ... which will let you know which interfaces you can target. Make sure and keep this information around for later use.
Thanks for your replies.

Since the application is shiped on a CD, I was planning to put the latest DirectX installer on it, and perhaps auto launch it at setup.

But if you have old drivers installed and then install DirectX 8. Can you use it anyway ? I guess it would work but I wouldn''t be able to use advanced stuff.

Since I don''t use anything special it would be good enough for me but it seems almost too easy.
I think that all windows systems support OpenGL 1.1 and other features through extensions. I''m not sure why your having so much problem with the deployment. For instance may games render using OpenGL and generally speaking you dont have to do any software upgrading to accommodate running these appilcations. The problem could be that you might be using certain features that cards can not support and thus software emulation for OpenGL is forced. All modern video cards should have drivers for windows that support OpenGL 1.1. Perhaps the machines your clients are running don''t have 3d support at all or they are only complient with older versions of directx, in which case the direct3d solution will not work as well, especially if your developing for the latest sdk (in which case you would have to force them to upgrade there drivers as well).
_walrus: you obviously have not a clue about laptops.

Now, it was already said: most laptops have NO 3d support of a very bad one. Newest top of the line laptops may have a Radeon M9000 (which is full DirectX 8.1 in features), but a little older (still most of the current) high engs may have a NVidia GForce GO of some sort (which is cut down - no pixel shaders even on the most modern).

BUT - most will have some crap. ATI''s older chips (PRE hardware T/L) an stuff like this. So 3d will just in general - not run decently. Period. ANd no, no way to upgrade.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
To give you an idea, here is what I get on my laptop (HP Omnibook XE3 - win98) when I run the program from lesson 24 of NeHe OpenGL Tutorial :

Renderer : Savage MX
Vendor : S3 Inc.
Version : 1.1 2.10.19

Extensions :
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_clip_volume_hint
GL_EXT_compiled_vertex_array
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_point_parameters
GL_EXT_paletted_texture
GL_EXT_shared_texture_palette
GL_EXT_texture_lod_bias
GL_EXT_vertex_array
GL_KTX_buffer_region
GL_S3_s3tc
GL_WIN_swap_hint



----
David Sporn AKA Sporniket
Actually, I don''t need very advanced stuff. The most complex thing I use is multitexturing. And even if the cards are pretty slow, it should be enought as long as I don''t have to use software mode.

_walrus :
Well, every Windows PC comes with at least OpenGL 1.1 but if you don''t have properly installed drivers (provided these drivers *exist*, which isn''t always the case) you will fall back to software mode, no matter what options you''re using.

thona:
Seems like older ATI chipsets don''t provide OpenGL drivers but work under Direct3D (yes, they''re pretty slow but they work nethertheless). But I can''t test them all.

davidsporn:
Thanks for the info.

If anyone else has a laptop here, could he tell me what his chipset is and if OpenGL and Direct3D work fine on it ?
My advice: Go to Direct3d. Support for this is much better - on more "limited" hardware. At the time some of the chips used in laptops were developed noone was thinking OpenGL :-)


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
I have a laptop, I have done both gl and d3d programming on it, and both ran excellent. My adapter is a Mobility Radeon M6 16mb no TL.
GraphicsWare|RenderTechhttp://www.graphicsware.com3D Graphics & Solutions

This topic is closed to new replies.

Advertisement