Poll: Should I
Poll Options
Should I

Reply
Thread Tools
Posts: 452 | Thanked: 522 times | Joined on Nov 2007
#1
Ok, long post, but their is a point to all the info!

I have created a VPC/VMWare (http://vpc-sdk.garage.maemo.org) image that has simple install scripts that install the sdk, nokia binaries, sets up networking, scratchbox, xephyr, ssh, etc. It also sets up the ability for you to install QT, Python (GTK or QT) and Geany (GTK) editor in the Linux Image for your development purposes -- basically everything you need to get started. At this moment I'm only at the stage of letting you use it; it has the ability for you to follow any of the wiki.maemo.org tutorial stuff to learn how to do development in Maemo 5 with both GTK and QT. My end goal is a simple to use system for end to end QT development on Windows machines targeting Maemo.

There is already another VMWare project that is targeting GTK, and from what I can see they have a nice product for doing GTK development. I am not really interested in duplicating the work they have done -- they are doing a great job with GTK integration. And if you want to do GTK development, you should check them out.

I will be pretty much only working on QT integration stuff to make it as simple as possible for developers to do the full development life as much as possible as simply as possible.

Now that I've outlined where I am and where I intend to go; I need advice from all the windows developers (feel free linux/mac devs to comment too)...


Current Thoughts and questions for Developers.

I _had_ been attempting to work on creating a plugin for QT that would basically do the one stop compile/run in the Scratchbox 1 environment from inside the VM machine. You do your development in the Linux QT environment then you would compile run it both locally (Linux), and as a SB1 (Maemo) target. This would allow you to debug (Linux) and see it as both a desktop app and a Maemo 5 app. Probably wouldn't be able to debug on the SB1. But you would be able to debug the non-maemo compiled version. I have already compiled from scratch and started looking over the QT/Creator source code to "try" and figure out how to add my changes to the project as a plugin.

However, while doing "more" research on it, I read on a blog on the QT site that the newest version of QT has built in support for Scratchbox 2 targets. SB2 is not "officially" supported for Maemo development (which is why I didn't bother with SB2 initially in my VM image). So since that point I have dug a bit into SB2 and found out it actually has a _lot_ going for it over SB1. So now my "direction" has changed a bit; if I can get SB2 working properly w/ the fremantle sdk. I will have eliminated a lot of SB1 issues that I was looking at trying to figure out how to work around. Most of the work appears to be done as some enterprising people have created the Maemo SDK+ project which is basically the SDK on SB2. The only issue I am unaware of is how easily it will be to get the Fremantle SDK on it; as the MSDK+ team has only released Fremantle SDK w/ Alpha 1 on it. So I need to play with this to figure out how easily I can install the SDK B2 (which will give me an idea how easily I can install Fremantle SDK final) ---- so this work/investigation is still pending...

Well, today in the dev forum on the thread that I seemed to have hijacked :-D -- SubCore posted a post (http://talk.maemo.org/showthread.php?t=31141&page=13) -- that really made me step back and really think hard about the direction I was goin.

[Go read the first post on Page 13.... I'll wait patiently!]

Did anyone else catch what SubCore did? I am so very impressed and it "makes" complete sense and I feel really (really) stupid that I didn't bother thinking a bit more out of the box. (And thank you SubCore!)

If I'm already sorta shooting for the sky, so why not shoot past it for the moon instead.

---

I want input from Windows Developer on their thoughts on a couple different directions.

1. I can continue on the SB2 route and building a plugin for QT (Linux) and everything will be all integrated in the VM. (This would be continuing to shoot for the Sky!)

- OR -

2. I can continue on the SB2 route, and build a plugin for QT (Windows) that will: (Shoot for the Moon)
- sync your source code from your local directory project into the VM source directory. (Rsync, would do this easily)
- Cause QMAKE to fire inside the Linux Host (SSH would allow this easily)
- On Successful build, "Run" application but set its desktop to your Xephyr desktop. (Again SSH can do this easily)

So basically in all reality your VM is minimized in the background, and you are doing all your work in windows environment and not having to worry about "linux" for the majority of your work.

- OR -

3. <Something else>

Since I am actually primarily a Windows developer anyways; I'm actually thinking shooting for the moon will be just a "tad" harder than shooting for the sky. But all in all; I think it will offer a much better ability to do the development I want to do; since the only time the "vm" will be hindering me will be during the compile stage.


The Pros vs Cons:
Idea #1
Pros: Keeps everything self contained in a VM.
Cons: Everything including QTCreator has to be run inside the VM.
Cons: Non-Windows, larger additional linux learning curve since everything is done inside a linux vm.
Cons: Stupid "Right-Alt" key required to exit VPC VM

Idea #2
Pros: Faster, Native Development, Native Debugging
Pros: VM is just a background program that you don't have to worry about pretty much ever.
Cons: Stuff is installed in the Native OS and VM. (Could be a Pro, depending on how you look at it -- some people might prefer a one piece solution rather than a multi-piece solution)

Anyone have additional idea; thoughts, issues (i.e. burning the non-linux heretic at the stake ) or any other concerns. I would like all of your input, concerns, and comments from all the Linux, Mac and Windows developers! (Please note; the plugin will be O/S on the Garage so that we can modify it for those on Linux/Mac to allow more seamless use from QT -> SB2.)


Nathan
PS. I'm aware of the "brainstorm" system, but this I think would do much better as a discussion first. If you guys/gals would rather this be a brainstorm item; I can do that also.
 

The Following 5 Users Say Thank You to Nathan For This Useful Post:
qgil's Avatar
Posts: 3,105 | Thanked: 11,088 times | Joined on Jul 2007 @ Mountain View (CA, USA)
#2
I think you should wait to the Maemo Summit and see.
 

The Following User Says Thank You to qgil For This Useful Post:
fpp's Avatar
Posts: 2,853 | Thanked: 968 times | Joined on Nov 2005
#3
Or shoot for the hills and use PyQt ? :-)
 
Posts: 452 | Thanked: 522 times | Joined on Nov 2007
#4
Originally Posted by qgil View Post
I think you should wait to the Maemo Summit and see.
Sweet! I will be looking forward to it. If Nokia's already done the hard work; that would be really sweet. I noticed they already have s60 stuff built and in beta for Qt. That would be nice if they have everything I want for Maemo (or most of it) already done!

I just checked the schedule (wish I was going) http://wiki.maemo.org/Maemo_Summit_2009/Schedule -- I several things relating to Qt...

Nathan.

Last edited by Nathan; 2009-09-20 at 16:50. Reason: Adding Maemo Summit info
 
Posts: 91 | Thanked: 65 times | Joined on Feb 2009
#5
Thanks Nathan for this effort.
I would vote for "shoot for the sky" even if I would like to see "shoot for the moon"

Here is why :
*option 1 is a LOT easier, and you should get it done way faster
*getting everything inside the vmware will make things simple and clear for windows users
*for native linux users, idea 1 will provide almost "native development" and "native debugging"
*There is an ongoing project (esbox) based on eclipse that aims to provide native windows (and linux/mac os) experience. It actually does a good job, and if you ever decide to "shoot for the moon", it would be a better idea to write a plugin for esbox. At some point I decided to give it a try on windows, I used an ubuntu server vmware image, and things went straighforward, (even debugging), but I had finally to switch to a complete virtual version because it was very frustrating to setup and understand how it was working (from a windows user's point of view)

So, what I suggest is to get a QtCreator plugin that shoots for sky.
Later, when you get basic features correctly implemented, you can shoot for the moon.

Good luck ...
 
Posts: 202 | Thanked: 60 times | Joined on Sep 2009
#6
I get a black screen when I launch xephyr... What did I do wrong?
 
Posts: 452 | Thanked: 522 times | Joined on Nov 2007
#7
Originally Posted by Ayle View Post
I get a black screen when I launch xephyr... What did I do wrong?
You need to start the interface inside the scratchbox. If you are using my VM, you can type "./start.sh" otherwise you need to run "af-sb-init start" inside the scratchbox.

Nathan
 
Posts: 202 | Thanked: 60 times | Joined on Sep 2009
#8
Originally Posted by Nathan View Post
You need to start the interface inside the scratchbox. If you are using my VM, you can type "./start.sh" otherwise you need to run "af-sb-init start" inside the scratchbox.

Nathan
Thanks.Where do I type the "./start.sh" I'm planning to replace my 64bit alpha of karmic by the 32bit versions. Are the scripts limited to the vm or can I export them in the new install?

EDIT: Nvm, I got it.

Last edited by Ayle; 2009-10-09 at 02:14.
 
Reply

Tags
qtcreator, vmware, vpc, windows

Thread Tools

 
Forum Jump


All times are GMT. The time now is 12:21.