QNX Self-Hosted Developer Desktop

11 hours ago (devblog.qnx.com)

I always liked their original UI - Photon[1][2]. Very lightweight and fast. Also a distinct and consistent style. I understand why they dropped it in favor of Qt and later Web technologies, but it's still a big loss.

[1] https://www.qnx.com/developers/docs/6.5.0SP1.update/com.qnx....

[2] https://www.mikecramer.com/qnx/momentics_nc_docs/photon/prog...

  • Yes while it makes sense to reuse stuff that is already being built, my heart sank when I saw the screenshot while expecting seeing the photon microgui which to me was the nicest skeuomorphic one.

Glad to see QNX still progressing. I worked there as an intern twice in Ottawa and they're pretty damn good. Great place to work imo. I met some of the kernel devs there. Had the priviledge of working with one and he taught and demoed some of the kernel features to me. They gave us interns a full summer course on kernels, C programming, OS and some hardware. Fun times.

This is a major throwback to the QNX demo disk, which bundled a browser and desktop environment onto a single floppy disk!

  • It was mind blowing at the time because Linux required at least 4-5 floppies to set up a text-only base system while QNX ran live from just a single 1.44MB.

    • Photon microGUI was included in that, and it blew my mind that you could literally kill and restart Photon without disturbing any of the GUI apps that were still running.

      They also mailed a manual along with the demo disk, and I was amazed that QNX had built-in network bonding, amongst lots of other neat features. At the the time I was using Slackware & the linux kernel version was still 1.x, I don't think bonding came to linux until 2.x?

Did I just wake up from a coma? QNX desktop? Wayland XFCE? What is going on here

If you want to fall for the QNX bait and switch a 3rd time, more fool you.

  • Can you elaborate on this?

    • They've moved back and forth between being partially source-available and fully closed source at least twice. It's a similar story with usage licenses, with hobbyist and non-commercial access variously being granted and then pulled away multiple times.

      On at least one occasion, the license was changed overnight leaving a large enthusiast community in the lurch.

      Given the history, there's every reason to suspect that there'll be yet more rug-pulls in the future.

Bring back Photon. It was dang near perfect.

  • Photon was what I was hoping for before I clicked the link. One of my favourite GUIs, closely tied with CDE.

    Photon or not, I hated the period where they sort of moved to canned BSP deployment only, where in 6.5 I could just develop on a live system. This is nice.

    • Me too, although it's been a long time since Photon.

      "This environment runs as a virtual machine, using QEMU on Ubuntu. To try the image, you'll need: Ubuntu 22.04 or 24.04." So it doesn't boot on bare metal?

      Maybe they're trying to get away from needing Windows. The previous recommended development environment was cross-compilation from Windows.

      The big news here is that they have a reasonable non-commercial license again.[1] The trouble is, QNX did that twice before, then took it away.[2] Big mistake. They lost their developer base. Support of open source tools on QNX stopped. As I once told a QNX sales rep, "Stop worrying about being pirated and worry about being ignored". They'll need to commit contractually to not yanking the non-commercial license to get much interest.

      QNX should be licensed like Unreal Engine. If you ship enough products using it, it gets noticed and they contact you about payments, and if you're not shipping much product, Unreal doesn't care. This has created a big pool of Unreal developers, which, in turn, induces game studios to use Unreal. Unreal's threshold is US$1 million in sales.

      Apparently they opened things up a bit last year, but nobody noticed.

      Usefully, there is a QNX Board Support Package for the Raspberry PI, so you can target that. QNX would be good for IOT things on Raspberry PI machines, where you don't want the bloat and attack surface of a full Linux installation.

      [1] https://qnx.software/en/developers/get-started/getting-start...

      [2] https://www.theregister.com/2024/11/11/qnx_8_freeware/

      6 replies →

    • It’s really sad it wasn’t open sourced. In the early 2000s I was triple booting Windows 98, BeOS, and QNX. BeOS was my favorite, but QNX Neutrino was great as well.

As someone who still uses a QNX phone, the Blackberry Q10 as my second phone, I’m not just optimistic for the return of the cross-platform and secure os, I’m rooting for it. Especially for portable Linux handhelds. If Blackberry were to release a phone tomorrow, it would instantly be the most secure android phone. I still run some of my favourite android apps on my BB10os via the android translation layer.

Some comments mentioning QNX can run Swift code makes me think of it could also run iPhone apps.

While Blackberry exited the phone market, I’m surprised to know QNX is still the most popular os for cars. With 275 million devices running it atm.

  • > QNX can run Swift code makes me think of it could also run iPhone apps.

    Not at all. That is like saying because it can run C, it can run windows apps. To run iPhone apps you would need all the libraries and runtimes ported, including the whole GUI. Just not happening.

    • Tehnically, BB10 could run iOS apps at the beginning but, they disabled it before the release of PlayBook. Bad call.

  • Swift is probably less than 1% of the what it takes to run iPhone apps, you can get Swift for Windows too, but it is nowhere near able to run iPhone apps. The problem is all the libraries an iPhone app expects to be available on the host OS, all the multimedia stuff and so on, those libraries on iPhone are large and advanced, and not available for porting to any OS outside of Apple.

  • Swift != SwiftUI. You need the latter to run modern iOS apps written in Swift.

    It's great that Apple are pushing Swift out there a bit, but honestly if they want the World to catch fire with it, they need to give away the Crown Jewels and get SwiftUI out there as well.

    Meanwhile, it's great that QNX is supporting modern languages. I can imagine having a bit of fun with this developer desktop and seeing how modern tooling plays nicely with it.

QNX is owned by Blackberry?! Blackberry still exists?

PREEMPT_RT, Toyota's IVI shell for flutter and the AGL efforts has made qnx compete again

  • It's not a hard-running race. PREEMPT_RT is soft realtime and if you rely on it for your brakes you're going to crash. AGL has not yet produced any kind of usable system that can be certified for functional safety under ISO 26262 or IEC 61508. Just a core kernel with no drivers.

    We run into a lot of OEMs who switch to Linux because of AGL and come crawling back to QNX many expensive months later to start over with a viable solution so they can deliver.

I've only ever used QNX in the form of Blackberry products (mostly the Playbook), so I am afraid I don't what the advantages of it would be compared to Linux or something.

I know it's a microkernel which is inherently cool to me, but I don't know what else it buys you.

Can anyone here give me a high-level overview of why QNX is cool?

  • Hard real time (so latency guarantees), microkernel (and they actually mean it, so your device drivers can't hose your system), standardized networked IPC including network transparency for all services, ISRs at the application level.

  • QNX is hard realtime. At one point, its kernel had O(1) guarantees for message passing and process switching. It could have been rewritten without any loops. I'm not sure if that's still true.

    It's also really compact. This used to be a great selling point for underpowered car infotainment systems. Some cars had around 1Mb of RAM for their infotainment, yet they were able to run fairly complex media systems.

    QNX is also used for non-UI components, just as a good realtime OS.

We'll see if it reaches bare metal some time, instead of relying on QEMU(on Ubuntu).

In theory I'd be tempted to try, in practice not, because of all the back and forth between changing owners in the past, and resulting policies regarding availability.

I'm also very well served by some 'gaming distro', where nothing ever stutters or lags, on almost obsolete hardware, mostly clocked down to 800Mhz, with uptimes of up to 150 days. More isn't really useful anyways, because of updates.

But hey, Wayland! On QNX! With XFCE on top of that! Who would have thought?

What about photonic Plasma instead of some Generic ToolKit?

  • > We'll see if it reaches bare metal some time, instead of relying on QEMU

    You can already get a free license for QNX and grab a BSP (board support package) to create a bare metal image. You have been able to for quite a while. People who understand how a computer works, what a device driver is and how and when to use one, are not the target for this demo. It's targeted at the people who think the user interface is the software and the desktop GUI is the operating system.

    • Yah, I know that. But the licensing swings aside, I've just thought 'are you on crack?' because of the Eclipse on Windows cross- compiling thing, which they've done when I last looked.

      And stopped.

  • > We'll see if it reaches bare metal some time, instead of relying on QEMU(on Ubuntu).

    They do list "A native Desktop image on Raspberry Pi" under What's Next, so hopefully soon:)

    > In theory I'd be tempted to try, in practice not, because of all the back and forth between changing owners in the past, and resulting policies regarding availability.

    Yeah, that gives me pause too. There was some noise earlier about open sourcing it; I do wish they'd actually do that.

  • which 'gaming' distro is that out of curiousity?

    • CachyOS.

      Running on Core i5 7500t and Core i7 7700t with integrated intel HD630 graphics on Lenovo M910q tiny with 32GB RAM. Mostly clocked down to 800Mhz. Chosen path: systemd-boot, Btrfs, ZRAM, Plasma/KDE.

      Edit:

      I'm also not gaming btw, just heavy browser use, and some LibreOffice. So if you expect to get insane FPS in 4K(on old systems!), that probably wouldn't work. What does work is having (a heavily customized) FF working with uBo with usually 4 FF-windows open, and each of them at least several dozen tabs, almost always one of them playing some music from YT without a hitch. Doing other stuff on other virtual desktops (I run 3 by 3). 4K videos with mpv no problem. With VLC neither, but I deinstalled that because I don't need so much UI and features. Matter of taste. Shrug. Remoting by whichever means. Even experimenting with small local LLMs like Deepseek R1:8B via Ollama. Though that brings the systems to their limits, spinning up the fan hard, and going allcore 3.1GHz :-)

      Feels like BBSsing in the days of analog modems :-)

      (Because 'thinking' for minutes, and answers trickle in like text at 300 to 1200 baud, or so)

      But still, while doing so, music from YT doodling on, even whith EasyEffects, no scratches, klicks, distortions, whatever.

      System stays responsive, no matter if I'm shuffling files in Dolphin/Krusader, torturing LibreOffice Calc, reading some website, PDF, downloading something, be it via browser/Kget or Ktorrent, remote desking, conferencing...

      It's all just flowing very smoothly.

      Bliss.

      Because it just works.

      (On my hardware, which may change if you have to use other drivers for AMD, Nvidia, or later intel graphics. Or your firmware/UEFI is buggy/broken.)

      Editoftheedit:

      Oh! Did I mention suspend to RAM and wakeup is working perfectly? Every single time! The same goes for Wake on LAN, or netbooting.

      (cackling madly)

[flagged]