{"id":994,"date":"2025-08-25T22:01:26","date_gmt":"2025-08-26T02:01:26","guid":{"rendered":"https:\/\/carleton.ca\/rcs\/?page_id=994"},"modified":"2025-08-29T15:47:50","modified_gmt":"2025-08-29T19:47:50","slug":"qnx-on-rcs-resources","status":"publish","type":"page","link":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/","title":{"rendered":"QNX on RCS resources"},"content":{"rendered":"<p>There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an ARM processor, you may experience difficulties setting up your QNX development environment. To support these cases, the RCS team has a virtual machine setup for students without access to hardware that meets the QNX requirements.<\/p>\n<h2>Requesting an account<\/h2>\n<p>To have access to the VM, you need to request an account from RCS. Please send an email to &#x69;&#116;s&#x2e;&#x72;&#99;s&#x40;&#99;a&#x72;&#x6c;&#101;t&#x6f;&#110;&#46;&#x63;&#x61; to request your account including the following information:<\/p>\n<ul>\n<li>Your full name<\/li>\n<li>Your student number<\/li>\n<li>A brief description on where you attempted to setup your QNX environment and the issues you encountered<\/li>\n<li>The course that requires the use of QNX, or the research project and primary investigator<\/li>\n<\/ul>\n<p>Once your account is created, you will receive your username, the IP address of the VM, and your password to access the VM.<\/p>\n<p><em>* Note: to access these RCS resources, you will need to be connected to Carleton&#8217;s VPN (more information <a href=\"https:\/\/carleton.ca\/its\/help-centre\/student-requiring-vpn-access\/\">here<\/a>).<\/em><\/p>\n<h2>QNX tools<\/h2>\n<p>There are two main pieces of software required to run QNX: QNX Software Center and QNX Momentics IDE. Both are installed in the VM and can be accessed in their default locations provided in this section. There are also desktop shortcuts on the VM for easy access. Both QNX SDP 7.1 and 8.0 are installed and can be used in their default locations.<\/p>\n<p><em>* Note: You still require a QNX account, which will be required when opening the QNX Software Center. Follow the instructions provided in your course to acquire a QNX license, or through <a href=\"https:\/\/www.qnx.com\/products\/everywhere\/\">QNX Everywhere<\/a>.<\/em><\/p>\n<h2>Default locations<\/h2>\n<p>These locations can be used as reference when needed. Throughout these instructions, these locations will be mentioned:<\/p>\n<p>QNX Software Center: \/usr\/local\/bin\/qnx\/qnxsoftwarecenter\/qnxsoftwarecenter<\/p>\n<p>QNX Momentics: \/usr\/local\/bin\/qnx\/qnxmomenticside\/qde<\/p>\n<p>QNX SDP 7.1: \/usr\/local\/bin\/qnx\/qnx710<\/p>\n<p>QNX 8.0: \/usr\/local\/bin\/qnx\/qnx800<\/p>\n<h2>Connecting to the VM<\/h2>\n<p>You can start applications directly through a terminal, or using the graphical interface through Remote Desktop Protocol.<\/p>\n<h3>SSH<\/h3>\n<p>You can connect to the VM through a ssh terminal and use X11forwarding for graphical user interfaces, which is required for QNX Momentics and QNX software center. You require an X11 client to open the user interface (e.g. XQuartz for MacOS). When connecting through SSH, X11forwarding should be enabled with the &#8220;-Y&#8221; option to access the QNX software through a graphical user interface using the following command:<\/p>\n<p><code>ssh -Y &lt;your_username&gt;@&lt;ip_address&gt;<\/code><\/p>\n<p>Once you provide your password and are logged in the VM through SSH, you can start the QNX Software Center and QNX Momentics IDE with the following command:<\/p>\n<pre><code>\/usr\/local\/bin\/qnx\/qnxsoftwarecenter\/qnxsoftwarecenter &amp;&amp; \/usr\/local\/bin\/qnx\/qnxmomenticside\/qde &amp;<\/code><\/pre>\n<h4><\/h4>\n<h4>RDP through SSH port forwarding<\/h4>\n<p>You can access the Linux VM using Microsoft Remote Desktop. The default port used by RDP is 3389, which is not open in the RCS environment. To overcome this, you should start a terminal SSH connection and forward the localhost port connections to the RCS VM.<\/p>\n<p>To forward the RDP connection through an ssh connection, use the following command:<\/p>\n<pre><code>ssh -L 3389:localhost:3389 &lt;yourusername&gt;@&lt;ipaddress_vm&gt;<\/code><\/pre>\n<p>You will then have access to a terminal on the provided VM, but the main goal here was to forward RDP connections.<\/p>\n<p>Install the Microsoft Windows App, which includes the old Remote Desktop. You can find instructions about Microsoft App in this <a href=\"https:\/\/learn.microsoft.com\/en-us\/windows-app\/overview\">link<\/a>.<\/p>\n<p><em>* If you have access to Remote Desktop, you can use it instead.<\/em><\/p>\n<p>Once you installed the Microsoft Windows App, you can create a new connection to a PC. Click on the plus sign in the top right corner, and select &#8220;Add PC&#8221;.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_addPC.png\" \/><\/p>\n<p>In the new opened dialog, fill up the PC name with \u201clocalhost:3389\u201d. For credentials, you can set it up or fill it in when required, using your username and password provided by RCS.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_addPCdialog.png\" \/><\/p>\n<p><\/p>\n<p>With the SSH connection established and the PC configuration finalized, connect to the VM in the Microsoft Windows App. A screen similar to the one below should pop up:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_welcome.png\" \/><\/p>\n<p><\/p>\n<p>Both QNX Software Center and QNX Momentics IDE are available in your desktop (soft links pointing to the default locations mentioned above).<\/p>\n<h2>QNX licenses<\/h2>\n<p>To develop software with QNX you require a license. The first time you log into the RCS VM, you need to open the QNX Software Center and log in with your QNX credentials to retrieve information about your licenses. To open the QNX Software center, double click the desktop icon or access it in its default location (\/usr\/local\/bin\/qnx\/qnxsoftwarecenter\/qnxsoftwarecenter). At the bottom of the screen, you should click on &#8220;Not logged in&#8221; and follow the login instructions using your personal QNX credentials.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_softCenter1.png\" \/><\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_softCenter2.png\" \/><\/p>\n<p>Once logged in, click on Manage License Keys, and click &#8220;Activate&#8221; for the licenses you intend on using.<\/p>\n<h2>QNX VM<\/h2>\n<p>To develop software for QNX, there should be a host VM for development, and a target machine with the QNX OS to test and deploy your software. A straightforward way for a target machine is a QNX Virtual Machine. In this section we go over the configuration required to create a QNX target VM using VirtualBox.<\/p>\n<p>Open the QNX Momentics IDE, and select the workspace location, then click &#8220;Launch&#8221;. Note that the default location is in a folder inside your home directory.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_workspace.png\" \/><\/p>\n<p>If this is the first time setting up QNX Momentics, you should setup the path to the SDK you intend on using (QNX710, QNX800, etc&#8230;). Click menu, Windows &gt; Preferences, and click QNX.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_softCenterSDK1.png\" \/><\/p>\n<p>In the SDK selection, click &#8220;Add&#8230;&#8221;, then &#8220;Browse&#8221;. In the newly open dialog, navigate to the default path where the SDK is installed (\/usr\/local\/bin\/qnx\/qnx800) and select that path. Finally, click &#8220;Finish&#8221;.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_softCenterSDK2.png\" \/><\/p>\n<p>The configuration should now look similar to the one below. Click &#8220;Apply and Close&#8221;.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_softCenterSDK3.png\" \/><\/p>\n<p>With all the license setup finalized, you can close the QNX Software Center and move on to create a QNX target and sample project.<\/p>\n<p>You will first need to create a target (QNX VM). To create a target, click the dropdown menu besides &#8220;on:&#8221; and click &#8220;New Launch Target&#8230;&#8221;.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_newLaunchV2.png\" \/><\/p>\n<p>Then select a &#8220;QNX Virtual Machine Target&#8221;, and click next.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_qnxVM1.png\" \/><\/p>\n<p>The virtualization\/emulation software can be selected in this screen. The installed methods are &#8220;Virtual Box&#8221;(vbox), and &#8220;QEMU&#8221;(qemu). For this exercise, select vbox, give the vm a name, and select the CPU Architecture as x86_64. With everything set up, click &#8220;Finish&#8221; and wait for the VM to be created.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_QNXVM2.png\" \/><\/p>\n<p>Once the QNX VM is created, you will see something similar to the following screen:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_qnxstartup.png\" \/><\/p>\n<p>Notice that at the bottom right corner there is a &#8220;Meta_R&#8221; key set as host key, which is required to get out of the QNX VM. Make sure that this setting is properly configured to your keypad.<\/p>\n<p>If this is the first time you are using virtualbox in this VM, you might have to create a &#8220;Host-only Network&#8221;. To do this, open a terminal and type: virtualbox, then press enter.<\/p>\n<p>With Virtualbox open, click the list icon beside tools, and select Network. Then click &#8220;Create&#8221;, to create a network. Make sure DHCP is enabled.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_vboxnetwork.png\" \/><\/p>\n<p>If everything went well and QNX Momentics was able to find the IP address of the QNX VM then you are ready to create your first project. It is possible to verify this by looking at the icon of the QNX VM (vm_test). The figure below shows a correctly configured VM.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_VMWorkingV2.png\" \/><\/p>\n<h2>Creating your first project<\/h2>\n<p>To create a simple project, click on the menu File &gt; New &gt; QNX Project, then select QNX Executable and click next. Create a project a name and select the CPU Variant as x86_64.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_newProjectCreate.png\" \/><\/p>\n<p>With the target connected, you are able to build the project by clicking the &#8220;Build&#8221; button (hammer icon at the top left corner). After clicking the &#8220;Build&#8221; icon, you should see a message in the terminal at the bottom, similar to the following:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_newProjectBuild.png\" \/><\/p>\n<p>With the successful build, you can launch in &#8220;Run&#8221; mode by clicking in the play icon (beside the build icon). A message should appear at the Console at the bottom of the application:<\/p>\n<p><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/carleton.ca\/rcs\/wp-content\/uploads\/qnx_onRCS_newProjectRun.png\" \/><\/p>\n<p><\/p>\n<h2>Known issues<\/h2>\n<h3>VM starts, but Momentics does not find it<\/h3>\n<p>Sometimes you might need to manually configure the IP address in the Momentics software. To do this, you can use the &#8220;ifconfig&#8221; command in the QNX VM, then look for the assigned IP address for the QNX VM. Take note of the IP address, then go to the left pane of the Momentics IDE, right click in the VM and click Properties. In the new dialog window, go to &#8220;QNX Qconn Target&#8221;, and fill out the &#8220;Hostname or IP&#8221; with the IP address assigned to the QNX VM. This should fix the problem and QNX Momentics should be able to communicate with the QNX Target VM.<\/p>\n<p><\/p>\n<h2>Contribute<\/h2>\n<p>Found something wrong or have suggestions to improve? Send us an email through <a href=\"&#x6d;&#x61;&#x69;&#108;&#116;&#111;:i&#x74;&#x73;&#x2e;&#x72;&#99;&#115;&#64;c&#x61;&#x72;&#x6c;&#x65;&#116;&#111;n&#46;&#x63;&#x61;\">&#x69;&#x74;&#x73;&#46;&#114;&#99;s&#64;&#x63;&#x61;&#x72;&#x6c;&#101;&#116;on&#x2e;&#x63;&#x61;<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an ARM processor, you may experience difficulties setting up your QNX development environment. To support these cases, the RCS team has a virtual machine setup for students without [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_mi_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":"","_links_to":"","_links_to_target":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>QNX on RCS resources - Research Computing Services<\/title>\n<meta name=\"description\" content=\"There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/\",\"url\":\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/\",\"name\":\"QNX on RCS resources - Research Computing Services\",\"isPartOf\":{\"@id\":\"https:\/\/carleton.ca\/rcs\/#website\"},\"datePublished\":\"2025-08-26T02:01:26+00:00\",\"dateModified\":\"2025-08-29T19:47:50+00:00\",\"description\":\"There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an\",\"breadcrumb\":{\"@id\":\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/carleton.ca\/rcs\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"QNX on RCS resources\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/carleton.ca\/rcs\/#website\",\"url\":\"https:\/\/carleton.ca\/rcs\/\",\"name\":\"Research Computing Services\",\"description\":\"Carleton University\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/carleton.ca\/rcs\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"QNX on RCS resources - Research Computing Services","description":"There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/","url":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/","name":"QNX on RCS resources - Research Computing Services","isPartOf":{"@id":"https:\/\/carleton.ca\/rcs\/#website"},"datePublished":"2025-08-26T02:01:26+00:00","dateModified":"2025-08-29T19:47:50+00:00","description":"There are multiple ways of developing for QNX OS. The QNX-supported OS, where development occurs, is Linux or Windows. If you work on a MacOS, or with an","breadcrumb":{"@id":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/carleton.ca\/rcs\/qnx-on-rcs-resources\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/carleton.ca\/rcs\/"},{"@type":"ListItem","position":2,"name":"QNX on RCS resources"}]},{"@type":"WebSite","@id":"https:\/\/carleton.ca\/rcs\/#website","url":"https:\/\/carleton.ca\/rcs\/","name":"Research Computing Services","description":"Carleton University","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/carleton.ca\/rcs\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"acf":{"banner_image_type":"none","banner_button":"no"},"_links":{"self":[{"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/pages\/994"}],"collection":[{"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/comments?post=994"}],"version-history":[{"count":5,"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/pages\/994\/revisions"}],"predecessor-version":[{"id":1050,"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/pages\/994\/revisions\/1050"}],"wp:attachment":[{"href":"https:\/\/carleton.ca\/rcs\/wp-json\/wp\/v2\/media?parent=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}