Questions tagged [cobalt]

Cobalt is a lightweight HTML5/CSS/JS application container that is designed to provide a rich application development environment with minimal resource consumption (deployment size, RAM, CPU, GPU). At the same time, Cobalt enables a rich, low-latency user experience across a wide variety of platforms and devices.

Target audiences

Cobalt's documentation is written with two audiences in mind:

Porters enable Cobalt to work on other platforms by using Starboard, Cobalt's porting layer and OS abstraction, to implement the platform-specific functionality that Cobalt uses. Each Starboard module (memory, socket, thread, etc.) defines functions that must be implemented for the porter's platform.

Developers want to build applications in familiar environments with advanced debugging tools without having to worry about compatibility with a highly fragmented set of browsers. At the same time, they want to have full control over their codebase so that they can ship features for constrained platforms, like TVs, on time and without technical risk.

Benefits of Cobalt

Cobalt significantly reduces the cost of supporting a browser on non-standard and resource-constrained platforms. In addition, since Cobalt operates at a consolidated, versioned platform abstraction layer, its porting effort is man-weeks, and subsequent rebases are near-free.

These are some other benefits that Cobalt provides:

More platforms

Cobalt does not require platforms to support JIT compilation and can run on platforms that disallow execution of dynamically generated code. Cobalt is a single-process application and does not rely on the ability to spawn multiple processes. Cobalt precompiles a set of shaders that are sufficient to express all graphical effects, thereby accommodating platforms that cannot compile shaders at runtime. Cobalt requires a compliant C++03 compiler, allowing it to reach platforms with legacy toolchains. Small footprint

Cobalt is optimized for memory. Its surface cache never exceeds a predefined budget, and it never creates duplicate layers, reducing the likelihood of out-of-memory crashes. Cobalt's small binary is designed to take up as little space as possible. By supporting a subset of HTML5/CSS/JS, Cobalt's reduced package size even allows bundling of CJK fonts on low-end devices. Reduced input latency

Cobalt produces consistent 60FPS animations by only supporting animation of properties that don't affect layout, like transform, and always running animations on a separate thread. Cobalt is optimized to run on single-core CPUs, resulting in better input latency since the renderer and resource loader do not compete with layout operations. On platforms that support GLES2, Cobalt avoids CPU painting by performing almost all rendering operations on the GPU.

References:

1.1 Overview & Source http://youtube.github.io/cobalt/overview.html

1.2 Porting http://youtube.github.io/cobalt/starboard/porting.html

1.3 Develop http://youtube.github.io/cobalt/development/setup-linux.html

1.4 Supporting Features http://youtube.github.io/cobalt/development/reference/supported-features.html

1.5 Testing http://youtube.github.io/cobalt/starboard/testing.html

1.6 Source Code https://cobalt.googlesource.com/cobalt/

1.7 h5vcc https://github.com/youtube/h5vcc

1.8 Build in linux https://cobalt.googlesource.com/cobalt/+/e9b4b99dab6e774b8b6e63add74c352cc5dd395a/src/README.md#Building-and-Running-the-Code

215 questions
1
vote
1 answer

SIGABRT when executing cobalt browser

I would like to evaluate the performance & functionality of cobalt browser on my Ubuntu PC. Then I follow the steps based on this URL to build it. However, I get the SIGABRT when launching it. Error message was…
1
vote
1 answer

Does there has a suggestion MIPS tool chain version for Cobalt?

I would like to know if there has suggestion MIPS toolchain version for Cobalt. Or after which MIPS version is suitable for compiling source code? Thank you.
Sean Kuo
  • 11
  • 2
1
vote
1 answer

A stable version that meets FCC requirement

We are wondering how to meet FCC's requirement. Would Cobalt provide a stable version to meet FCC requirement?
0
votes
0 answers

Extract y data values from mirrored histogram using R MatchIt and cobalt

I use R code in the backend of my application to generate different plots such as histograms after conducting matching. In order to show the plots in the front end of my application I want to extract all data values and rebuild them using…
0
votes
1 answer

Linux setup issue with starboard for Cobalt

I recently stumbled on to cobalt while I was looking to port my web application to android. I followed these steps on my Linux system. I was able to complete the 'Set up your workstation' and 'Set up Developer Tools' sections. While building, on the…
Vermaayu
  • 3
  • 4
0
votes
1 answer

Cobalt 23 net fetcher crash

We have several times got crash in the net fetcher part (Cobalt 23.lts.3.310436). Trouble shooting with extra logs in the code led me to the url_fetcher_core.cc file. It seems to be a thread related problem. An object is deleted while it is still in…
Michael
  • 3
  • 2
0
votes
0 answers

c2lint : Your authorization file is not valid: Decryption error

When I write a glacier.profile file,and try to use c2lint in CS4.3 to check it.But take this error. enter image description here And i think the keystore,password was set right ,so how can i resolve it I try the example porfile in github ,still take…
0
votes
0 answers

Cobalt 22 crash in some corner case

Anybody else met the same issue? I just bumped the Cobalt porting from 22.lts.3 to 22.lts.6. Then meet a crash when running yts pages. Not often, only see twice during a month, but the stack are the same. It looks like cobalt is fetching some…
Yeyi Cui
  • 11
  • 1
0
votes
1 answer

Cobalt 23 in OpenGL-less platform (reviving Blitter API?)

We are running Cobalt on a MIPS based platform with no OpenGL support. We have Cobalt from 20.lts.x and it runs perfectly. Now I m experimenting with Cobalt 23 version and I see that OpenGL is the only way to make graphics (we were using Blitter API…
meodou
  • 49
  • 4
0
votes
0 answers

Generating Standardised Mean Differences in R

I would like to generate SMD and plot them without including the prediction model in my code; I am using the cobalt package and specifically the loveplot command to generate the plot. However, I would like to just include the probability of…
Magut
  • 151
  • 7
0
votes
1 answer

Cobalt for the nintendo switch

i was poking in the Youtube-app for the Nintendo Switch and saw that it's the cobalt browser pointing to youtube.com/tv. Since the switch is lacking a (good) browser*, i thought that it may be possible to compile a/the browser for the Nintendo…
Slluxx
  • 25
  • 1
  • 5
0
votes
1 answer

Compilation failure in cpu_features_get.cc

I'm trying to compile Cobalt and getting errors building cpu_features_get.cc. The specific version I'm building is here: https://github.com/Metrological/cobalt/blob/master/src/starboard/shared/linux/cpu_features_get.cc and it appears to be based on…
dscrdia
  • 1
  • 1
0
votes
0 answers

On which statistical test are the p-values of the bal.tab function in the COBALT package in r based?

I performed propensity score matching using the nearest neighbor method. To assess the balance by matching I used the bal.tab function of the COBALT package setting the thresholds for mean differences to ".05". # Balance tables with thresholds for…
0
votes
1 answer

How to configure the directfb instead opengl in cobalt display configuration

We need to configure the graphics backend of cobalt instead using opengl(EGL) , Is there possible to configure the directfb instead opengl. How to enable the directfb instead opengl.
sss qa
  • 1
  • 2
0
votes
1 answer

Multiple threshold lines with love plot R

Is there a way to add multiple threshold lines to the love.plot below? Also, I can't seem to figure out how to suppress the NA variables from being displayed. love.plot(bal.tab(gac_status ~ covs, data = new_data), binary = "std", …
Sam Pickwick
  • 303
  • 1
  • 8