Existing QNX 2.0 Application porting to QNX 6.3

Hello Everybody,

we have a QNX Application which must be port to a high version of QNX 2.0 because the new hardwar will not work anymore.

Is this a big item, if it is a text application with minor grafic functions ?

Best regards


Your question is a little vague, but I will try to help.
If what you want to do is port your existing QNX 1 or QNX 2 application to the most modern QNX 2 version, that would be 2.21, then it is likely that it will go without much trouble. QNX 2 was highly forward compatible. There are lots of potential problems that can crop up
more related to the speed of the computer than the version number.
Any modern computer will be too fast to use the floppy disk without slowing the processor down.

On the other hand, if what you want is to port your application to a more modern QNX, eg. QNX 6.30, then you have a different task. You will not have any trouble finding compatible hardware, however your application will need lots of adjusting, or even redesigning.

Maybe you can post more details?

Hello Maschoen,

o.k. Let me try to explain.

Moreless, we would like to leave the application as it is. But we have the problem, that QNX 2.21 (we are using this one) will not run stable on the newer hardware (Pentium 4 with 2 Ghz and big harddisc like 120 GB).

But we have a lot of machines running in the field and if one machine crashs, we have a problem with the hardware. We are still working on a new application, but is it possible to replace a existing machine QNX 2.21 with a new machine and the user (operator) will not see any differenz.

It do not have to be Qnx 6.x, but it has to run on new machines.

Hope this helps for a better understanding of my problem.

Best regards


It is difficult to find new hardware that runs QNX 2. Maybe you can get used hardware on eBay and put it into new cases. :slight_smile:

I think the much better option is to go with QNX 6.x!

Is there somewhere a document, where I can read, what different are regarding Version 6.x and version 2.21.

The program is running only in text mode and is using a serial com and split into several program tasks.

No GUI interface is needed.


First of all, as far as I know, there is no version of QNX 2 later than 2.21.
I’ve heard that it is possible to get around some of the speed problems for this version by running it under VMware. That’s one route you might want to investigate.

As far as porting the application, once you open Pandora’s box, there are a lot of possibilities. QNX 6 is very different. It has enourmously enhanced capabilities. It is also supported by QNX, which can be a big plus. On the down side, the up front costs are expensive if you are talking about a small number of licenses. You might be just as well off looking into Linux.

QNX 6 has straight console capabilities, however you can run a text application in a GUI window.

The main reason you might be inclined toward QNX 6 would be if your application was written with a lot of message passing. Message passing has changed quite a bit, but it might be simpler to port such an application to QNX 6, than a non-message passing OS.

Back on the negative side, if you decide to go the Linux route, you will want to investigate SIMPL, a package that simulates QNX style message passing under Linux and other OS’s.

One of the reason for qnx 2.21 was and is, that it runs stable.
Even the “hard realtime kernel” is as well something, that is going for qnx.

The licenses item is as well one item, but if the application would run under qnx 6 or 4, than the lizenz will be no problem.

I will give qnx a chance ?

But where is the difference between qnx 4 and 6 ?

Is it easier too port qnx 4 than to qnx 6 ?

Thanks for your help

QNX6 can still be challenging to run on recent hardware (Serial ATA comes to mind). Linux has a definite edge in that regard.

If you are not talking volume, then the fact that Linux is less real time can be circle by throwing hardware at the problem. A Linux machine with a Dual Core P4 should behave almost as “real time” as QNX 2 on a 386 ;-)

As much as I like QNX 4, there is really no reason to consider a port to it from QNX 2. It suffers the same problem as QNX 2, lack of support by QSSL, although it will run better on modern hardware than QNX 2, FOR NOW.

That depends if you are willing to pay for some custom drivers or not…

If all one needed to run QNX 4 was a supply of drivers, then I would agree, but there are other issues. Consider the compiler.
While it still works well, at least the ‘C’ compiler, there is no hope
of having any problems fixed in the future.

well that is true, but i thought there was a port of gcc to qnx4 out there somewhere?


Yes but that port is very old and not supported by anyone. I guess it’s possible to throw money at the problem to update gcc, i would propably be very expensive.

does the openwatcom source still have the qnx4 specific parts in it?


I would be surprised if it was removed…


There still seems to be the qnxi86 and qnx386 build files in the main repository…

Yes, OpenWATCOM v1.3 still does the QNX4 executables.
I do it on a windoze host as a cross-compile.
Not very handy but workable…