- Debugger: Getting mixed signals
- 'Packaging Infrastructure' Contract Weekly Report #4
- Haiku monthly activity report - 06/2015
- 'Packaging Infrastructure' Contract Weekly Report #3
- 'Packaging Infrastructure' Contract Weekly Report #2
- GCI 2014 winners trip report (mentor side)
- TeX Live and LyX; Changes to the boot code
- 'Packaging Infrastructure' Contract Weekly Report #1
- Beginning of 'Packaging Infrastructure' Contract
- Haiku monthly activity report - 05/2015
Haiku Activity Update #4: 9 September 2007-5 February 2008
Multi-processor support has been improvedI managed a whole three Activity Update posts last summer before Real Life (TM) got in the way. Ironically #3 mentioned switching to a two-week update to be more resilient to stuff in the real world! Well, 2 weeks has become 4 months but I'm back on top of all things Haiku and ready to once again attempt to provide a bi-weekly update.
It is stating the obvious to say that a lot has happened in the Haiku world in the last 4 months (my email backlog had grown to over 4000 emails) and so this update will cover less detail than the more regular ones and will mainly focus on the changes that have happened in the Haiku code.
In brief: Huge stability improvements in the kernel and VM, syscall optimisations, OHCI USB work, an AHCI SATA driver, hotplugging support for devices, USB 2.0 handling for legacy devices, work on partitioning support and DriveSetup, and new features in Kernel Debugging Land.
Read on for more...
Major Changes
Kernel
Axel updated the file cache/file_map code - it's now cleaner, faster and simpler. What's not to like? :)
A major scheduler bug where lower priority threads were never run when higher priority threads were ready was fixed.
Lots of fixes in the VM from both Axel and Ingo.
Axel fixed a couple of major bugs in BFS, meaning extracting all >95000 files from a Haiku source tarball worked for the first time. Ingo optimised the syscall mechanism. It's now 7.5x faster than before, and quicker than R5 and Zeta.
Ingo also did some work on the kernel portion of partitioning support. Michael Lotz implemented rescanning of drivers and devices to allow hotplugging support (and mounting newly inserted CDs, for example). Michael made a change to drastically speed up the checking that happens on freeing heap memory - the slow paranoid check was responsible for Haiku slowing down after opening/closing lots of programs (discovered recently by Jonas Sundström).
Kernel Debug Land (KDL) Improvements
Ingo added an expression parser to Kernel Debug Land, and support for variables.
He also made KDL command help text easier to view (just press tab after typing the command name and a space), and updated the help for many commands.
Along with Axel (mainly in the pre-BeGeistert coding event), Ingo implemented a new tracing mechanism in the kernel with a KDL command to display traced events (syscalls, signals, and BMessages) and filter them.
Networking
Axel fixed some bugs with TCP in the network stack and a deadlock that prevented all network timers from working. This fixed many networking problems.
The FreeBSD network driver compatibility layer was updated to the FreeBSD 7 interface.
USB
Michael Lotz completely redesigned the USB explore method, preventing a driver being rescanned multiple times and solving some locking problems. Michael also added support for low/full speed interupt transfers over EHCI - in other words, USB mice and keyboards should work now on USB 2 hubs. Salvatore Benedetto did some work on OCHI USB controllers, the one type of controller that Haiku does not yet support.
Multiprocessor Support
Michael Lotz also spent some time working on the problems Haiku suffered with SMP systems - he worked on ACPI tables to detect SMP configurations, and made some locking fixes to the scheduler and interrupt vector processing.
These changes allowed a quad-core system to boot Haiku successfully - take a look at Phillipe's screenshot attached to this post! There are still some bugs that only show up on SMP setups, but the situation is definitely improving.
Drivers
Marcus did lots of work on the AHCI SATA driver, and worked on the IDE, ATA and SATA bus managers.
Jérôme Leveque contributed a driver for certain M-Audio sound chipsets. Oliver Ruiz Dorantes moved his work on a bluetooth stack into the Haiku tree.
The 3Com, Via Rhine, nForce, and Broadcom BCM570x network drivers from FreeBSD 7 were compiled for Haiku, using the updated compatibility layer mentioned above.
Axel updated his Intel Extreme graphics driver to work with the i965. Ithamar continued work on his Intel HDA audio driver, improving laptop support.
Axel rewrote the AGP bus manager to act as a generic GART manager, and used it to manage memory in the intel_extreme driver.
Posix
Ryan Leavengood (with some help from Ingo) improved the pthreads implementation in Haiku in order to help his WebKit port.
Vasilis Kaoutsis contributed lots of patches throughout the period, many to do with style issues and test cases for the posix code.
Applications
Łukasz Zemczak's Summer of Code project "Package Installer" was added to the tree.
Axel found Gobe Productive wasn't working due to an unimplemented private function. This was fixed so now Gobe Productive runs in Haiku, yay! Stephan has been working on the DriveSetup app - the user interface to the partitioning support infrastructure Ingo has been working on. In the last week Stephan got the app to the point where he could successfully use it to initialise a BFS partition.
François worked on an application to modify UI colours, backgrounds and other appearance-related settings.
The WebKit port led by Ryan Leavengood is not being done in the main Haiku tree but he still kept the community posted on progress. He is now working with a couple of others on the port, and they released a screenshot of the first decent WebKit rendering to demonstrate the progress they'd made.
Smaller Stuff
A couple of commits from people we haven't seen for a while who I think deserve a mention. Graphics driver maestro Rudolf, and Hugo who is responsible for quite a bit of the code in the network stack, both popped up with some contributions. Here's hoping they both find the time (and internet connections!) to continue working on Haiku.
Stephan implemented support for BViews to draw over their children as in R5 using the B_DRAW_ON_CHILDREN flag.
Anthony Lee is a Chinese developer (I think) who contributed various patches to improve Input Method Editor support and bitmap font rendering. Great to see Haiku getting more usable for those who aren't native English speakers.
Stefano puts lots of work into small Interface kit issues with very little credit - so here it is! He is often to be found improving the behaviour of Haiku controls, especially BMenus and BTextViews.
Michael and Ingo fixed a few bugs together at the coding event - MIME database support was moved into the registrar to fix a deadlock, and they fixed the media_server crash at shutdown.
François Revol has been working away on an m68k port - the processor used in the Amiga and Atari to name just two. Not especially useful for most of us, but it is pretty l33t!
The biggest problems with mouse input in Firefox/Mozilla have been fixed. Just a few drawing bugs left now!
Other News
Janne Johansson donated the use of a server and bandwidth which has been put to use as a way to very quickly do a full-text search on the entire Haiku tree. See it here. Thanks a lot, Janne, I'm sure that is going to be really useful.
If you missed Stephan's report on the recent Coding Session and BeGeistert, I recommend you read it. Along with all the great Haiku progress, the developers actually got locked in a basement! Maybe the hostel staff are secret Haiku fans :)
Wrapping Up
A slightly strange update this one after so long away from Haiku. The sheer number of commits made it impossible to mention everything that happened in this period, so apologies to everyone who I've missed out. Your work is still very much appreciated - I promise to mention you in the next update if you do something in the next fortnight!
Although I enjoy following Haiku on a daily (/hourly/minutely!) basis to see the step-by-step progress, it was also nice to take a few months away from the project. Coming back and catching up on all the changes in one go really emphasises how those little steps add up to huge leaps forward. Haiku now is so much better than it was just 4 months ago - far more stable (people have reported days of uptime with recent builds), quicker, more complete, and with better hardware support.
Who knows where we'll be 4 months from now? It should be fun finding out - I hope you'll join me for the ride!
- tangobravo's blog
- Login or register to post comments

Comments
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
I was indeed jumping in excitement when I saw those 4 Pulse's bars blinking wild for the first time!
I had to launch a few CPU crunching apps for that, though ;-)
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
when i try to click on the 4 CPU thumbnail , i get redirected...?!
no bigger image?
Is it to early to ask if haiku will hit 2008 and download able CD Or usb imgage to try it out?!
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
Full size (1280x1024) screenshots:
http://philippe.houdoin.free.fr/tmp/screen1.png
http://philippe.houdoin.free.fr/tmp/screen2.png
http://philippe.houdoin.free.fr/tmp/screen3.png
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
Full size (1280x1024) screenshots:
http://philippe.houdoin.free.fr/tmp/screen1.png
http://philippe.houdoin.free.fr/tmp/screen2.png
http://philippe.houdoin.free.fr/tmp/screen3.png
Why isn't the GL output visible on screenshots anymore, but just a black rectangle? Does it have anything to do with direct rendering or someting like that? It used to work.
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
Direct rendering issue, indeed.
That's one we must fix, no doubt.
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
wow thx for the extra screenshots!
It seems it was an issue with my noScript ;)
Current thumbnails and thumbnail enlargements working good!
i'm realy looking forward to try this myself :)
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
Hey nice update! It's great for people who can't install a Haiku image every week/months and even those who can, can't easily know what has changed inside.
Thanks a lot.
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
I am sorry to override your decision with my admin powers, but this definitely deserves to be promoted to the front page! Yay! Thanks for the nice update, even if one follows the progress very closely, it is still nice to get such a summary, the feeling of accomplishment is amplified. :-)
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
Thank you Simon for this nice update. It's a good thing to have. Keep it up!
BTW, a huge THANK YOU!!! to all the devs that make this possible. We really appreciate your work!
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
The full text search is being put to good use already by me at least :)
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
What's the hell have you doing during 4 months ? ;)
Thanks for the update
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
What's the hell have you doing during 4 months ? ;)
Thanks for the update
I moved and started a PhD. Nothing huge, but enough to build up a backlog of a couple of weeks. The longer I left it, the harder it was to read through everything - and I just couldn't bring myself to delete all those emails and start afresh!
when i try to click on the 4 CPU thumbnail , i get redirected...?!
no bigger image?
Is it to early to ask if haiku will hit 2008 and download able CD Or usb image to try it out?!
The link works for me (it should display a larger version in a popup). I cropped the screen shot to just show the interesting part (and reduce the size of the image) - see Phillipe's links for full-screen images.
It is always too early to talk of releases - but there has been discussion on the mailing list of preparing for an alpha release, and I would be surprised if we didn't see an alpha out this year. Usual disclaimers apply to this statement - the usual Haiku policy is "we'll release it when it's ready".
Re: Haiku Activity Update #4: 9 September 2007-5 February 2008
The first alpha release will most probably target developers, walking in the famous steps of Be Inc.'s Developer Releases (DR1 to DR8) in the past.
2008 could be indeed the year to see such release(s). At least, that's what is debated and what everyone is working hard on.