Small Saltbox
May 10, 2011 5:11 PM   Subscribe

Running Chrome? NaCL Box is a port of DosBox, running in your browser. Game demos include The Secret of Monkey Island and SimCity 2000, among others.

You do need to enable the possibly frightening and unstable native client in Chrome, but isn't Guybrush Threepwood worth it?
posted by jenkinsEar (30 comments total) 14 users marked this as a favorite
 
SS2K may be just the carrot-in-my-face to make me install Chrome. Soooo many hours gave their little lives so that I might play that game.
posted by Thorzdad at 5:17 PM on May 10, 2011


Um...SC2k, that is....
posted by Thorzdad at 5:18 PM on May 10, 2011


Every day another piece of news comes my way about Firefox falling further behind, it seems.
posted by Kwine at 5:19 PM on May 10, 2011


It's not the full game, just a demo (but I bet the full game might be loadable if you find it out there and can hack the source)
posted by jenkinsEar at 5:20 PM on May 10, 2011


I was amused by the warning statement. Truly one of the greater warnings I've seen in recent memory.
posted by jscott at 5:23 PM on May 10, 2011


Hmmmm...well, I followed the directions for enabling the native client but the SC2K page doesn't think it's enabled, even though Chrome itself gives me a big fat warning about the terrors that may await me with native client enabled.

Oh well.
posted by Thorzdad at 5:35 PM on May 10, 2011


Cool in theory but I can't help but be worried about NaCL seeing as the chrome sandbox was just broken.
posted by Ad hominem at 5:38 PM on May 10, 2011


I can't get this to work after enabling and restarting on Windows 7, 12.0.742.30 dev-m ... but I was so excited I breathlessly went to my OS X Lion, also running v12, and it ... well restarted my laptop.

Native client is cool and does make my nerdelles tingle.
posted by geoff. at 5:39 PM on May 10, 2011


Thorzdad, same here. I'm on OSX, enabling Native Client didn't work.
posted by Philosopher Dirtbike at 5:39 PM on May 10, 2011


SS2K may be just the carrot-in-my-face to make me install Chrome.

The carrot in my face was websites loading 2x faster in Chrome than in any other browser...

I'm in OSX and Falcon 3 worked just fine. Don't forget to restart Chrome after enabling Native Client... just saying.
posted by Huck500 at 5:41 PM on May 10, 2011 [1 favorite]


How 'bout just installing DOSBox?
posted by pashdown at 5:42 PM on May 10, 2011


OSX here, too. Restarted Chrome. Thrice. No go.
posted by Thorzdad at 5:45 PM on May 10, 2011


This is the first I've heard of Native Client. What makes it good and nonevil, unlike ActiveX which essentially gave malware a big vector to enter your parents' computers?
posted by mccarty.tim at 5:52 PM on May 10, 2011 [4 favorites]


This didn't work on either Mac or Windows. Sad.
posted by Threeway Handshake at 5:55 PM on May 10, 2011


Yeah. Wondering what advantages Native Client has over ActiveX (scary) or Java Applets (slow/buggy).
posted by schmod at 5:59 PM on May 10, 2011


Didn't work in Ubuntu 10.10, either. (Restarted the browser.)
posted by achmorrison at 5:59 PM on May 10, 2011


Native Client is basically a sandbox that isolates plugins from being able to interact with the rest of the operating system. Unlike an ActiveX plugin which can do basically anything the user can, NaCl code is checked by a machine code verifier that prevents it from interacting with anything except the browser's entry points. Here's a paper that explains how it works. [PDF]

Bear in mind that this is in addition to, not instead of, the Chromium sandbox which is apparently what VUPEN claims to have broken. So for a NaCl plugin to do something nefarious, it would have to get past both of those layers of protection.
posted by teraflop at 6:02 PM on May 10, 2011


This sounded a lot like ActiveX, given that it currently on supports X86, but then I read a bit on the Wikipedia page about a "portable" intermediate language (pNaCl), which makes it sound like it'll become .NET.

I really don't get it. The majority of the (mobile) web is ARM and desktops are x86. Keeping native code out the web is a much better plan.
posted by rh at 6:04 PM on May 10, 2011


What makes it good and nonevil, unlike ActiveX which essentially gave malware a big vector to enter your parents' computers?

It can infect both your parent's Windows 7 desktop and their Macbook Pro!

Seriously though, this is addressed from the beginning of the NaCl paper:
... the absence of effective technical measures to constrain these plugins, browser applications that wish to use nativecode must rely on non-technical measures for security; for example, manual establishment of trust relationships through pop-up dialog boxes, or manual installation of a console application. Historically, these non-technical measures have been inadequate to prevent execution of malicious native code, leading to inconvenience and economic harm ... Native Client is built around an x86-specific intra-process “inner sandbox.” We believe that the inner sandbox is robust; regardless, to provide defense in depth [13], [16] we have
also developed a second “outer sandbox” that mediates system calls at the process boundary. The outer sandbox is substantially similar to prior structures (systrace [50] and Janus [24]) and we will not discuss it in detail in this paper
... so basically sandboxing.
posted by geoff. at 6:04 PM on May 10, 2011


It worked on my Mac but in Sim City 2K the mouse cursor did not align with the cursor on the screen... it was about 1.5cm to the right of the actual cursor.
posted by birdherder at 6:28 PM on May 10, 2011


What makes it good and nonevil, unlike ActiveX which essentially gave malware a big vector to enter your parents' computers?

Well, ActiveX plugins ran in the same address memory space as the browser. Anything your browser could do, so could the plugin. And since at the time Windows ran everything by default as the administrator it let websites run arbitrary code at the highest privalage level.

The Native Client runs everything in it's own virtual address space. You're still running x86 code but as far as the code is concerned it's running in it's own OS. It can't access anything outside the system. It's no less secure then running VirtualBox or VM ware - the code is completely isolated. In fact that's why you can load entire OSes inside of it (DOS in this case)
posted by delmoi at 7:36 PM on May 10, 2011


Also, it worked fine for me.
posted by delmoi at 7:53 PM on May 10, 2011


I did have the Mouse Issue with Sim City 2k, as well.
posted by delmoi at 7:56 PM on May 10, 2011


The Native Client runs everything in it's own virtual address space. You're still running x86 code but as far as the code is concerned it's running in it's own OS

This is basically correct, but to elaborate, NaCl's "inner sandbox" is cool because it uses pure software to create its virtual address space -- this is how it's able to isolate two parts of a single userspace process (Chrome and the NaCl application) from each other, without needing cooperation from the OS and without using privileged CPU instructions.

Why is this better than Flash or Java applets? Speed. Much faster than a JVM or than Flash. One of the early NaCl demos was Quake running in-browser.

Compatibility is an issue, though. To run on an iPhone and a laptop, they'd need to distribute ARM and x86 code, or do some ugly emulation. Interestingly, software-based fault isolation (the sandboxing technique) is much easier to implement for ARM, because of x86's hellish variable-length instructions.
posted by qxntpqbbbqxl at 9:53 PM on May 10, 2011


Interesting! I didn't try the software, but I'm intrigued by his enthusiasm for Google's Native Client.

So Native Client is a plugin that can transform your Chrome browser into any other kind of software? I gather that it lets you run Chrome OS on a thin client or whatever and, with minimal interaction with the cloud, you can change the browser into whatever you need it to be. That does sound pretty neat.
posted by Kevin Street at 11:16 PM on May 10, 2011


It won't run until you've got the cinnamon sticks, fine wine, Jolly Roger, gunpowder, ink, breath mints, rubber chicken and cereal.
posted by obiwanwasabi at 11:28 PM on May 10, 2011


How 'bout just installing DOSBox?

Or if you're mainly interested in the old LucasArts adventures, ScummVM.
posted by Mr. Bad Example at 11:34 PM on May 10, 2011


Won't run on my CR-48 yet, keeping my fingers crossed.
posted by BrotherCaine at 11:48 PM on May 10, 2011


Compatibility is an issue, though. To run on an iPhone and a laptop, they'd need to distribute ARM and x86 code...

To run on an iPhone, they've got bigger barriers than that, since Apple doesn't even let vetted apps download code, compiled or uncompiled, let alone a web browser visiting random sites on the internet.

Not that I don't think it would be brilliant...
posted by Jimbob at 12:06 AM on May 11, 2011


Apple doesn't even let vetted apps download code, compiled or uncompiled, let alone a web browser visiting random sites on the internet.
Not to mention that Apple wouldn't even allow Chrome into the App Store.
posted by zixyer at 10:32 AM on May 11, 2011


« Older MeFi Civil War, Part 2   |   The Problem with Tamiflu, Relenza, Swine Flu, GSK... Newer »


This thread has been archived and is closed to new comments