Questions tagged [google-nativeclient]

Native Client (NaCl) and Portable Native Client (PNaCl) are open-source technologies for executing compiled code in a browser sandbox. PNaCl is portable and preferred but has a few limitations. Questions about the tool chain and SDK for Native Client as well as questions concerning behaviors of the resulting applications should use this tag. Questions involving HTML and JavaScript components used with Native Client may need those tags as well or instead.

The Native Client (NaCl) and Portable Native Client (PNaCl) open-source technologies are designed to run operating system independent, native compiled code securely inside browsers by containing the compiled code in a sandbox. The result is to provide the raw speed needed for browser based applications to compete with traditional software like 3D games, video editing, and other applications. Native Client gives languages like C and C++ the same level of portability and safety that JavaScript provides on the web today.

There are two versions of Native Client: Native Client using the native code of a specific target hardware and Portable Native Client using a portable hardware independent code. The Portable Native Client code is translated to Native Client code for the current hardware at the time it is executed in the sandbox.

Portable Native Client is preferred since one executable can run on multiple hardware while Native Client requires multiple hardware specific versions. However Portable Native Client does have a few limitations and Native Code may be required for a specific application.

A complete application is expected to use Native Client (PNaCl or NaCl) with HTML along with any needed JavaScript and CSS styles (JavaScript and CSS may be included in the HTML file or as separate files). An embed tag with a type of application/x-pnacl for Portable Native Client or application/x-nacl for Native Client is used in an HTML file specifying the application's manifest file to download and start the Native Client application.

Applications may be published through the Chrome Web Store.

From the SDK download page.

Platforms

Native Client supports several operating systems, including Windows, Linux, OSX, and ChromeOS. It supports several architectures including on x86-32, x86-64, ARM, and MIPS.

446 questions
3
votes
1 answer

On Windows, how to run Google's Native Client run outside of Chrome?

This question is specifically about Windows (64-bit). A similar question was asked here, but the answers appear to be specific to Linux (and perhaps OS X). The non-Windows answer is to use sel_ldr but no such file is present in a Chrome install on…
Josh Heitzman
  • 1,816
  • 1
  • 14
  • 26
3
votes
1 answer

Loading A Native Client Chrome Extension For A Particular MIME Type

I have created a Native Client application for the Google Chrome web browser that plays special types of audio files. Great; that part works very well at this point. I'm ready to move to the next phase-- sharing this app with the world. I need help…
2
votes
2 answers

Google Chrome Native Client compared with plugin or extension

I am new to Native Client; and new to plugins/extensions too. It strikes me that plugins/extensions are "better" than NaCl in some respects: Can compile plugin/extension anywhere/anyhow to produce a plain old DLL or a .so; NaCL needs binary…
2
votes
3 answers

Samples don't work in Google NaCl rev 18

I'm trying to use the latest Google NaCl SDK. Following the instructions at https://developers.google.com/native-client/pepper18/devguide/tutorial I downloaded the naclsdk tool from their site, ran update, and got a pepper_18 folder. I set…
andy
  • 18,005
  • 9
  • 30
  • 27
2
votes
2 answers

NaCl is supposed to be enabled by default in unpacked extensions, yet I can't use it from one

"NaCl is currently only turned on by default for applications/extensions from the Chrome Webstore, or unpacked extensions for development purposes." - the Internet Yet I can't seem to be able to use NaCl from an unpacked extension. (I did not try…
Tarnay Kálmán
  • 6,907
  • 5
  • 46
  • 57
2
votes
2 answers

Can a Native Client module render HTML generated by C++ code?

I have some data analysis code that processes an input file and outputs HTML and/or SVG. It is C++ and CPU-intensive. I would like to create a browser plugin so that my code can be used without leaving the browser. Google's Native Client framework…
paperjam
  • 8,321
  • 12
  • 53
  • 79
2
votes
1 answer

What JSON parsing library is good for Google NaCl (c++)?

Since NaCl uses a messaging system between the browser and the module I thought that serializing objects to / from JSON would be a good way to communicate with the javascript. I am using this library: http://code.google.com/p/pjson/ because it was…
Warspawn
  • 46
  • 5
2
votes
1 answer

How to obtain a 3D context for Google Native Client

Ever since Chromium/Native Client have switched to using PPAPI 2, obtaining a 3D context is broken. I can link and compile my application (which uses OpenGL ES 2 extensively), everything works ... except obtaining a 3D context to draw on. My…
Realz Slaw
  • 3,138
  • 1
  • 24
  • 38
2
votes
0 answers

PNaCl logging to stdout no longer working in Chrome 72 onwards?

I'm currently working to maintain an existing PNaCl application for ChromeOS devices. Prior to Chrome 72, we were able to log to stdout and stderr and these logs would appear on the ChromeOS device inside the ui.LATEST file. Since our ChromeOS…
markeh21
  • 189
  • 12
2
votes
0 answers

Is Google Native Client (NaCl) vulnerable to Meltdown or Spectre attacks?

I run sel_ldr_x86_32 file32.nacl and sel_ldr_x86_64 file64.nacl on my Intel machine vulnerable to Meltdown and Spectre. Given that even JavaScript can employ Spectre, I am curious if NaCl'ed binaries can. Are there any known vulnerabilities of NaCl…
Stair
  • 21
  • 2
2
votes
0 answers

Tizen Native Module - How to read from network properly

I am hoping to show my local cctv in a native module on my Samsung smart tv which has Tizen. My class NativePlayer extending PP_Instance creates a class which creates a tcpsocket. I have been copying the NativePlayer and Sockets samples for now. My…
2
votes
0 answers

Is udp broadcast supported on Chrome Native Client (pnacl toolchain)?

I try to implement an Nacl module in a Chrome Extension that tries to discover GigE cameras using GigE Vision control service (gvcp). So I have to send an UDP broadcast message on port 3956. I use sendmsg() function for this purpose. Inside my Nacl…
2
votes
1 answer

Getting Unauthorized from from Azure Web API

I created a basic project using Visual Studio 2015 Update 3 for Web API (nothing custom, bare bone) and deployed it to Azure (Free Account) following the instruction here. Then I created a Console client with the following code. public static async…
Diceyus
  • 769
  • 9
  • 13
2
votes
1 answer

Native Client inner/outer sandbox

I am dealing with the Chrome Native Client and have some difficulties in the following points: As I understood so far, the first 64 KB of the 256MB Nacl segment are dedicated to the inner-sandbox. This inner sandbox contains the trampoline and the…
2
votes
0 answers

PNaCl linking to Perl internal error in target

I'm trying to make a PNaCl application that uses WebPorts's NaCl port of Perl, but I'm getting a strange error when linking it. Here's the simple code I was trying to build: #include #include #include…
a spaghetto
  • 1,072
  • 2
  • 14
  • 22