Skip to content
Archive of posts filed under the Symbian Development category.

Qt installers for S60 5th edition

I found out that the do not host the Qt installer sis files anymore, so I decided to try to find them and host them in here.

Here are the installers Qt 4.6.3 (gpsp needs these):

I’m not sure if the installer for SE satio is the ‘official one’ or modded, but it should work.

Continue reading ‘Qt installers for S60 5th edition’ »

Configuring GCCE 4.6.3 for Symbian with Nokia Qt SDK

PPSSPP is using the GCCE version 4.6.3 for builds, and I wanted to see if there’s anything that I could do to help, so I ended up setting up the development environment. Here’s short instructions how you can configure the GCCE 4.6.3 for Nokia QT SDK.

Download the GCCE 4.6.3

Download the  GCCE 4.6. 3 from Mentor Graphics.

Add new GCCE version to the Qt Creator

Open QtCreator and choose tools->options and go to build & run tab. You can add your new GCCE version from there.

QtCreator Build and Run settings

QtCreator Build and Run settings

Next. Open up the project that you are building, and then open the project tab on QtCreator, choose Build & Run, and from the build you can choose the new GCCE 4.6.3.

QtCreator project Build Settings

QtCreator project Build Settings

Continue reading ‘Configuring GCCE 4.6.3 for Symbian with Nokia Qt SDK’ »

Changes in Symbian Memory Management in Belle FP1 and Belle Refresh

A while a go I made gpsp update for the Symbian Belle and Belle Refresh. I learned that for some reason Nokia has changed the memory management a bit, so the new Symbian version will fail when I’m creating my own heaps with RHeap API’s.  It seems that the new Symbian is unable to increase the application heap size when creating new heaps. Luckily the fix is rather easy;

I just had to increase the initial amount of Heap reserved by the app startup by increasing the target.EPOCHEAPSIZE in the Qt’s .pro file. like this:

//it was somethign small like: symbian:TARGET.EPOCHEAPSIZE = 0x200000 0x1000000
symbian:TARGET.EPOCHEAPSIZE = 0x800000 0x1400000

Personally I have no idea why Nokia made any changes to the Symbian kernel at this point, when they have pretty much killed the whole platform. They  are just getting broken apps for dying ecosystem. If I wouldn’t have had the Symbian SDK still installed, I wouldn’t have bothered to download the SDK again just to make even a minor update.

QGLWidget in Symbian Belle(leaked version)

Warning: This post is made only with leaked Symbian Belle. The official Nokia release might not have the problem described in this post.

Here’s the problem:  I implemented the blit in QGLWidget’s paintEvent(QPaintEvent *) method. The idea was that the Qt would be using OpenGL ES for the blit, when I’m using the QGLWidget.

Currently I’m only using the QPainter for the actual blit. Like this:

QPainter painter;
//.... do the painting

However the method above seems to be failing in the Symbian Belle (only a black screen is shown), so the QGLWidget is clearly not working as well as it was in the Symbian Anna.

Solution: I just converted the QGLWidget into a normal QWidget, and everything seems to be working. At least with the leaked Symbian Belle I can not see any significant difference in the fps compared to what it was with Symbian Anna and QGLWidget, so I’ll just leave it like this.

I don’t know if the official Belle release will contain this bug or not. If the bug still exists, then I can make an error report to the Qt’s JIRA.

Compiling sources with different optimization flags with GCC

I had some strange problems with some GCC bugs with AntSnes and gpsp. For some reason some source files did not compile correctly with “-O2” optimization flags. A quick way to fix this problem was to compile the objects with problems without optimizations.

My quick “hacky” solution was to compile these few files with “-O0” flags into the asm-files from command line, and then include these asm-files from the mmp/makefile into the project.

Compiling the sources into asm-listings can be done like this:

 gcc -O0 -S -c foo.c

Of course you’ll get some problems from missing included etc, but that can be solved by adding all the include folders to the gcc with “-include” flag.