[Development] Port QT 5 to Haiku

Kalinowski Maurice Maurice.Kalinowski at digia.com
Thu Oct 17 11:27:08 CEST 2013


Hi,

long time ago that I hear something from this project :)

> On 17 Oct 2013, at 2:45 AM, Giovanni Mugnai wrote:
> > I'm writing here, since to me and some other Haiku users, we'd like to
> > find a programmer/expert developer able to fully port the latest
> > version of Qt 5 on Haiku. With "fully port" we mean to port the Qt 5.x
> > in a perfect way: complete of any components (eg shared memory, phonon
> > and with the latest revision of QtWebKit) and bug free.. A first class
> > port.
> 
> That sounds like a worthwhile goal, but here are a couple of details I can think
> of:
> 
> - Qt Multimedia is not based on phonon anymore.  But of course you can
> probably get the new version working.

True. In addition phonon and MediaKit shared many design aspects (node management etc). But it should be pretty straight forward mapping the higher level MediaKit classes into Multimedia (was it BSoundPlayer or such?)

> 
> - You should probably use Qt WebEngine instead of the existing webkit.  But
> there are other things to do first anyway, so by the time you get there it should
> be quite mature.  http://blog.qt.digia.com/blog/2013/09/12/introducing-the-qt-
> webengine/

That comes in with quite some additional dependencies needed to be ported, but long term that should be the way to go.

> 
> - OpenGL is quite important to Qt nowadays, but I see in your FAQ that Haiku
> often falls back to VESA drivers.  Does it have OpenGL support at all, with the
> right combination of drivers and hardware, or does it have a fallback software
> implementation?

Not sure to which extent that has changed over the years, but my assumption is that you are still create drivers by try-and-error for only a selected amount of cards/chipsets? Shawn is right that this has potential to be a bottleneck.

Getting started should be pretty straight forward. The posix layer is ok'ish in BeOS and even improved on haiku, so most of the QtCore items should work out of the box using the existing implementation (also threading). The Qt4 based port did that as well. In addition for the qpa plugin you need to hook event dispatching by playing around with BApplication and BWindow::MessageReceived stuff. But that shouldn't be too complicated either. For starting with painting of gui and widget stuff, create just one BView inside the window and blit into that. Qt can take care of the subitems then.

Qt Quick etc then needs above requirements on OpenGL...

BR,
Maurice


----

Maurice Kalinowski
Senior Manager, Tools - Digia, Qt
 
Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B





More information about the Development mailing list