Accelerated Graphic Cards: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
Line 35: Line 35:
Not exactly an actual GPU, but the [[VMWare SVGA-II]] device makes for a nice virtual machine device for some 3D acceleration. It is available on both VMware and QEMU. A well-documented and easy-to-port reference driver has also been made available by VMware under the MIT license. Although it is deprecated, the device works perfectly fine under QEMU and is relatively simple to work with, thus it makes for a very good starting point for graphics acceleration. Reference driver available at [http://vmware-svga.sourceforge.net/index.old.html the old vmware-svga page on sourceforge].
Not exactly an actual GPU, but the [[VMWare SVGA-II]] device makes for a nice virtual machine device for some 3D acceleration. It is available on both VMware and QEMU. A well-documented and easy-to-port reference driver has also been made available by VMware under the MIT license. Although it is deprecated, the device works perfectly fine under QEMU and is relatively simple to work with, thus it makes for a very good starting point for graphics acceleration. Reference driver available at [http://vmware-svga.sourceforge.net/index.old.html the old vmware-svga page on sourceforge].


== Where can I find low-level information about NVIDIA/AMD/Matrox/other 3D graphic cards? ==
== Where can I find low-level information about NVIDIA, AMD, and other graphic cards? ==


Good question. Unless you find something else, there is virtually no information publicly available (for free or otherwise) about the internal workings of current 3D graphics cards. There are only small bits that are relevant to game programmers but nothing an OS developer could use.
Good question. Unless you find something else, there is virtually no information publicly available (for free or otherwise) about the internal workings of current GPUs. There are only small bits that are relevant to game programmers but nothing an OS developer could use.


Now, if you have a VIA graphics chip, things may be better since they recently released an [http://linux.via.com.tw/ open source driver] for both 2D and 3D operations.
Now, if you have a VIA (integrated) GPU, things may be better since they released an [http://linux.via.com.tw/ open source driver] for both 2D and 3D operations.


There are virtually no tutorials or datasheets for the 2D acceleration features either, but at least we have open-source code for them. Among other sources, the Xorg/XFree86 drivers, [https://github.com/haiku/haiku/tree/master/src/add-ons/accelerants Haiku (was Open BeOS) accelerants] and [http://www.shawnhargreaves.com/freebe/ FreeBE/AF]. They may provide enough information to reverse-engineer and figure out a model that could be used to program/port for your environment. Some older cards with only 2D acceleration might be documented by the [https://pdos.csail.mit.edu/6.828/2018/readings/hardware/vgadoc/ VGADoc] ([https://pdos.csail.mit.edu/6.828/2018/readings/hardware/vgadoc4b.zip vgadoc4b.zip], also on [https://github.com/achernya/iap-6.828-website/tree/master/readings/hardware/vgadoc GitHub]).
There are virtually no tutorials or datasheets for the 2D acceleration features either, but at least we have open-source code for them. Among other sources, the X.Org/XFree86 drivers, [https://github.com/haiku/haiku/tree/master/src/add-ons/accelerants Haiku (was Open BeOS) accelerants] and [http://www.shawnhargreaves.com/freebe/ FreeBE/AF]. They may provide enough information to reverse-engineer and figure out a model that could be used to program/port for your environment. Some older GPUs with only 2D acceleration might be documented by the [https://pdos.csail.mit.edu/6.828/2018/readings/hardware/vgadoc/ VGADoc] ([https://pdos.csail.mit.edu/6.828/2018/readings/hardware/vgadoc4b.zip vgadoc4b.zip], also on [https://github.com/achernya/iap-6.828-website/tree/master/readings/hardware/vgadoc GitHub]).


Anyone who wishes to put time into that kind of research is welcome to post their results here.
Anyone who wishes to put time into that kind of research is welcome to post their results here.