For this experiment I used the QNX Neutrino RTOS 6.3.0, for x86. In order to obtain the Neutrino RTOS, you have to get the QNX Momentics Development Suite 6.3.0, the version which uses the QNX Neutrino as development host (one can also use Windows, Linux or Solaris as hosts). The Neutrino host version includes the QNX Neutrino RTOS, and this can be installed from the bootable CD. This all might seem very confusing, but remember that QSS' main goal is not to let your run the Neutrino kernel on your desktop.
You will have to sign up here, then go to the download center, and then select the "Product Evaluation"-link. Once there, sign up for the "QNX Momentics Professional Edition - Evaluation". Do not let this fool you- it is not the Neutrino RTOS that has been restricted to 30 days of use; it is the QNX Momentics Development Suite Professional Edition (running on top of Neutrino) that is restricted. Which makes perfect sense, since without this suite, developing software based on QNX for your device is pretty hard. The operating system (and its applications) will not expire.
The specifications of my test system are as follows:
I burnt the 512 MB .iso file onto a CD-R using Toast, a Macintosh burning program. The burn went fine. I put the CD into the DVD drive, and rebooted my computer. It correctly booted from the CD, it scanned for hard disks, and then it would hang, stating that it could not find any space to install QNX on. This was rather peculiar, since I had 16 gigabytes of unformatted space on my hard disk. This error did not occur when I installed QNX 6.1/6.2, on the same hardware, a long time ago (I am rather happy with my current x86 setup; it works with basically all operating systems, so I am not keen on changing it).
After several reboots, I looked up OpenQNX, and after a forum search I quickly discovered someone else with the same problem. I have the advantage that 6.3.0 has been out for a while now, and therefore I can rely on others for solutions to my problems. This particular person solved the issue by doing a forced installation, from the boot menu, accessible by pressing space during bootup. It indeed worked; I was now ready to install.
QNX's install procedure is very easy to use, text-based, but lacks any advanced features seen in, for example, several Linux or BSD installation programs. The first option it presents you with is whether or not to use verbose (debug) mode, and seeing I was not interested in doing any debugging, I chose 'no'. After selecting 'no', it asked for my license key, which was sent to my email-account after signing up for the evaluation. I entered the key, agreed to the EULA, selected my hard disk as target for the installation, and enabled support for large disks. Then I selected the installation source, and the very basic partitioning tool loaded. The partitioning tool is basic because you can only delete a partition, or create a QNX partition. The creation of partitions is rather odd, since you can only select preset sizes; if you have 16 gigabyte free, you can select to create a 16 gigabyte partition, or a 8 GB, or 4 GB and so on. That is something advanced users will not like, but I must say that I like it. The easiest thing to do is just to install QNX as the last one in your multiboot setup, letting it fill up the remaining space on you hard disk.
After confirming I wanted the QNX partition to be 8 GB in size, the actual installation started. And this is where I encountered a second error: install was unable to mount the QNX disk. I am pretty confident that QNX is not the one to be blamed for this one; my DVD drive (LG Electronics) has had minor issues before, and therefore I am willing to give QNX the benefit of the doubt on this one. I simply restarted the installation, but this time using my CD-R(RW) as source drive. All went fine this time.
After the main system was installed, the installer asked me wether I wanted to install the various optional components of the development suite; I installed all these options. To install only the QNX Neutrino RTOS, without the Momentics Development Suite, do not install all these optional components. Next up was bootloader installation. Just like QNX' partitioner, the bootloader is also extremely Spartan, and only able to boot four partitions (no support for extended partitions). Luckily QNX can be booted by any bootloader (BeBootMan, Grub, Lilo) without much work. Simply pointing your bootloader to the QNX' partition should suffice. After this, the installation was completed and I was asked to remove the installation media and reboot.
If you come from a Windows/Linux environment, the first thing you will notice when booting into QNX is the short time it actually takes; about 11 seconds (from bootmanager to PhotonUI login screen). Personally, I find this very important; there is nothing that annoys me more than slow-booting operating systems.
The PhotonUI login screen has received a facelift since 6.2. You can now simply select a user, while in previous versions you could only enter a username/password. After logging in, we encounter the most impressive feature of QNX: PhotonUI.
PhotonUI has been designed with the same design principles in mind as the microkernel: highly modular. Just like the Neutrino kernel, Photon utilizes a small core, with most of the services it can provide located in optional memory-protected processes. The result is the same high fault-tolerance and modularity as provided by the Neutrino kernel.
Photon has a very good font manager, supporting multiple font formats, i.e. TrueType. QNX also supports font anti-aliasing. You can enable anti-aliasing in the fonts settings panel, located in the Launch/Configure menu. Because of the anti-aliasing, fonts on QNX look very crisp, as you can see in this screenshot:
A very distinctive feature of PhotonUI is its sidebar; it holds shortcuts to various applications, and plugins. These plugins include a CD-player, mail checker, a workspace manager, and a system monitor. This sidebar, 'Shelf', is configurable through an easy-to-use configuration program. The sidebar is quite vital, since PhotonUI does not support desktop icons, and therefore, if you do not want to dive into the Launch menu all the time, you will have to resort to the sidebar. As you can see in the following screenshot, the sidebar is divided into various sections that can be hidden:
Overall, PhotonUI is an amazing interface, with a clean and elegant design, and high consistency. PhotonUI also proves that a highly modular design can be very responsive and fast. In fact, I think that Photon is one of the most responsive UIs I have ever used, only beaten by BeOS' Deskbar/Tracker. For me, it outperforms Explorer, Finder, KDE and others anytime, but, to be fair, this is just my opinion, and it is not based on any actual benchmarks.
This is of course the most vital part of this article. For QNX to be truly viable as a desktop operating system it must be capable of the following tasks:
Remember that this is just a selection of tasks; these are the things that I find important in a secondary desktop operating system. Your criteria may very well differ from mine.
Concerning browsers, QNX comes standard with Voyager (QNX's native browser) and Mozilla 1.6. Voyager is a browser capable of using several engines; it uses Gecko as default. Voyager is Macromedia Flash enabled. Also, FireFox 1.0PR is available for QNX. Get it here. Here is a screenshot, showing off all three browsers, displaying OSNews.com: