Bradley T. Hughes
Qt
Labs
Aggregated
 in Qt, Labs, Aggregated
 on Thursday, November 22, 2007 @ 13:54

A couple of years ago (3, to be exact), my girlfriend and I bought a house about 45 minutes outside of Oslo. The little village is just far enough and small enough to not get cable TV. So, that means we have to have satellite. I consider myself a lucky geek, because my tuner runs Linux.

Even though I’ve had it for a while, I’ve not really sat down and done anything with it beyond watching TV. Stupid me! This things runs Linux and is built almost entirely on Open Source Software (there’s no source for the binary drivers to read the encrypted card from the TV company). So, here the other day I pulled down the sources, built the tool chain, and compiled Qt for it:

As you can see, the performance isn’t great. I suspect that it’s due to the fact that it has an 8-bpp frame buffer and Qt stores the backing store in 16-bpp. I’ll have to do some profiling to see what I can do to improve it. But still, this is seriously cool… I can spend my free time hacking my TV!

10 Responses to “Qt on the Dreambox”

» Posted by Johan Thelin
 on Thursday, November 22, 2007 @ 14:58

That looks really cool. Does it work with the DM500? Or, to put it in another way, how much memory does it require?

Also, will you replace the classic Enigma skin now?

» Posted by cph
 on Thursday, November 22, 2007 @ 15:54

Nice. I only ordered my DM7025 a week ago and hope to get delivery tomorrow! What are you hoping to do with Qt on your DM ?

» Posted by lusob
 on Thursday, November 22, 2007 @ 16:24

It’s cool!!
I also have compiled Qt 4.3.2 on a Nokia 700 (linux inside), you can watch a video with my qt application running on a Nokia 700 here:
http://www.youtube.com/watch?v=kOIeDC1LuyM

» Posted by Eren
 on Thursday, November 22, 2007 @ 17:29

Hello!

Running Qt on dreambox is great! I want to buy a dreambox too but I couldn’t find enough document to be able to understand what dreambox actually do and while doing it, what applications it uses.

First of all, I think, compiling a new application (kernel, or whatever is) for dreambox should be the most important point. Could you give a document for it? (compiling new kernel, adding new feature, hacking it etc.)

I have found a tuxbox forum but it is all German, so I couldn’t understand anything :(

Best Regards,
Eren

» Posted by wysota
 on Thursday, November 22, 2007 @ 21:07

This is neat. Seems you can run Qt over almost anything. I’m waiting for Qt-enabled refrigerators and toilets…

» Posted by ariya
 on Thursday, November 22, 2007 @ 21:29

Isn’t that PictureFlow?

» Reply from Bradley T. Hughes
 on Friday, November 23, 2007 @ 05:01
Bradley T. Hughes

Johan: Haven’t tried it on the DM500 (don’t have one, myself). But since the 500 also uses the tuxbox toolchain, I don’t see why it wouldn’t :) I would suspect I would have to run it over NFS,since the 500 doesn’t have room for a disk (I put Qt on the hdd in my 7000, not enough room in flash). Here’s an idea of how big the binaries for the 7000 are:

root@dreambox:/var/mnt/hdd/QtopiaCore-4.4.0> ll lib/libQt*.so.4
-rwxr-xr-x 1 root root 3165226 Nov 15 19:54 lib/libQtCore.so.4
-rwxr-xr-x 1 root root 11345932 Nov 15 19:55 lib/libQtGui.so.4
-rwxr-xr-x 1 root root 668429 Nov 15 19:55 lib/libQtNetwork.so.4
-rwxr-xr-x 1 root root 1546420 Nov 15 19:55 lib/libQtScript.so.4
-rwxr-xr-x 1 root root 321560 Nov 15 19:55 lib/libQtSql.so.4
-rwxr-xr-x 1 root root 464101 Nov 15 19:55 lib/libQtSvg.so.4
-rwxr-xr-x 1 root root 402839 Nov 15 19:55 lib/libQtXml.so.4

root@dreambox:/var/mnt/hdd/QtopiaCore-4.4.0> ll bin
-rwxr-xr-x 1 root root 71780 Nov 15 19:54 collidingmice
-rwxr-xr-x 1 root root 95486 Nov 15 22:11 pictureflow
-rwxr-xr-x 1 root root 62808 Nov 14 22:45 wiggly

cph: Andreas taught a few of us at the office to play Go, and I was thinking of writing a Go client that I could use from the couch :) It would be handy to read email and do calendar stuff too… Perhaps QtWebKit will let me write some sort of YouTube browser/player… who knows :)

Ariya: Yes it is :D

» Reply from Bradley T. Hughes
 on Friday, November 23, 2007 @ 10:58
Bradley T. Hughes

Eren: Building the toolchain for the dreambox was fairly straight forward, but slightly under-documented. What I did was to pull the dreambox branch from cvs.tuxbox.org:

$ mkdir ~/dreambox
$ cd ~/dreambox
$ CVS_RSH=ssh cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P -r dreambox .

Then I built just the toolchain:

$ cd ~/dreambox/cdk
$ less doc/INSTALL.dreambox.image.en
$ ./prepare dm7000
$ make checkout
$ make core

Notice that I only did ‘make core’ instead of ‘make image’ and the rest. I was only interested in the toolchain, not in creating a flash image. After the toolchain was built, I added ~/dreambox/root/cdk/bin to my path. The compiler is called powerpc-tuxbox-linux-gnu-gcc and powerpc-tuxbox-linux-gnu-g++. I added a mkspec to the Qt 4.4 snapshots for building on the DM7000, so all you would have to do to build a Qt 4.4 snapshot is:

$ ./configure -embedded powerpc -xplatform qws/linux-dm7000-g++
$ make sub-src

» Posted by Eren
 on Friday, November 23, 2007 @ 17:52

Thank you for reply.

Making image looks easier than I expected. So, you compiled Qt snapshot with “powerpc-tuxbox-linux-gnu-gcc”, and run it with dreambox. But I don’t get how you managed to run a Qt application on dreambox? Where did you upload your application and how did you start it?

» Reply from Bradley T. Hughes
 on Monday, November 26, 2007 @ 06:21
Bradley T. Hughes

Eren: I installed the dropbear sshd on my dreambox, so I just ssh into it :) (or just use telnet that comes with a stock image). All the binaries I just put on the harddrive and run them from there.



© 2008 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
All other trademarks are property of their respective owners.