Is it possible to run NXT-G software under Linux using Wine?

19

1

I would like to use Lego Mindstorms NXT-G, but I do not have a regular access to a computer running Windows or OS-X. I have tried to use the official software in Linux using Wine, but it didn't even install. I was wondering if anybody has had better success, and if yes, how it was done, what works and what still doesn't.

I am aware that there are other options for programming the brick, and that some (most?) of those run on Linux, however, these are not allowed in competitions such as FIRST Lego League, which makes them somewhat less suitable for my purpose.

Jan Hlavacek

Posted 2011-11-22T08:12:23.707

Reputation: 1 175

2I fear that you may need a full windows virtual machine or something, but that's not really something I can help with. – None – 2011-11-22T10:40:58.810

Maybe you should try installing Adobe Flash? (Under Linux and Wine as well.) – Mateen Ulhaq – 2011-11-23T01:15:01.550

@muntoo: I do not see how Flash could help. As far as I know, the NXT-G software is not written in Flash, it is written in LabView. Strangely, LabView does have a native Linux version, but Lego does not seem to release a Linux version of their software. – Jan Hlavacek – 2011-11-23T04:52:56.620

No, NXT-G is powered by Flash (which is why it is so slow). LabView is the graphical programming language NXT-G is based on. (LabView helped with NXT-G, IIRC.) – Mateen Ulhaq – 2011-11-23T05:40:18.227

This question should be migrated to superuser; this is a question about software and OS compatibility at the end of the day – mfg – 2011-11-23T17:09:20.887

2@mfg: Why not Ask Ubuntu or Unix/Linux, or... here? All those other sites will probably just recommend the other programming environments - IMO the requirement to remain inside standard Lego competition rules makes it a reasonable question for here. – None – 2011-11-23T17:39:14.097

1@muntoo do you have a reference for NXT-G being Flash-based? That puzzles me. – None – 2011-11-24T12:24:05.563

@Joubarc While I don't think NXT-G is based on flash, it certainly uses it, especially for showing building instructions. You feel it when you have a flash problem -- ex. http://forums.usfirst.org/showthread.php?t=17827 .

– Clinton Blackmore – 2011-11-24T19:05:41.090

Thanks, interesting read. Sadly, LEGO has a poor track record for supporting older software on new OSes, and it's a very good thing that alternative languages exist. – None – 2011-11-24T19:08:42.707

@JanHlavacek Does it have to be NXT-G? Would NXC or NBC be a viable solution? – pcantin – 2011-11-26T19:34:23.513

2@pcantin: For example, the rules of the FIRST Lego League clearly state: "The robot may only be programmed using LEGO MINDSTORMS, RoboLab, or NXT-G software (any release). No other software is allowed." – Jan Hlavacek – 2011-11-26T20:43:59.687

Actually, I wonder if they would even allow NXT-G under wine, should it work. Don't see why not, but you never know. – None – 2011-11-28T13:07:24.700

Just saying, but this is probably a better fit for SU than the Lego site. – daviesgeek – 2011-11-28T18:10:54.623

1@Jan: Yay! There's another Linux-only person here! :) Oh, and check my blog (in my profile) for Linux ports of Lego-related software. (But not NXT-G, sorry.) – retracile – 2011-12-01T01:23:20.610

Answers

4

I did some research and found a this thread that claims that the programming languages should work under Wine. Someone on the same thread said he/she ran it in VirtualBox instead of Wine.

However, the Mindstorms software is listed in Wine's application data as being "garbage." I think that means it doesn't run at all.

daviesgeek

Posted 2011-11-22T08:12:23.707

Reputation: 1 469

1I can confirm that NXT-G does run in VirtualBox. I used that several years ago, and the only problem I had with it was every time the NXT was unplugged, the virtual machine would loose ownership of the usb device, and it had to be reclaimed after attaching the NXT again. Annoying, but not a showstopper. The newer versions of VirtualBox have much better USB support, so it is quite likely that problem no longer exist. – Jan Hlavacek – 2011-12-01T06:24:18.853

The problems with using a virtual machine are: first you have to have a more powerful machine, since you will be running two operating systems at the same time, second, you still need a Windows CD to install on the virtual machine. I used to have an XP cd lying around that I used just for this particular purpose, but I misplaced that few years ago. – Jan Hlavacek – 2011-12-01T06:29:32.417

It seems that I have to accept this as the correct answer. There does not seem to be any way to run NXT-G on Linux (without using a virtual machine). – Jan Hlavacek – 2011-12-05T13:18:44.703

2

Here's what I would try. You can start an MS Windows Micro instance (virtual machine/VM) on Amazon Web Services (AWS). An AWS micro VM cost nothing if you have Linux on it but since you need Windows it's $0.03 per hours. The price list is on this page. If the micro instance is too small or too slow, you can use a bigger one (an Extra Large is $0.96/hour).

You can install the LEGO software on it and work remotely. To avoid installing the LEGO software each time you can even create your own VM an relaunch it whenever you need.

The only downside I see is the IO between the VM and the physical LEGO NXT brick. This could probably be solved by creating a proxy port on your home computer through which the LEGO software on the VM could communicate with the brick. This need to be tested since I don't have an NXT. If this part is too complicated (or impossible) you could look for other ways to upload the code on the NXT from the Windows VM.

If you never played with AWS, I suggest to start with a Linux micro instance (e.g. Ubuntu). Since it cost nothing it's a good way to experiment on how the whole thing works.

pcantin

Posted 2011-11-22T08:12:23.707

Reputation: 151

1

The new Ev3 software is available for download and supports programming NXT 2.0 bricks.

However, it, like NXT-G, only supports OSX and Windows. It can install under Playonlinux / Wine, but does not start up due to dependencies on Mono 4.3 and other dependencies.

I can understand why FLL would want to limit the use of outside software consistency's sake, but I do wish they would consider something like Enchanting if no one is able to resolve the issues with running Ev3 under wine.

marco

Posted 2011-11-22T08:12:23.707

Reputation: 11

I was hoping, since the new brick actually runs Linux as its internal OS, that they will support Linux with the Ev3 software, too, but, apparently, they do not. A pity. – Jan Hlavacek – 2013-09-06T00:00:59.020

@JanHlavacek - Also interesting is that it still runs on National Instruments, but the UI seems to be built on top of silverlight/mono. NI can run on linux and there is a native mono for linux written by Miguel de Icaza, so the potential is there, but it would require some re-writting. I have sent in a letter to Lego requesting this and I think there maybe a Lego Ambassador forum thread discussing this so maybe there will be some response at some point from Lego themselves. – marco – 2013-09-06T18:34:41.897