Appendix C - References Asiliant Technologies: register specs for Chips and Technologies chipsets for laptops: https://en.wikipedia.org/wiki/Chips_and_Technologies. Be Incorporated http://www.beincorporated.com. BeOS API documentation: The Be Book https://www.haiku-os.org/legacy-docs/bebook BeOS R4 Graphics Driver Kit, alpha release 2, 1999-03-30, most likely written by Trey Boudreau. BeOS R5 Personal Edition, updates, and developer tools, free for non-commercial use. BeTVOut: TVout for nVidia cards under BeOS., Rudolf Cornelissen: http://betvout.sourceforge.net. FreeBSD http://www.freebsd.org. Haiku (OpenBeOS): http://www.haiku-os.org. Haiku (OpenBeOS) Matrox driver, Rudolf Cornelissen: http://rudolfs-place.
As opposed to the kernel driver, the accelerant runs in user space. The accelerant provides functions that are needed to control a graphics card. These functions are used by the app_server and/or applications directly. There are a number of reasons for the graphicsdriver being divided into a kernel- and userspace part: - Speed: When controlling the graphics card configuration (so programming the ‘registers’) is done using memory mapped I/O this can be done using pointers.
5 - Flags
Chart Legend Name - The name as defined in the BeOS header files. API Construct - The construct used in classes and functions. C - The command, from API of appserver or accelerant. S - Status, from accelerant to API. P - The app_server is target. A - The accelerant is source or target.
A flag is basically a single tray.
7 - Conclusion Writing video drivers is nice to do a while. It is very instructive and (yet) good to do when the whole structure is addressed. Sometimes writing video drivers requires the necessary imagination from the programmer, because it is difficult to test some (combinations) of things or make them testable. Also, the retrieval and understanding of the specifications is sometimes a challenge. Even if there is some documentation from a chip or card manufacturer, you still need to be puzzled regularly.
6 - Writing The Video Driver When writing a video driver, a number of issues are important: -A plan is required to indicate the order in which the components can be constructed; -There must be possibilities for testing the driver; And -The driver must be constructed in such a way that its stability is ensured as well as possible. This chapter will deal with these issues. The information given here is an important tool in actually building a video driver.
Architecture To check whether your target architecture is support visit Port status.
Pre-requisite Software You need some tools in order to build Haiku. See Pre-requisite software and install the tools mentioned there.
Getting the Source Code To download Haiku’s source anonymously, enter
git clone https://review.haiku-os.org/buildtools #needed for building git clone https://review.haiku-os.org/haiku #actual source If you’d like to learn more about downloading through git and git workflow, visit Getting the source code.
Student Application Mini-FAQ Where do I apply?
Start from the Google Summer of Code site What ideas can I apply for?
You can suggest your own idea(s) or check out our List of Google Summer of Code Ideas What info do you need in the application?
See the Application Template below for reference What if I still have questions?
Send a message to the Haiku Mailing List or contact Haiku's Google Summer of Code administrator (Adrien Destugues).
For information about Haiku's participation in GSoC this year, please see this page.
Qualifying students can apply for a Haiku project (see the list of suggested projects below). For details about how to apply, please check out Students: How to Apply for a Haiku Idea.
The most successful Google Summer of Code projects are often those proposed by the students themselves. The following list represents some of our ideas and wishes for the project.
There are several common patterns or approaches that you will use when developing Haiku native applications. These are listed below:
These tutorials were created by DarkWyrm unless otherwise stated.
Using the Layout API [PDF] - by waddlesplash Using attributes in your application [PDF] Using attributes in Queries[PDF] Monitoring the File System with the StorageKit [PDF] Registering a new file type [PDF] Using fonts [PDF] Creating a new UI Control [PDF] Using application scripting [PDF] Adding scripting to your applications [PDF] Enabling Drag & Drop [PDF] Exposing re-usable parts of your application with Replicants [PDF] Tutorial Project: Create a text editor [PDF]