LEGO Engineering

| | | | | | | |
Does ROBOLAB run on Linux?


20th of April, 2010

(7 )
100% thumbs up 0% thumbs down

Yes and No.

ROBOLAB is only officially supported and tested on a the PC an Mac platforms. There is no official support for ROBOLAB running on Linux.

However, some users have reported success in using ROBOLAB with both the NXT and the RCX (with USB tower) in Linux. The guidelines below are unofficial and we cannot provide help to users in completing these steps or troubleshooting problems.

These steps were tested in Ubuntu 7.10 (Kernel 2.6.22-14-generic) using VirtualBox 1.5.0 (non-free edition) but will likely work in other environments with some adjustments.

To begin with, you need a working virtual machine running Windows XP. VMWare and VirtualBox are virtualization programs which allow you to run a "guest" operating system inside of the "host", or main, operating system. We used VirtualBox, which is free software available through the Ubuntu package manager.  Visit virtualbox.org for help installing the software on your specific Linux distribution. Create a Virtual Machine (if you do not already have one) running Windows XP, and install ROBOLAB onto Windows. Do not try to use ROBOLAB yet, because you will not be able to download programs or communicate with the RCX or NXT at this point.

Note: This installation was tested on the "non-free" version of VirtualBox, which is still available at no charge, but includes closed-source software.

The installation of VirtualBox creates a new user-group called vboxusers.  Make sure that your user is part of this group; in Ubuntu, go to System -> Administration -> Users and Groups, click the Manage Groups button, scroll down to find vboxusers, click Properties, and check the name of your Linux user.  Note the group id in the box, on Ubuntu 7.10 it is probably 120.  Click OK, Close, and Close.

Next, you need to edit some files in order to give the virtual Windows permissions to the USB devices on your system.

Hit Alt+F2, and type in:
gksudo gedit /etc/fstab
(This command is for Gnome/Ubuntu; use whatever command is appropriate for your distribution of Linux in order to edit the file)

Add to the end of this file:
none /proc/bus/usb usbfs devgid=120,devmode=666 0 0

(Make sure to replace the number after devgid with the group id of vboxusers if it is not 120).

Save and exit from the text editor.  At this point, you need to restart your computer.

When you have restarted, start Virtualbox, but do not start up your virtual Windows XP machine yet.  Click Settings, and click USB on the left.  Check the box for Enable USB Controller, and then click OK to save your settings.

Start up your Windows XP Virtual Machine. Windows should detect the USB root hub of your computer. Wait for it to automatically install the driver (this should only take a few seconds). In the lower border of the VirtualBox window, there are several icons on the right side that indicate disk access, network access, etc. One of them looks like a USB plug, and controls which USB devices are passed through to the guest OS. Right-click on this icon (you may have to release the mouse from the guest OS if you do not have automatic release enabled), and click the device that represents the NXT or USB Tower in order to have Windows see it. The device may appear as "Unknown Device", in which case you can identify it by the number after the name: the NXT will be 0694 and the tower will be *need to test*.

Windows should now automatically install the NXT or USB Tower driver. After that has completed, you should be able to start ROBOLAB and everything should work fine.
   :
   :
* :
* :