What chances for 3D hardware support will Haiku have?
I thought it would be interesting to sum up which 3D hardware *could* be supported in a future release of Haiku.
One thing goes without saying, unfortunately: companies won't write drivers for us by themselves. So it will depend on a) there already being open source drivers (for Linux) or b) those companie's willingness to hand out the necessary documentation - even under NDA (and c), of course there being good and competent souls who'd be willing to write all those drivers).
I'll try to recall what I've heard (or think I have heard) about graphics hardware companies in the past in this regard:
0.) I think there has already been 3D accelleration for 3dfx's Voodoo5 chipset - but, well that doesn't matter much these days.
Now for companies that have products on store shelves these days:
1.) Nvidia - does not cooperate in any way (i.e. not hand out any chip specifications whatsoever). At least that's what I remember being said - did Rudolf Cornelissen get any help from them for his Nvidia driver?
2.) ATI - hands out register level specifications to some degree, but AFAIK only for the 2D part of the chip (so Thomas Kurschel could write his Radeon driver). Also, there has been a limited 3D accellerated driver for the fixed pipeline part (non-pixel/vertex-shader) of the R100/R200 generation of 3D chips for the Linux operating system.
3.) Imagination Technologies - the creators of the PowerVR 3D chips. Don't have any standalone graphics cards on the market at moment, but IIRC Intel has licensed a new version of ImgTech's 3D core for integration in an upcoming chipset. Years ago I read one employee's comment on a message board that they wouldn't hand out hardware documentation at all, and now that they are only licensing IP cores to third parties such as Intel that's even less likely, IMO
4.) S3 - I have read a comment somewhere that they had open sourced a driver for their discontinued Savage 3D chip, but don't know whether they are willing to hand out documentation for their latest product generation named DeltaChrome
5.) Same goes for a less known company named XGI - they actually make Linux drivers for their "Volari" 3D chip - don't know whether anyone ever tried to contact them for specifications. Although, as a general impression, some Asian companies seem to be more open towards alternative operating systems (remember DrayTek's MiniVigor (a USB ISDN device) driver for BeOS some years ago) than those in America and Europe, so maybe there are chances...
Any other options?

Comments
Re: What chances for 3D hardware support will Haiku have?
What about Matrox? - Their newer cards have some level of 3d support (but I'm not sure how good they are) - considering that we also have fairly decent 2d drivers for newer Matrox cards, I would think there is a possibility for 3d support there as well?
Re: What chances for 3D hardware support will Haiku have?
Oh yes, I always forget about Matrox. The Parhelia is a decent performer, I think somewhat slower than a GeForce3 or a Radeon 8500. Maybe I don't think about them because since after the Parhelia release it always seems up-in-the-air whether they'll release another generation or whether they'll jump ship and abandon the graphics market.
It would be sad to see them go - but in the age of DVI just having good RAMDACs isn't much anymore to survive in the cutthroat graphics hardware market.
Re: What chances for 3D hardware support will Haiku have?
don't remember me....
that thing doesn't work at all with any flavour of beos. this "driver" is awful...
sorry for being somewhat OT
b.
Re: What chances for 3D hardware support will Haiku have?
0.)THe Voodoo 5 driver is the same as the Voodoo 4. Only uses 1 of the 2 chips to accelerate 3D. :(
1.) NVIDIA cooperates when it makes sense. See FreeBSD NVIDIA drivers.
2.) ATI is a no show. See busted ATI official drivers on Linux. And are barely able to do decent drivers on Windows. See CS:S. :wink:
3.) Maybe thru SNAP (scitechsoft).
4.) I was told that the Linux drivers was bad/non existant.
5.) not a problem. No one runs those cards.
I heard/saw somewhere that SNAP may get 3D acceleration eventually.
What chances for 3D hardware support will Haiku have?
3D HW OGL is certainly possible.
NVidia have got 3D drivers on linux, albeit not source code versions. With enough money thrown in their direction, the same could happen for Haiku.
It will probably come down to money in the end IMHO.
What chances for 3D hardware support will Haiku have?
Other options are to convince ATI to make a standard C library that contains all the relevant opengl functions, memory management, register manipulation... Then all an that needs done on the OS side is to wire in the OS versions of the kernel memory functions, interrupt routing, DMA, AGP, 2d system and the opengl system. Kinda like what Nvidia does with their NVNET driver. I don't see any problem with that. It also has the advantage of pretty much being OS independant, and probably more cross-architecture as it doesn't contain any specific CPU code(just needs re-compiled). Although I would expect the driver to be pretty heavily optimised in X86 assembly at the moment. The work done would be applicable for pretty much all of ATIs OS, and embedded applications. Win-win if you ask me.
The other alternative is to wrap the windows driver.
edit: spelling.
What chances for 3D hardware support will Haiku have?
Euan's idea seems like a goog thing, which pretty much ensures that ATI won't do it. After all, they still haven't managed to produce a linux driver that doesn't have some sort of major problem. I think most likely our 3d support will come by way of getting an NDA with the companies and producing our own closed source drivers.
What chances for 3D hardware support will Haiku have?
Some things we'll need (could use) in order to have HW-OGL in Haiku, at least for a couple of cards:
- Mesa
- *BSD's DRM/DRI
- Those few XFree86 drivers that actually use DRM/DRI [Note 1].
- HW datasheets (albeit those with actual 3D programming info are even more rare) [Note 2]
- Devs willing to do the hard work (it would be nice to be able to pay them for that).
- Loads of time, patience and luck :-)
Seems like we'll be playing Be's Minesweeper for a long time :-P
Oh! I wish video card manufactures (and all HW makers, for that matter) where so open like, for example, VoiceTronix.
They make computer telephony cards, PBX, etc., with smartly designed drivers (OS indepentant user space lib + a tiny kernel driver), and they are even sending free cards for those porting the drivers to new platforms!
Obviously, they understand how "open-sourcing" the drivers can cut production/support cost. Oh! Wouln't it be nice if all companies were like that one? :-)
---
Note 1: like for SiS 300/630/730 (yuuhoo! :-P) and others I don't remember now. Google for DRI+BSD+XFree86.
Note 2: I got some for the 'ancient' SiS 530 cards (and some for even older ones). Sometimes Google surprise you.
---
What chances for 3D hardware support will Haiku have?
well I have the specs for ATI R100 and R200 series. Even with the specs, it's complete giberish, and difficult to comprehend. For 3D, you'd need a team of 20 boffins all with PHDs to make any sort of working driver from a register spec. :shock:
C code, private api, libs == yes please.
the mandatory whining
When can we play UT2004? ...and Yahoo games? ;)
Kev
What chances for 3D hardware support will Haiku have?
What about Trident cards? I believe Trident has left all the video card business to XGI now, so is there any possiblity to have a drived for such a card? I'm guessing that there isn't...
What chances for 3D hardware support will Haiku have?
You would just as well using software rendering. :lol:
What chances for 3D hardware support will Haiku have?
I guess I'll play my games on Windows... besides, it's not like I will be able to run MechWarrior4 on Haiku anyway. >_>
What chances for 3D hardware support will Haiku have?
Heh... the future has arrived:
QUADRUPLE BOOTING :lol:
1) Haiku Rx (from R1 and up)
2) Linux - whatever distro one may like
3) Windows - for the lamergamers who can't find games for Haiku or Linux ( I'm one of these lamergamers ;) )
4) Freedos for all those with dos-games which wont run in any other way :P
What chances for 3D hardware support will Haiku have?
For nvidia drivers would it be at all possibly to write some sort of wrapper around the X Windows driver?
What chances for 3D hardware support will Haiku have?
For x86 yes, but thats not sustainable a: legally and b: cross platform
Oh, and it would be a BITCH to code also. And worse to maintain if nVidia started changing interfaces.
What chances for 3D hardware support will Haiku have?
There are very good chances for 3D acceleration with the Open Graphics Card: http://lists.duskglow.com/mailman/listinfo/open-graphics
The interface is / will be fully documented.
What chances for 3D hardware support will Haiku have?
A new opportunity for 3d hardware support:
[url=http://www.xgitech.com/about/about_press1.asp?CTID={C3FD7D03-6BE1-4BB9-9F34-1221E723B87F}] XGI releases graphics drivers sourcecode[/url]
And I think the "nobody uses XGI anyway" comment doesn't make much sense, because many will be perfectly willing to buy supported hardware specifically for their Haiku-box anyway.
What chances for 3D hardware support will Haiku have?
Sorry to say that XGI have proved that the "I'll buy your cards if you support my hardware" argument adds up to bugger all users
They've provided full Linux drivers. I've NEVER seen an XGI card in use. And yet we still get Linux users whinging about ATi and nVidia when the other vendors (Intel, XGI, S3, SiS, etc) all have open spec or opensource drivers/cards. Users whinge, but never act on their whinge.
What chances for 3D hardware support will Haiku have?
Just thought i'd mention that the r300 project is trying to create 3D Drivers for ATI Radeons above 9200. http://r300.sourceforge.net/
Re: What chances for 3D hardware support will Haiku have?
What if the Intel drivers? there are open source.
Is some developers start to work on support in 3rd in some drivers?
or is it too early to ask?
Re: What chances for 3D hardware support will Haiku have?
Hi guys. I'm a dev for freeware FPS Alien Arena (http://red.planetarena.org/) and have been watching discussion on OpenGL and hardware acceleration with great interest. I'd love to be able to port Alien Arena to Haiku, but I doubt the 3D acceleration will be in place for quite some time. Also, what odds on an SDL library for audio?
Re: What chances for 3D hardware support will Haiku have?
Also, what odds on an SDL library for audio?
You mean SDL_Sound ?
It's already there, and it works on Haiku already.
Re: What chances for 3D hardware support will Haiku have?
Hi Tony Jackson,
SDL works on Zeta & BeOS and is complete. Should work on Haiku too.
I believe you're referring to libSDL_sound.so? libSDL_mixer.so? They work. No worries for SDL support on Haiku.
Hardware OpenGL will take awhile. I don't see it until Haiku R2 or R3 which is some ways off ( a couple of years - somewhere between 2 to 5 years from now ).
I looked at the game & it looks pretty good. I haven't tried it out though.
Re: What chances for 3D hardware support will Haiku have?
It's not too early to ask. In fact, our renderer add-ons based OpenGL Kit is ready to this next step, the Saint Graal: hardware 3d.
But nobody, me included, haven't yet find time to start working on it. Like every hardware drivers, it's hard, under-documented (if ever) and one will needs time, skills, dedication and... actual hardware to work on this heavy task.
So far, I've only the hardware in stock, and my lazy skills only got me two tiny skeleton hardware renderer add-ons code for Radeon and Nvidia that just check the expected hardware is actually there and then *lie* they could provide rendering, while they will provide exactly none.
Maybe I should commit those skeleton code, though. Okay, I will.
If any of you have time, dedication, skills and the hardware, we need you, we want you!
;-)
----
Philippe Houdoin, occasional OpenGL & Networking team leader ;-)
The Open Graphics Project
There are very good chances for 3D acceleration with the Open Graphics Card: http://lists.duskglow.com/mailman/listinfo/open-graphics
The interface is / will be fully documented.
I too, FWIW, think that the Open Graphics Project is our best shot at getting more 3D hardware options. It's not going to be on par with your Playstation 3 or (I believe) even recent nVidia cards, but it's a lot better to have at least some level of 3D acceleration than to have none. The large manufacturers are not going to do it for us, so we need to do it "ourselves".
The Open Graphics development cards (OGD1) are not going to be free, or even cheap*, so I think we should raise the money for at least one card and perhaps even for a set of bounties for various milestones to reach in Haiku device driver and 3D add-on development, if the Haiku admins think it's a good idea.
*cheap from a consumer/retail point-of-view. The OGD are not just graphics cards, they are development prototypes with re-programmable hardware. They could be re-programmed to do other things than graphics.
A few more links:
http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics
Information on the OGD1, a photo of the prototype:
http://wiki.duskglow.com/tiki-index.php?page=OGD1
The projected result: the Open Graphics Card (OGC1)
http://wiki.duskglow.com/tiki-index.php?page=OGC+FeatureList
If this project is successful this may be the beginning of a lot more. More powerful graphics cards, and hopefully other kinds of open hardware too.
Re: What chances for 3D hardware support will Haiku have?
There is now open source drivers for Intel graphics:
http://www.intellinuxgraphics.org/
Re: What chances for 3D hardware support will Haiku have?
Also ATI / AMD seemed to vaugely infer that they would improve their opensource efforts recently. That aside, porting an existing 3d driver is still a very big job.
http://linux.slashdot.org/article.pl?sid=07/05/13/1659245&from=rss
Intel
There is now open source drivers for Intel graphics:
http://www.intellinuxgraphics.org/
Oh, right! Yes that probably is the best investment of time for Haiku right now.
Re: What chances for 3D hardware support will Haiku have?
So VIA are not an option?
I havn't found any information on how fast/slow it are, but there are open source :)
Re: What chances for 3D hardware support will Haiku have?
Hi Philippe!
So, did you commit those skeleton 3D add-ons yet? please do.
I don't know if I can find enough time to have a look at the nVidia driver, but it's certainly nice to have the skeleton in place.
Greetings!
Rudolf.
Re: What chances for 3D hardware support will Haiku have?
It's done, under src/add-ons/opengl/nvidia and src/add-ons/opengl/radeon.
Don't hold your breath too much, these are the smallest skeletons possible.
What should be done first is to bind the glapi table provided by the libGL.so frontend OpenGL calls dispatcher to the hardware renderer ones. The same way you did it in your nVidia 3D libGL.so, but on a separate add-on, not anymore in libGL.so. As Mesa provides a flexible enough framework, this step is quite easy.
The next step is to bind the Mesa 6.x "flexible framework" device drivers callbacks to the hardware renderer revelant ones. While the GetString() version is an easy one, that's the hard job, in particular because this framework have nothing to share with Mesa 3.2 ones. Maybe the Nouveau project have made significant progress there, though.
I'll try to experiment, step after step, the same with Radeon renderer.
----
Philippe Houdoin, occasional OpenGL & Networking team leader ;-)
Re: What chances for 3D hardware support will Haiku have?
Hi Rudolf
nice to see you haven’t abandon us all together :)
with all the work you have dune you don't need to feel the burden of not having time, that would fall on me or someone else ;)
Re: What chances for 3D hardware support will Haiku have?
but on a separate add-on
This would be in src/add-ons/opengl/nvidia right?
With this new OpenGL approached can we run OpenGL apps and don't bather what graphic card they have?
I think that in R5 you hade do program different if you was using Plain R5 or Rudolf’s or has that more to do that there was different .so files?
Re: What chances for 3D hardware support will Haiku have?
Yes, Haiku's OpenGL kit has now a modular design: the libGL.so library expose the public GL/GLU/GLUT API, while renderer add-ons offer actual rendering services. One of the renderers located under src/add-ons/opengl is choosen by libGL.so to serve one GLView's view rendering needs.
Currently, the renderer add-on selection is dumb but it will enhance soon to query each renderer its actual capabilities to serve a specific GLView's view instance, returning an API scope and hardware acceleration factors. The best capabable *and* fast will be selected, not just the first found as today (!).
The libGL.so exports OpenGL 2.0 API, and GL programs should/could be programmed for this API or lower/older. The Mesa Software Renderer add-on does serve pretty much all this 2.0 API, and a well-programmed OpenGL application should check the extensions list before asserting a specific OpenGL API is available, not assuming blindly it's there.
----
Philippe Houdoin, occasional OpenGL & Networking team leader ;-)
Re: What chances for 3D hardware support will Haiku have?
How much would a DRI 3d addons help us? are there 3D addon working in the same way as ourse and perhaps can be use in some way?
DRI have support for
http://dri.sourceforge.net/doc/dri_driver_features.phtml
Re: The Open Graphics Project
There's now a minimal X11 driver for the Open Graphics development board:
http://lists.duskglow.com/open-graphics-announce/2007-July/000006.html
"We now have a minimal software rendering X11 driver for OGD1 working.
We can change video modes and switch one of the heads between analog and digital."
Re: What chances for 3D hardware support will Haiku have?
Seems AMD has committed to release documentation for their chips: http://www.0xdeadbeef.com/weblog/?p=302
OK, to the meat of the story. AMD is making the commitment to do two major things … release documentation that anyone can use to build and support drivers for their chips.
Let's hope they follow through with this.
Re: What chances for 3D hardware support will Haiku have?
I'm a bit sceptical here. World+dog says AMD will open up the specs for their 3d hardware, but is this really what they have said?
Here's what their press release says:
http://www.amdzone.com/modules.php?op=modload&name=News&file=article&sid...
The initial release includes source code and hardware specifications to engage the Open Source community for collaboration on 2D graphics drivers. Over the following months, AMD will work with the community to enable 2D, 3D and video playback acceleration to provide the best possible experience on the Linux desktop.
Phoronix.com says:
http://www.phoronix.com/scan.php?page=article&item=826&num=1
AMD will be providing NDA specifications, an open-source library, and there is a new open-source graphics driver as a result.
Additionally, e.g. for the R600 generation, you're going to need a special VLIW compiler for the 64 5-way unified shader units (which would be part of the "development package" AMD talks about, I guess). So even if the driver is fully open source in the end, is the situation really clear with regards to porting such a complex software system to Haiku?