Open Source Version of Qt

Does anyone have any experience running the open source version of Qt?

I downloaded it from the QNX site, and created a "Hello World’ Application.
I run my program either with our with the -qws options.

Without the -qws option, I get the error:
QWSSocket::connectToLocalFile could not connect:: Connection refused

With the -qws option, I get an error:
QQnxScreen: gf_layer_attach(0) failed with error code 8.

I think that this error occurs because the gf_layer_attach() needs a GF_LAYER_ATTACH_PASSIVE.

This might work without Photon running, but that would be a pretty screwed up way to test if I’m self-hosting.

QQnxScreen: gf_layer_attach(0) failed with error code 8.
Due to photon “owning” the main graphics layer. (Yes, must use “-qws”.)

This might work without Photon running, but that would be a pretty screwed up way to test if I’m self-hosting.
Not impossible if you login to a telnet console. From telnet, prior to starting your app, you must run
“/usr/photon/bin/devi-hid -Pr”. You must also have set the “QWS_*” environment variables.

Dennis,

 Thanks for the reply.   I appreciate the fact that you seem to know what you are doing.   I'm sorry but I do not understand your answer.   I get it that the problem is that Photon owns the graphics layer.   I know that Qt should be able to deal with this, after all OpenGL ES does.

How does using telnet help me?   I'm self hosted, so I am running Photon.   Are you saying that merely by telnet'ing into myself and running a Qt program from this telnet console it will work?   Won't Photon still own the graphics layer?   Or are you saying I need to telnet into a target, which isn't running Photon?

Thanks,

Mitchell

Sorry I wasn’t clear. You need to logout of photon to command line. Once you start devi-hid, the “console” will no longer be available - hence the telnet session for control.

Qt should be able to deal with this, after all OpenGL ES does.
Qt doesn’t.

[quote=“denkelly”]
Sorry I wasn’t clear. You need to logout of photon to command line. Once you start devi-hid, the “console” will no longer be available - hence the telnet session for control.

2 questions.

  1. If I log out of Photon, isn’t Photon still running, putting up a login screen?

  2. If I’m not to login again, don’t I need another computer to telnet from? This again makes self hosted testing very awkward.

The login screen has an option to exit to text mode.

Yes and yes.

Thunderblade,

Thanks for the reply.    I figured out that going to text mode worked, although it was pretty surprising that a simple Qt Application fires up graphics mode all by itself.

As for the Yes and Yes, I guess the point of my post is that it seems unnecessary.   Qt can share the gf_ layer just like Open GL ES and Flash do.   Dennis suggested to me that it was a decision based on QNX's desire to depricate Photon all together.   That would be fine if Qt came with a desktop and utilities so that I could develop self hosted, just like with Photon.

It's hard to believe that after some 25+ years, that QNX is turning the ship in the direction of cross compiling and running applications on targets only.

Nothing is for ever ;-)

Yes, but some things are dumb.

Mitchell

Technically this surely is possible, there’s not much needed - shelf, pterm… The Qt community is huge so maybe there even already are things that could be (re-)used. Someone has to do it though, not sure if QNX will. See below.

Let me disagree. This isn’t a surprise at all. For many years now QNX has neglected self-hosted development. The last big hint was that the self-hosted IDE was discontinued. Photon hasn’t been enhanced for many years aswell. The initiatives from QNX developers to have stuff like Abiword run on Neutrino are gone for years. Same goes for self-hosted browsing - Bon Echo aka Firefox 2 is very old.

Even when you ignore all of the above - don’t you ever go to events/tradeshows? QNX hasn’t showcased self-hosted development for at least half a decade. All their marketing activities regarding tools are focusing on cross-development. Even the screenshots of the tools in their docs show Momentics running on Windows.

QNX competitors are e.g. Wind River and Green Hills. None of those have self-hosted development. For about 10 years, the focus of QNX has been Embedded. Most of the other Embedded OS out there have the cross-dev approach. There’s one big exception: Linux. Because there is desktop Linux, server Linux, and embedded Linux, you can use “semi” self-hosted development on Linux. But QNX has given up on being a desktop OS for many, many years and I don’t understand how one could fail to see that. Sorry no offense!

No offense taken. Here’s the way I see it. Cross developing with Momentics IDE was always market driven. Big customers liked it for multiple reasons. One of them being, their Windows oriented DP department could understand it. They could use their Windows source control. That doesn’t mean it was a smart idea.

At the same time, I always got feedback that the serious stuff at QNX was done self hosted. This doesn’t prove anything, but weren’t you surprised to see qed on QNX 6? What’s it there for other than self hosted development?

I don’t think because they do things one way at Wind River that it influences the way they do things at QNX.

I have no problem with self-hosting being the lowest priority. But why stab it in the heart? The 6.5.0 SP1 release notes don’t just say it’s being depricated, they say it will be removed in a future release.

Neglected yes but still supported. Last year I made a provocative post on foundry27 about the state of self-hosted development and one of QNX’s big gun felt it was necessary to come and publicly state that they were still commited to self-hosted development. Looks like the whole thread has been removed ;-(

The 6.5.0 SP1 release notes … say it will be removed in a future release.
The notes say “Photon” will be removed in a future release … a GUI, not ‘self-hosted’.

“Self-hosted” can refer to the toolchain (compiler, linker, etc.) which will likely continue to be built and run on a QNX6 host… just no longer from a Photon terminal!

[en.wikipedia.org/wiki/Self-hosting]

Dennis,

Yes, I used to write, compile programs under QNX 2 without a GUI.  Yes that is self hosted.    But to remove the existing GUI without replacing  it(for no apparent reason other than to not have to keep it running) and say, "have fun with the consoles" would be a sad joke I think.

I used to be a big devotee of self-hosted development myself. For me it died when the Momentics IDE was discontinued for self-hosted. Sure, some aspects of it can be replaced with other tools (mostly faster), but I have come to get used so much to the System Profiler, I don’t want to work without it and it works best on Windows and probably on Linux aswell.

I don’t have the insight to confirm that at QNX, they’re mostly working self-hosted. I think this used to be true 3-4 years ago, but I heard that many people are using Linux-hosted or even Mac-hosted development (the latter with an inofficial Mac Momentics build).

The death (or at least de-emphasis) of self-hosted development saddens me for two reasons. First, this was the only thing that TRULY separated QNX from its RTOS competitors. Given the lack of clear direction QNX has had over the last few years, losing this fundamental differentiation can’t be a good thing. Second is a broader concept. With RIM’s push in to the commercial space for QNX / BB10, I had hoped we might see a platform give us the functionality of compiling on our mobile devices. Not that I want to develop much beyond “Hello, world” on my phone, but the ability to natively compile apps or machine-generated code on the fly would be a great feature, especially for a business-oriented platform like BlackBerry. But it looks like we’re going the other way, instead.

Incidentally, I’ve long felt that Photon was a nice GUI, with a pretty decent API. The fact that Photon Application Builder was available in like 1996 is pretty impressive; form-based RAD design was pretty new at that point. Still, I suppose it’s a bit long in the tooth, and binding to languages other than C could be handy and and object approach would make sense. Qt (and perhaps KDE) could provide a pretty impressive replacement, and give QNX access to a wide array of FLOSS apps. However, this purgatory of “Qt is here but not supported, Photon is supported but we may abandon it any moment” is not a pleasant position to be in.

Anybody know how GUI development works on BB10?

-James Ingraham
Sage Automation, Inc.

No surprise here, but I’m with you all the way on this.

What have I seen on the Blackberry?

  1. Flash, which I’m told is being depricated or at least de-emphasized.
  2. OpenGL ES, fine for games and graphics
  3. HTML5
  4. The Native interface. I don’t know much about this. I started trying to get “Hello World” to work and never got past the security. I wasn’t hacking, I was following directions. I needed to download a “debug token” which I was never able to do. After many hours of frustration along with unhelpful suggestions from tech support, I gave up.

All these avenues are done cross development. I was using Eclipse under Windows.

As practical matter, developing for BB10 seems as far from programing on a QNX development system as IOS would be. You run apps in a sandbox just like IOS and the programming environment is unfamiliar.