Symbian developer community

 

Forums

Reply
 
Thread Tools Display Modes
  #1  
Old 2010-03-12, 03:35
apache's Avatar
apache apache is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 6
Default Porting Symbian^3 Homescreen to existing Series 60 Touch devices

This project is to change the homescreen to the new awesome homescreen of Symbian^3 devices. Referrence thread here http://developer.symbian.org/forum/s...ead.php?t=5206 Hope this project goes well and be a great success
Reply With Quote
  #2  
Old 2010-03-12, 13:30
teknolog's Avatar
teknolog teknolog is offline
Staff
 
Join Date: 2009 May
Posts: 794
Default

We are very supportive of this project.

How do you suggest it be set up? What are the actions that need to be taken?
Reply With Quote
  #3  
Old 2010-03-12, 17:37
apache's Avatar
apache apache is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 6
Default

Creating the standalone installer of the homescreen and then making note of all needed UIDs and homescreen elements then implementing one by one to test the homescreen.
Reply With Quote
  #4  
Old 2010-03-12, 21:29
teknolog's Avatar
teknolog teknolog is offline
Staff
 
Join Date: 2009 May
Posts: 794
Default

That sounds very backwards to me. There must be several hurdles before you get to that stage. Have you managed to compile the package yet?
Reply With Quote
  #5  
Old 2010-03-13, 20:35
bdonegan's Avatar
bdonegan bdonegan is offline
Staff
 
Join Date: 2009 Apr
Posts: 816
Default

I don't think the homescreen compiles with GCCE yet. It's not going to go very far as a community project if it needs to be compiled with RVCT 2.2.

We have:

http://developer.symbian.org/bugs/show_bug.cgi?id=1705
http://developer.symbian.org/bugs/show_bug.cgi?id=1750
Reply With Quote
  #6  
Old 2010-03-19, 12:57
jake's Avatar
jake jake is offline
Symbian Foundation Community Member.
 
Join Date: 2009 Mar
Posts: 42
Default

I created a wiki page for this project http://developer.symbian.org/wiki/in...ing_Homescreen.

FCL branches exists as well so you can get your hands dirty.

Homescreen does not compile with GCCE, at the moment. I'm confident that situation will change.
Reply With Quote
  #7  
Old 2010-03-19, 13:26
mod's Avatar
mod mod is offline
Symbian Foundation Community Member
 
Join Date: 2009 Jun
Posts: 99
Default

Hi Jake,

again same question from the old thread, I guess it got lost.

Is it correct that the only official way to replace existing homescreen and not as an external standalone application would be if Nokia would sign the package?

I guess the final sis file would need protserv capabilities and would therefore need to be signed. But I think using the old UID with a new identifier name is not possible/allowed.

Can you confirm this or am I wrong here?

Thanks,
max
Reply With Quote
  #8  
Old 2010-03-22, 14:11
jake's Avatar
jake jake is offline
Symbian Foundation Community Member.
 
Join Date: 2009 Mar
Posts: 42
Default

Hi mod,

Yes, some of the components use capabilities, which requires signing. It makes the installation of new Homescreen a bit trickier as every body must sign a sis for their phone. On the other hand it seems that some people are able to make custom images and flash phones. Of course that can not be the main delivery channel.
Reply With Quote
  #9  
Old 2010-03-22, 15:47
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

I tried to compile homescreenpluginsrv, but I don't know how to deal with lib files:

Quote:
make[1]: *** No rule to make target `\epoc32\release\WINSCW\udeb\sysversioninfo.lib', needed by `\epoc32\release\winscw\udeb\hspsthemeserver.exe'. Stop.
Is there any way to reversely create .lib files from the existing binaries? Or can we bypass this and link against the dll without having the .lib?

BTW: where is the best place to discuss porting results? This thread isn't linked in the wiki, maybe it should be added.

Last edited by cmorlok; 2010-03-22 at 21:02.
Reply With Quote
  #10  
Old 2010-03-23, 12:43
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

I'm using S^3's libs now. Let's see if it works.
Reply With Quote
  #11  
Old 2010-03-23, 13:46
bdonegan's Avatar
bdonegan bdonegan is offline
Staff
 
Join Date: 2009 Apr
Posts: 816
Default

I'm not sure if anyone agrees with me, but I think it would be more intuitive to just use the wiki comments to discuss progress. Anyone think that the forum would be more appropriate?
Reply With Quote
  #12  
Old 2010-03-23, 14:19
jake's Avatar
jake jake is offline
Symbian Foundation Community Member.
 
Join Date: 2009 Mar
Posts: 42
Default

cmorlok, just use the libs from Symbian^3. That's what I did. Once we get everything compiled and we can actually run Homescreen we see if there has been binary breaks in components between v5 and Symbian^3. Those has to be solved case by case.

I think that the wiki comments is a good place to discuss about the progress.
Reply With Quote
  #13  
Old 2010-03-23, 22:36
kashif.sayed's Avatar
kashif.sayed kashif.sayed is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 17
Default

When try to compile sayd

VENDORID doesn't fit expected number format

value in mmp file is vedorid_default what should be the value
Reply With Quote
  #14  
Old 2010-03-24, 13:23
teknolog's Avatar
teknolog teknolog is offline
Staff
 
Join Date: 2009 May
Posts: 794
Default

Remove that line. Most likely you don't need a VENDORID.
Reply With Quote
  #15  
Old 2010-03-24, 15:29
kashif.sayed's Avatar
kashif.sayed kashif.sayed is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 17
Default

can anybody provide the link to download osversioninfo.lib
Reply With Quote
  #16  
Old 2010-03-24, 15:40
teknolog's Avatar
teknolog teknolog is offline
Staff
 
Join Date: 2009 May
Posts: 794
Default

Everything is in the repositories. However, I can't find anything that produces an osversioninfo.dll. What refers to it? Which exports are expected?
Reply With Quote
  #17  
Old 2010-03-24, 21:31
kashif.sayed's Avatar
kashif.sayed kashif.sayed is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 17
Default

never mind got hold of zip files containing lib files

1 question tho is there any way to get only .h and related files from pdk

now i am stuck on getting error message
undefined identifies KAiwCmdCall in ahtelkeyhandler.cpp any suggestions

Last edited by kashif.sayed; 2010-03-24 at 22:54.
Reply With Quote
  #18  
Old 2010-03-25, 08:42
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

I cannot commit my changes. What's wrong here?

M:\homescreensrv>hg push
pushing to http://developer.symbian.org/oss/FCL...homescreensrv/
searching for changes
http authorization required
realm: Symbian Foundation
user: cmorlok
password:
abort: authorization failed
Reply With Quote
  #19  
Old 2010-03-25, 08:53
bdonegan's Avatar
bdonegan bdonegan is offline
Staff
 
Join Date: 2009 Apr
Posts: 816
Default

@kashif.sayed

Header files are mainly in binaries_epoc_sdk.zip if that's what you mean.

@cmorlok

I can only assume you entered your password incorrectly, at least that's usually why that message appears.
Reply With Quote
  #20  
Old 2010-03-25, 09:13
bdonegan's Avatar
bdonegan bdonegan is offline
Staff
 
Join Date: 2009 Apr
Posts: 816
Default

Quote:
now i am stuck on getting error message
undefined identifies KAiwCmdCall in ahtelkeyhandler.cpp any suggestions
KAiwCmdCall is defined in AiwCommon.hrh (in Symbian^3), but that identifier isn't present in the SDK version of AiwCommon.hrh. Just grab the newer one, should work fine!
Reply With Quote
  #21  
Old 2010-03-25, 09:43
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

Quote:
Originally Posted by bdonegan View Post
I can only assume you entered your password incorrectly, at least that's usually why that message appears.
I found the problem: Had to sign the agreement again, now it works.

Last edited by cmorlok; 2010-03-25 at 10:06.
Reply With Quote
  #22  
Old 2010-03-25, 10:37
teknolog's Avatar
teknolog teknolog is offline
Staff
 
Join Date: 2009 May
Posts: 794
Default

Quote:
Originally Posted by kashif.sayed View Post
undefined identifies KAiwCmdCall in ahtelkeyhandler.cpp any suggestions
Use the Cross Referencer to search the code. I find it in AiwCommon.hrh.
Reply With Quote
  #23  
Old 2010-03-25, 15:34
victor's Avatar
victor victor is offline
Staff
 
Join Date: 2009 Mar
Location: London,UK
Posts: 231
Default

Quote:
Originally Posted by cmorlok View Post
I found the problem: Had to sign the agreement again, now it works.
I have updated the contribution wiki to reflect this! what an oversight
Reply With Quote
  #24  
Old 2010-03-26, 18:49
kashif.sayed's Avatar
kashif.sayed kashif.sayed is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 17
Angry

Undefined symbol: 'class CFbsBitmap * RAknsSrvSession::WallpaperImageL(class TDesC16 const &) (?WallpaperImageL@RAknsSrvSession@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z)' referenced from 'void CXnBackgroundManager::SizeChanged(void) (?SizeChanged@CXnBackgroundManager@@EAEXXZ)' in xnbackgroundmanager.cpp:168

what could be wrong
Reply With Quote
  #25  
Old 2010-03-26, 20:33
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

The problem is that
Code:
CFbsBitmap * RAknsSrvSession::WallpaperImageL(class TDesC16 const &)
isn't available in the lib. See \epoc32\release\winscw\udeb\aknskinsrv.lib. You won't find it there and that's what happens to the linker, too.

The function itself is defined in AknsSrvClient.cpp, you can take a look there:
http://developer.symbian.org/xref/ep...Client.cpp#518

It seems to me that the missing function could be replaced by
Code:
void RAknsSrvSession::DecodeWallpaperImageL(const TDesC& aFilename, const TSize& aTargetSize, CFbsBitmap*& aBitmap, CFbsBitmap*& aMask);
If it is implemented as in http://developer.symbian.org/xref/ep...Client.cpp#464

It should be save to replace
Code:
delete iBgImage;
iBgImage = NULL;
TRAP_IGNORE( iBgImage = iSkinSrv.WallpaperImageL( *iBgImagePath ) );
by
Code:
delete iBgImage;
iBgImage = NULL;
CFbsBitmap* mask = NULL;
TRect screen;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
TRAP_IGNORE( iSkinSrv.DecodeWallpaperImageL( *iBgImagePath, screen.Size(), iBgImage, mask ) );
Unfortunately, there are even more missing functions. I try to fix them all
Reply With Quote
  #26  
Old 2010-03-26, 20:52
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

OK, it's more difficult. The whole problem is that S^3 supports caching of wallpapers and S60v5 doesn't.

There are two possibilities to deal with this problem: either we disable the caching functions in the homescreen code. This may lead to a crappy performance when different wallpapers are used for the pages. Or we recompile AKNSKINSRV and replace the old one. But I don't know if this step would break other programs that use it.

EDIT: There might be a third solution: we could build a AKNSKINSRV2 wich is used by hs and leave the original one untouched.

@Jake: What's your opinion? Is it save to replace the server?

Last edited by cmorlok; 2010-03-26 at 21:01.
Reply With Quote
  #27  
Old 2010-03-26, 22:11
kashif.sayed's Avatar
kashif.sayed kashif.sayed is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 17
Default

Or we can use original lib and copy all the missing function code and try to implement it in exisiting source can be bit tricky tho'

i managed to get pass that by replacing orignal lib with s3 but now resouce compilation is giving me trouble i am using carbide 2.5 and keep getting error message
invalid argument -i\S60\devices\S60_5th_Edition_SDK_v1.0\homescreen\idlehomescreen\widgetmanager\group\..\gfx

mifconv version installed is 1.11 and so is the above error not able to get hold of latest mifconv


@cmorlok can you upload compiled version of mifconv i can't seem to get to compile keep getting

BLDMAKE ERROR: ERROR: failed to find version information for LINK.EXE

feeling too lazy to do anything slept only for 2 hrs in 48
Reply With Quote
  #28  
Old 2010-03-26, 22:49
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

You need mifconv v2. To compile it, you need a windows compiler (not the SDK one). I'll upload mifconv to the repo.
Reply With Quote
  #29  
Old 2010-03-27, 00:04
cmorlok's Avatar
cmorlok cmorlok is offline
Symbian Foundation Community Member
 
Join Date: 2010 Feb
Posts: 57
Default

Updated, uploaded mifconv v3.

Now everything compiles!

But the emulator doesn't run at all
Reply With Quote
  #30  
Old 2010-03-27, 07:53
fdim's Avatar
fdim fdim is offline
Symbian Foundation Community Member
 
Join Date: 2010 Mar
Posts: 11
Default

Quote:
Originally Posted by kashif.sayed View Post
Undefined symbol: 'class CFbsBitmap * RAknsSrvSession::WallpaperImageL(class TDesC16 const &) (?WallpaperImageL@RAknsSrvSession@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z)' referenced from 'void CXnBackgroundManager::SizeChanged(void) (?SizeChanged@CXnBackgroundManager@@EAEXXZ)' in xnbackgroundmanager.cpp:168

what could be wrong
What did you do fix this?
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads.
You may not post replies.
You may not post attachments.
You may not edit your posts.

BB code is On.
Smilies are On.
[IMG] code is On.
HTML code is Off.


Forum Jump

Powered by vBulletin · Copyright © 2010 vBulletin Solutions, Inc.