Lesson 22: A First (Bigger) Project

Blog post by darkwyrm on Wed, 2011-12-28 16:58

After a long hiatus, here is the next lesson in the series. Lesson 22 begins a project which will delve deeper into what is involved in developing larger projects in Haiku. In this case, we begin working on a text editor, QuickEdit.

Programming with Haiku, Lesson 22
Lesson 22 Source Code

Radeon HD driver status update

Blog post by kallisti5 on Tue, 2011-10-18 17:11

UPDATE 10/19/2011! Older Radeon HD cards seem fully working minus HDMI. See below.

After several months of hard work (including some redesign of the driver) basic mode setting is working on a small number of Radeon HD cards after r42877. I am using the AMD AtomBIOS parser which executes binary functions on the Radeon HD card to do the real register hitting.


  • No 2D acceleration - 2D acceleration hasn't been started yet. These cards are fast without it however.
  • TV not working - I haven't put a lot of focus on TV just yet
  • Later cards - Radeon HD 5xxx+ cards are still having issues
  • DIG encoders - Later (r700?) Radeon cards can have DIG encoders. These are like digital encoders... but newer and not done yet.


  • Connector walking - We walk over all possible connectors and probe EDID data on each.
  • Multi-monitor - We can easily support multiple monitors in the driver. We just need to tie in the Screen Preflet code to make it happen. For the moment we set the same VESA EDID video mode on each attached display and get mirroring (as long as your displays are identical).
  • Monitor detection - We can manually trigger monitor detection (in the code, needs a Screen Preflet option) and set the initial mode on each display, hotplug support is planned.
  • Analog video - VGA, DVI-A, DVI-I (VGA)
  • Digital video - DVI-I (digital)

Card support:

  • Radeon HD 2350 - Radeon HD 3450 - Analog / Digital (minus HDMI) working
  • Radeon HD 3470 - Radeon HD 4890 - Unknown. Please test!
  • Radeon HD 5450+ - Analog mode change works, no video. Digital DIG encoder not complete

Things should get smoother at this point as we have a working video for reference.

The radeon_hd driver should be in the nightly images starting with r42888+. If you have a Radeon HD card, feel free to report functionality here or by emailing me.

In closing, for those "pictures or it didn't happen" people...

Programming with Haiku, Lesson 21: Replicants

Blog post by darkwyrm on Wed, 2011-07-06 00:49

Here is a topic that for the longest time as a BeOS/Haiku developer, I had no idea how to do and didn't really feel enthused on the concept of learning. Of course, now all the major platforms have desktop gadgets. Ironically, writing a replicant is really easy if you already know how to write basic Haiku GUI applications already. Find out how in this lesson.

Programming with Haiku, Lesson 21

Lesson 20: Drag and Drop

Blog post by darkwyrm on Tue, 2011-05-17 11:38

In this lesson we seek to understand the part of the Interface Kit which lets us move things around in Tracker using the mouse. We will examine both ways of transferring information from one program to another, both the simple way and the more flexible (and complicated) method.

Programming with Haiku, Lesson 20

Lesson 19: Deeper in Application Scripting

Blog post by darkwyrm on Wed, 2011-04-13 00:34

When we last looked at application scripting in Haiku, we merely scratched the surface. Using the hey command and the basic concepts behind the Haiku scripting model, we were able manipulate running applications to do our bidding. Now we will delve into the C++ code which can do the same thing with much greater flexibility and even implement scripting support in our own GUI controls.

Programming with Haiku, Lesson 19

Lesson 18: Application Scripting

Blog post by darkwyrm on Wed, 2011-03-16 00:30

After a _long_ hiatus, Lesson #18 is available for your reading pleasure. The topic? Scripting Haiku applications, possibly one of the least understood aspects of the operating system. Learn about hey command, its uses, and even see some of the most English-like bash commands ever. Also see how to make almost any Haiku application answer your beck and call and tinker around the operating system with an updated version of the ScriptWorld demo application, Scripting Explorer.

Programming with Haiku, Lesson 18
Supplemental Source Code: Scripting Explorer

Lesson 17: Writing a New Control, Part I

Blog post by darkwyrm on Mon, 2011-01-31 20:39

This lesson is one of several which delves into the art of control writing for Haiku -- not just a quick-and-dirty hack on an existing one, but writing a new control which rivals existing ones in quality and features. Learn how controls handle drawing themselves and write a basic color display control.

Programming with Haiku, Lesson 17

Syndicate content