Your Next Desktop… QNX?

QNX has a long checkered history as an embedded operating system. QNX was always famous for being a real time operating system with a microkernel architecture. That is, kernel functions run as a set of coordinated tasks instead of as a single piece of code. A recent release of QNX 7 (see video, below) allows it to run on 64-bit desktop computers and [elahav] decided to tackle turning this embedded RTOS into a desktop operating system.

That might sound far-fetched, but QNX is a POSIX-compliant system and has all the features you’d expect in a system like Linux or BSD. It just isn’t aimed at the desktop market and therefore doesn’t have a lot of tools for running the desktop. QNX isn’t the kind of RTOS you’ll find on an Arduino. It is more common in things like automobile systems (for example, it runs General Motor’s OnStar system).

He started with a mini ITX board and installed QNX. Usually, you develop for an embedded system on a workstation and then just ship the code over to the target system, but [elahav] took the time to get a build system working on the target. There was one problem. The built-in vi editor was primitive by modern standards. He is usually an emacs user, but even vim would be better than the “stock” vi. While an emacs port would be possible, it would also require porting over a lot of libraries, so his first project was to get the vim source code to compile.

Turned out not to be as easy as he had hoped. The build system expected certain GNU tools that didn’t exist yet (although standard versions of the tools, like grep, did exist). So he had to figure out how to cross compile vim. In retrospect, [elahav] decided he should have just ported the GNU tools first. He did have to remove some old code from vim that was aimed at an older version of QNX.

The rest of the adventure went fairly well. He managed to build SDL and port over some games. Qt exists on QNX, but with a setup that favors the embedded system (for example, everything shows full-screen). Building Qt apps was possible, but without a proper window manager, it still wasn’t the desktop experience he wanted. A few weeks later he managed a window manager. Keep in mind, QNX’s display architecture is not X, so grabbing an existing piece of code wasn’t a likely option.

Is it practical? Maybe, although we didn’t see the actual code available. Is it desirable? Probably not, unless you are using QNX already, and even then we aren’t sure. However, it is a great story of the kind of difficulties involved in making something offbeat useful, a problem we’ve mentioned before when you build your own CPU. Of course, [elahav] started with a pretty rich environment. If you want to see someone bootstrap almost everything, check out A2Z. And if you’ve been around awhile and think you remember another QNX desktop environment, you aren’t wrong.

55 thoughts on “Your Next Desktop… QNX?

    1. I was wondering why he didn’t try bootstrapping/porting Pkgsrc. Its already bootstrapped to GXN 6.5.0.. If GNX 7 has any backwards compatibility, then he already has pre-built binaries. If you look through the available Pkgsrc binary repo, it has X11, gtk, and a bunch of other regulars. It doesn’t have everything and is i386. But its a good start for seeing how other people have gotten things to work. And a nice way to contribute your efforts to anyone else interested.

    1. I once had a copy of QNX on a floppy, which they promoted to prove it’d fit on a floppy. Had a working web browser, and whatever it took to dialup Internet. Ran on a 486 with I think 4MB, very impressive.

          1. Yes, it was pretty neat, but there wasn’t much available for additional software. I fiddled with it a bit, around about when BeOS was “the next big thing” for x86. Can’t find any info on that demo, just the 1.44M QNX floppy demo.

  1. QNX isn’t that “offbeat” once you look at what features it already offered in the mid 1990s. Moving (running) tasks via network to another system for example. Seemless integration of desktop environments over the network – way superior to any VNC hack of todays. I even preferred their Photon GUI to most X-ish UI of the time.
    It’s sad the Amiga freaks of the days didn’t get the deal with QNX figured out. THAT would have been a system!

    1. Just as an example for what QNX could do: It had a full “system-on-a-disk” 1.4MB (!!!) floppy disk with OS, UI and web browser that ran on about 85-90 percent of hardware configurations (x86) of the time. Something that even Microsoft’s Windows just could not pull off.

      1. Yeah. That “management” in those days was … well, let’s say, the current president of the USA makes a good impression in comparison. That short article does not reflect all the knots and ties I remember vividly. And Mr. Collas wasn’t exactly known for having a lot of clues …

  2. Tooooo laaaaate!

    Linux monopolism is unstoppable.
    :-(

    A while ago we complained about MS’s omnipresence but imagine how many Linux kernels are running now on this globe in systems from dildo with camera and access point, set top boxes, home access points and (DSL/cable/…) routers, all these Androids, Linux servers…

    I’d like to see a more diverse digitope because reduced diversity or monoculture always is a bad thing… but I think it’s too late for such dreams…

    Please, please, please prove me wrong!

    PLEEEAAASEEE…

      1. “Monopolism isn’t bad when you have the source code.”

        …and every bug in open source code gets found and squashed within at max 14 days…

        But in which parallel universe?

        Definitely not in this one!

        1. “…and every bug in open source code gets found and squashed within at max 14 days…”

          No, and I never said that. Bugs in closed source code don’t get fixed in max 14 days either. At least with open source you can fix critical bugs yourself, or hire someone to do it for you.

          1. Back in the QNX 2 days (1980s), customers would report a bug and it’d be fixed and the fix sent to the customer the next day. QNX was small and more informal at the time. The modular architecture probably helped with that too.

          2. The main issue with having the source code in the open is that all the bad guys can look at it as well, and they won’t tell anyone else what they found.

            So you can ask yourself, who’s gonna find the bugs first – the unpaid community amateurs, or the professional criminals looking day and night just to find a way to break the bank or set up a new bot network?

            Security through obscurity is still security.

      1. Your bluetooth toothbrush might be vulnerable to the same attack vectors as your routers, mobile phone and Linux desktop…

        No diversity ==> attacker’s (TLAs?) heaven.
        That’s the direction I’m thinking of…

        Diversity IS a good idea but diversity itself is under heavy attack.

        …bit I seem not to be understood and will plug out of this discussion now.

    1. Calm down. There are many alternatives out there. All the BSDs (Open-, Free-, and so on). If you are especially adventurous, there’s DragonFly BSD, with its extremely interesting Hammer file system.

      If you want to go light & real time look at Zephyr [1], for example.

      If you want to try out advanced concepts, perhaps Gnu Hurd [2] is for you? They are desperately looking for people, y’know?

      All of the above free software, of course.

      Me, I’m very happy there is Linux. But it’s far from the only alternative, and that is a Good Thing.

      [1]
      [2]

    2. Monopoly is a financial structure, and linux is a contractual open-license sharing structure.
      The GPL versions have vastly different implications, so I usually offer Apache or BSD style licensed projects.
      With 4% of Desktops and >52% of servers, all linux does is give an excuse to Apple/Microsoft when ant-trust charges reemerge.

      QNX was a cleaner implementation, and thus more reliable in the 90´s.
      However, the licenses proved a restriction to growth similar to Sun Microsystems after the Oracle buy out.

      Given the political and commercial accountability issues with new OS (Orwellian Systems) , a FOSS system is the only way forward for many users.

      1. 4% of desktops? Not a chance in hell. I’ve been doing IT for decades in a city of over a million people and I have yet to see anyone use it on his desktop at work or home. That’s zero desktops total. Hell, I’ve even seen more OS/2 desktops so far. Netmarketshare puts it at 2%, statcounter at 1.6% and even then that feels grossly over reported.

        1. Linux users typically don’t need IT help, which would explain your % statement. MS users typically need help to repair their cofee holder DVD drives, ransomware (I didn’t click on the attachment, I swear!) and install software that does not come with the system and costs $.

  3. Remain me old memories, when I was running QNX-fr … I even remember met once Dan Dodge in person :)
    The floppy version has been released in 1997 ; the GUI is named Photon.

  4. Glad to see I’m not the only one that remembered the late ’90s version of QNX where they were trying to break into the desktop market (or at least that was my memory of it). Totally remember trying it out alongside BeOS and a few other smaller “desktop OSes” of the day.

  5. I was a QNX user, then independent consultant, then finally an employee. Great people, elegant OS architecture and wonderful customers. In the end I was a trainer and so travelled around the world seeing first hand the huge variety of applications it was used in. I left in 2004, around 6 months before they were bought by Harman.

    1. Zephyr’s a pretty ordinary monolithic single-process embedded RTOS. It’s distinctive features are the collection of drivers and libraries, and the money being poured into it.

  6. All people that use vi will go to paradise. All other both that doesn’t know how to use it … Should learn … vi editor is old but very usefull… All oldschool unix user loves it.

  7. I used to run QNX as a desktop OS 10 years ago.
    The support was an IRC channel, and when I installed ICQ and it lacked Swedish characters, I went on the IRC and asked for help, 15 min later there was a new patched release of the ICQ client and got the reply “I’m sorry, I just didn’t know we had users in Sweden” (we were 2 users from Sweden)
    Opera webbrowser was fully functional, and there was an office package too (open office?)

    Dan Dodge did also hang around in IRC quite often, as all of the other staff. (I think he sent me a book he wrote on QNX neutrino)

    My kids also used that computer (since it was always on and online) and started to chat to people on the QNX chat, and my ~10 year old son found a new friend that used to work for “Robotwars” on TV, finally someone asked me who he was, and noone could have guessed it was a kid from Sweden.
    He also made friend with a guy from India, who was syudying embedded systems on a university.

    My kids didnt think it was any different then using a W95 computer at school, they did their homework on QNX and took it on a 1.44 diskette to school, some teacher didn’t know how to open the file, and asked the kids what kind of computer we had at home, and they just told him, “a PC running QNX”, the teacher had never heard of that and called for “the IT guy” who also had no clue what that was, but he looked it up online and was amused.

    I would say that QNX back then was atleast as mature as Linux was, and new programs were ported on a daily basis, but suddenly they decided that they wouldn’t aim for the desktop market.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s