layout: doc title: “Starboard: gyp_configuration Reference Guide”

Variables
abort_on_allocation_failure

Halt execution on failure to allocate memory.

The default value is 1.
cobalt

Whether Cobalt is being built.

The default value is 1.
cobalt_compiled_by_msvc

Some compiler can not compile with raw assembly(.S files) and v8 converts asm to inline assembly for these platforms.

The default value is 0.
cobalt_config

Contains the current build configuration.

The default value is 'gold'.
cobalt_egl_swap_interval

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltEglSwapInterval instead. Cobalt will call eglSwapInterval() and specify this value before calling eglSwapBuffers() each frame.

The default value is -1.
cobalt_enable_jit

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltEnableJit instead.

The default value is -1.
cobalt_enable_quic

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltEnableQuic instead.

The default value is -1.
cobalt_fastbuild

Contains the current build configuration.

The default value is 0.
cobalt_font_package

Contains the current font package selection. This can be used to trade font quality, coverage, and latency for different font package sizes. The font package can be one of the following options:standard - The default package. It includes all sans-serif, serif, and FCC fonts, non-CJK fallback fonts in both ‘normal’ and ‘bold’ weights, ‘normal’ weight CJK (‘bold’ weight CJK is synthesized from it), historic script fonts, and color emojis. This package is ~38.3MB.limited - A significantly smaller package than ‘standard’. This package removes all but ‘normal’ and ‘bold’ weighted sans-serif and serif, removes the FCC fonts (which must be provided by the system or downloaded from the web), replaces standard CJK with low quality CJK, removes historic script fonts, and replaces colored emojis with uncolored ones. Because low quality CJK cannot synthesize bold, bold glyphs are unavailable in Chinese, Japanese and Korean. This package is ~8.3MB.minimal - The smallest possible font package. It only includes Roboto's Basic Latin characters. Everything else must be provided by the system or downloaded from the web. This package is ~40.0KB. NOTE: When bold is needed, but unavailable, it is typically synthesized, resulting in lower quality glyphs than those generated directly from a bold font. However, this does not occur with low quality CJK, which is not high enough quality to synthesize. Its glyphs always have a ‘normal’ weight.

The default value is 'standard'.
cobalt_font_package_override_fallback_color_emoji

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_emoji

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_historic

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_cjk

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_cjk_low_quality

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_lang_non_cjk

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_fallback_symbols

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_fcc_fonts

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_sans_serif

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_font_package_override_named_serif

Font package overrides can be used to modify the files included within the selected package. The following values are available: -1 -- The package value for the specified category is not overridden. 0 -- The package value is overridden and no fonts for the specified category are included. 1 -- The package value is overridden and fonts from the specified category with a weight of ‘normal’ and a style of ‘normal’ are included. 2 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or bold' and a style of ‘normal’ are included. 3 -- The package value is overridden and fonts from the specified category with a weight of either ‘normal’ or ‘bold’ and a style of either ‘normal’ or ‘italic’ are included. 4 -- The package value is overridden and all available fonts from the specified category are included. This may include additional weights beyond ‘normal’ and ‘bold’. See content/fonts/README.md for details on the specific values used by each of the packages use for the various font categories.

The default value is -1.
cobalt_gc_zeal

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltGcZeal instead. Can be set to enable zealous garbage collection, if
cobalt_licenses_platform

The default value is 'default'.
cobalt_media_buffer_alignment

The media buffer will be allocated using the following alignment. Set this to a larger value may increase the memory consumption of media buffers.

The default value is -1.
cobalt_media_buffer_allocation_unit

When the media stack needs more memory to store media buffers, it will allocate extra memory in units of
cobalt_media_buffer_initial_capacity

The amount of memory that will be used to store media buffers allocated during system startup. To allocate a large chunk at startup helps with reducing fragmentation and can avoid failures to allocate incrementally. This can be set to 0.

The default value is -1.
cobalt_media_buffer_max_capacity_1080p

The maximum amount of memory that will be used to store media buffers when video resolution is no larger than 1080p. This must be larger than sum of 1080p video budget and non-video budget.

The default value is -1.
cobalt_media_buffer_max_capacity_4k

The maximum amount of memory that will be used to store media buffers when video resolution is 4k. If 0, then memory can grow without bound. This must be larger than sum of 4k video budget and non-video budget.

The default value is -1.
cobalt_media_buffer_non_video_budget

Specifies the maximum amount of memory used by audio or text buffers of media source before triggering a garbage collection. A large value will cause more memory being used by audio buffers but will also make JavaScript app less likely to re-download audio data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is -1.
cobalt_media_buffer_padding

Extra bytes allocated at the end of a media buffer to ensure that the buffer can be use optimally by specific instructions like SIMD. Set to 0 to remove any padding.

The default value is -1.
cobalt_media_buffer_pool_allocate_on_demand

When either
cobalt_media_buffer_progressive_budget

The memory used when playing mp4 videos that is not in DASH format. The resolution of such videos shouldn't go beyond 1080p. Its value should be less than the sum of ‘cobalt_media_buffer_non_video_budget’ and ‘cobalt_media_buffer_video_budget_1080p’ but not less than 8 MB.

The default value is -1.
cobalt_media_buffer_storage_type

This can be set to “memory” or “file”. When it is set to “memory”, the media buffers will be stored in main memory allocated by SbMemory functions. When it is set to “file”, the media buffers will be stored in a temporary file in the system cache folder acquired by calling SbSystemGetPath() with “kSbSystemPathCacheDirectory”. Note that when its value is “file” the media stack will still allocate memory to cache the the buffers in use.

The default value is ''.
cobalt_media_buffer_video_budget_1080p

Specifies the maximum amount of memory used by video buffers of media source before triggering a garbage collection when the video resolution is lower than 1080p (1920x1080). A large value will cause more memory being used by video buffers but will also make JavaScript app less likely to re-download video data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is -1.
cobalt_media_buffer_video_budget_4k

Specifies the maximum amount of memory used by video buffers of media source before triggering a garbage collection when the video resolution is lower than 4k (3840x2160). A large value will cause more memory being used by video buffers but will also make JavaScript app less likely to re-download video data. Note that the JavaScript app may experience significant difficulty if this value is too low.

The default value is -1.
cobalt_media_source_garbage_collection_duration_threshold_in_seconds

Specifies the duration threshold of media source garbage collection. When the accumulated duration in a source buffer exceeds this value, the media source implementation will try to eject existing buffers from the cache. This is usually triggered when the video being played has a simple content and the encoded data is small. In such case this can limit how much is allocated for the book keeping data of the media buffers and avoid OOM of system heap. This should be set to 170 for most of the platforms. But it can be further reduced on systems with extremely low memory.

The default value is -1.
cobalt_minimum_frame_time_in_milliseconds

Allow throttling of the frame rate. This is expressed in terms of milliseconds and can be a floating point number. Keep in mind that swapping frames may take some additional processing time, so it may be better to specify a lower delay. For example, ‘33’ instead of ‘33.33’ for 30 Hz refresh. This value is deprecated in favor of the usage of CobaltExtensionGraphicsApi::GetMinimumFrameIntervalInMilliseconds API. The default value has been moved into cobalt/renderer/pipeline.cc.

The default value is '-1'.
cobalt_platform_dependencies

List of platform-specific targets that get compiled into cobalt.

The default value is [].
cobalt_splash_screen_file

The path to a splash screen to copy into content/data/web which can be accessed via a file URL starting with “file:///cobalt/browser/splash_screen/”. If '', no file is copied.

The default value is ''.
cobalt_user_on_exit_strategy

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltUserOnExitStrategy instead. This variable defines what Cobalt's preferred strategy should be for handling internally triggered application exit requests (e.g. the user chooses to back out of the application).stop - The application should call SbSystemRequestStop() on exit, resulting in a complete shutdown of the application.suspend - The application should call SbSystemRequestSuspend() on exit, resulting in the application being “minimized”.noexit - The application should never allow the user to trigger an exit, this will be managed by the system.

The default value is ''.
cobalt_v8_emit_builtins_as_inline_asm

Some compiler can not compile with raw assembly(.S files) and v8 converts asm to inline assembly for these platforms.

The default value is 0.
cobalt_version

Build version number.

The default value is '<(BUILD_NUMBER)'.
cobalt_webapi_extension_generated_header_idl_files

We need to define some variables inside of an inner ‘variables’ scope so that they can be referenced by other outer variables here. Also, it allows for the specification of default values that get referenced by a top level scope.

The default value is [].
cobalt_webapi_extension_source_idl_files

We need to define some variables inside of an inner ‘variables’ scope so that they can be referenced by other outer variables here. Also, it allows for the specification of default values that get referenced by a top level scope.

The default value is [].
compiler_flags_<config>

The following configurations are supported: [default]c_debugc_develc_goldc_gold_sizec_gold_speedc_hostc_qac_qa_sizec_qa_speedcc_debugcc_develcc_goldcc_gold_sizecc_gold_speedcc_hostcc_qacc_qa_sizecc_qa_speeddebugdevelgoldgold_sizegold_speedhostqaqa_sizeqa_speed
default_renderer_options_dependency

Override this value to adjust the default rasterizer setting for your platform.

The default value is '<(DEPTH)/cobalt/renderer/default_options_starboard.gyp:default_options'.
defines_debug

and linker_executable_flags_(config) to distinguish the flags for SharedLibraryLinker and ExecutableLinker.

The default value is [].
defines_devel

The default value is [].
defines_gold

The default value is [].
defines_host

The default value is [].
defines_qa

For qa and gold configs, different compiler flags may be specified for gyp targets that should be built for size than for speed. Targets which specify ‘optimize_target_for_speed == 1’, will compile with flags: [‘compiler_flags_*’, ‘compiler_flags_*_speed’]. Otherwise, targets will use compiler flags: [‘compiler_flags_*’, ‘compiler_flags_*_size’]. Platforms may decide to use the same optimization flags for both target types by leaving the ‘*_size’ and ‘*_speed’ variables empty.

The default value is [].
disable_v8_pointer_compression

In cross-compiling for modules like V8, we need a gyp flag to tell that Cobalt is being compiled by MSVC and certain MSVC options should be specified. This is needed even with ‘msvs_settings’ since the later is not used by platforms that only uses MSVC for host build.

The default value is 0.
enable_account_manager

Set to 1 to enable H5vccAccountManager.

The default value is 0.
enable_configure_request_job_factory

Set to 1 to enable setting Interceptors on the URLRequestJobFactory

The default value is 0.
enable_crash_log

Set to 1 to enable H5vccCrashLog.

The default value is 1.
enable_map_to_mesh

Enable support for the map to mesh filter, which is primarily used to implement spherical video playback. This setting is deprecated in favor of the cobalt graphics extension (CobaltGraphicsExtensionApi) function IsMapToMeshEnabled(). If the CobaltGraphicsExtensionApi is not implemented, then Cobalt will fall back onto a default. For starboard API versions 12 and later, the default is true (i.e. Cobalt will assume map to mesh is supported). For earlier starboard API versions, if this gyp variable is redefined to a value other than -1, it will use the new value as the default. If it is not redefined, the default is false.

The default value is -1.
enable_sso

Set to 1 to enable H5vccSSO (Single Sign On).

The default value is 0.
enable_xhr_header_filtering

Set to 1 to enable filtering of HTTP headers before sending.

The default value is 0.
encoded_image_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltEncodedImageCacheSizeInBytes instead. Determines the capacity of the encoded image cache, which manages encoded images downloaded from a web page. These images are cached within CPU memory. This not only reduces network traffic to download the encoded images, but also allows the downloaded images to be held during suspend. Note that there is also a cache for the decoded images whose capacity is specified in
fallback_splash_screen_url

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltFallbackSplashScreenUrl instead. The URL of default build time splash screen - see cobalt/doc/splash_screen.md for information about this.

The default value is ''.
final_executable_type

The variables allow changing the target type on platforms where the native code may require an additional packaging step (ex. Android).

The default value is 'executable'.
gl_type

The source of EGL and GLES headers and libraries. Valid values (case and everything sensitive!):none - No EGL + GLES implementation is available on this platform.system_gles3 - Deprecated. Use system_gles2 instead. Use the system implementation of EGL + GLES3. The headers and libraries must be on the system include and link paths.system_gles2 - Use the system implementation of EGL + GLES2. The headers and libraries must be on the system include and link paths.glimp - Cobalt's own EGL + GLES2 implementation. This requires a valid Glimp implementation for the platform.angle - A DirectX-to-OpenGL adaptation layer. This requires a valid ANGLE implementation for the platform. Choosing an unsupported value will result in a GYP error: “cobalt/renderer/egl_and_gles/egl_and_gles_<gl_type>.gyp not found”

The default value is 'system_gles2'.
gtest_target_type

The variables allow changing the target type on platforms where the native code may require an additional packaging step (ex. Android).

The default value is 'executable'.
host_executable_suffix

In cross-compiling for modules like V8, we need a gyp flag to tell that Cobalt is being compiled by MSVC and certain MSVC options should be specified. This is needed even with ‘msvs_settings’ since the later is not used by platforms that only uses MSVC for host build.

The default value is '<(EXECUTABLE_SUFFIX)'.
host_os

Contains the name of the hosting OS. The value is defined by the gyp wrapper script.

The default value is 'win'.
image_cache_capacity_multiplier_when_playing_video

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltImageCacheCapactityMultiplierWhenPlayingVideo. Modifying this value to be non-1.0f will result in the image cache capacity being cleared and then temporarily reduced for the duration that a video is playing. This can be useful for some platforms if they are particularly constrained for (GPU) memory during video playback. When playing a video, the image cache is reduced to: image_cache_size_in_bytes * image_cache_capacity_multiplier_when_playing_video.

The default value is ''.
image_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltImageCacheSizeInBytes instead. Determines the capacity of the image cache, which manages image surfaces downloaded from a web page. While it depends on the platform, often (and ideally) these images are cached within GPU memory. Set to -1 to automatically calculate the value at runtime, based on features like windows dimensions and the value of SbSystemGetTotalGPUMemory().

The default value is -1.
in_app_dial

Set to 1 to build with DIAL support.

The default value is 0.
linker_flags_<config>

The following configurations are supported: [default]debugdevelgoldhostqa
local_font_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltLocalTypeFaceCacheSizeInBytes instead. Determines the capacity of the local font cache, which manages all fonts loaded from local files. Newly encountered sections of font files are lazily loaded into the cache, enabling subsequent requests to the same file sections to be handled via direct memory access. Once the limit is reached, further requests are handled via file stream. Setting the value to 0 disables memory caching and causes all font file accesses to be done using file streams.

The default value is -1.
max_cobalt_cpu_usage

Max Cobalt CPU usage specifies that the cobalt program should keep it's size below the specified size. This setting is deprecated. Implement starboard API function SbSystemGetTotalCPUMemory() instead.

The default value is -1.
max_cobalt_gpu_usage

Max Cobalt GPU usage specifies that the cobalt program should keep it's size below the specified size. This setting is deprecated. Implement starboard API function SbSystemGetTotalGPUMemory() instead.

The default value is -1.
mesh_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltMeshCacheSizeInBytes instead. Determines the capacity of the mesh cache. Each mesh is held compressed in main memory, to be inflated into a GPU buffer when needed for projection. When set to ‘auto’, will be adjusted according to whether the enable_map_to_mesh is true or not. If enable_map_to_mesh is false, then the mesh cache size will be set to 0.

The default value is -1.
offscreen_target_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltOffscreenTargetCacheSizeInBytes instead. Determines the amount of GPU memory the offscreen target atlases will use. This is specific to the direct-GLES rasterizer and caches any render tree nodes which require skia for rendering. Two atlases will be allocated from this memory or multiple atlases of the frame size if the limit allows. It is recommended that enough memory be reserved for two RGBA atlases about a quarter of the frame size.

The default value is -1.
optimize_target_for_speed

This variable dictates whether a given gyp target should be compiled with optimization flags for size vs. speed.

The default value is 0.
path_to_yasm

Where yasm can be found on the target device.

The default value is "yasm".
platform_libraries

The default value is [].
rasterizer_type

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltRasterizerType instead. Defines what kind of rasterizer will be used. This can be adjusted to force a stub graphics implementation. It can be one of the following options:direct-gles - Uses a light wrapper over OpenGL ES to handle most draw elements. This will fall back to the skia hardware rasterizer for some render tree node types, but is generally faster on the CPU and GPU. This can handle 360 rendering.hardware - As much hardware acceleration of graphics commands as possible. This uses skia to wrap OpenGL ES commands. Required for 360 rendering.stub - Stub graphics rasterization. A rasterizer object will still be available and valid, but it will do nothing.

The default value is ''.
reduce_cpu_memory_by

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltReduceCpuMemoryBy instead. When specified this value will reduce the cpu memory consumption by the specified amount. -1 disables the value. When this value is specified then max_cobalt_cpu_usage will not be used in memory_constrainer, but will still be used for triggering a warning if the engine consumes more memory than this value specifies.

The default value is -1.
reduce_gpu_memory_by

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltReduceGpuMemoryBy instead. When specified this value will reduce the gpu memory consumption by the specified amount. -1 disables the value. When this value is specified then max_cobalt_gpu_usage will not be used in memory_constrainer, but will still be used for triggering a warning if the engine consumes more memory than this value specifies.

The default value is -1.
remote_font_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltRemoteTypefaceCacheSizeInBytes instead. Determines the capacity of the remote font cache, which manages all fonts downloaded from a web page.

The default value is -1.
render_dirty_region_only

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltRenderDirtyRegionOnly instead. If set to 1, will enable support for rendering only the regions of the display that are modified due to animations, instead of re-rendering the entire scene each frame. This feature can reduce startup time where usually there is a small loading spinner animating on the screen. On GLES renderers, Cobalt will attempt to implement this support by using eglSurfaceAttrib(..., EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED), otherwise the dirty region will be silently disabled. On Blitter API platforms, if this is enabled, we explicitly create an extra offscreen full-size intermediate surface to render into. Note that some GLES driver implementations may internally allocate an extra full screen surface to support this feature, and many have been noticed to not properly support this functionality (but they report that they do), and for these reasons this value is defaulted to 0.

The default value is -1.
sb_api_version

The Starboard API version of the current build configuration. The default value is meant to be overridden by a Starboard ABI file.

The default value is 0.
sb_deploy_output_dir

Top-level directory for staging deploy build output. Platform deploy actions should use <(target_deploy_dir) defined in deploy.gypi to place artifacts for each deploy target in its own subdirectoy.

The default value is '<(sb_deploy_output_dir)'.
sb_disable_cpp17_audit

Disables an NPLB audit of C++17 support.

The default value is 0.
sb_disable_microphone_idl

When this is set to true, the web bindings for the microphone are disabled

The default value is 0.
sb_enable_benchmark

Used to enable benchmarks.

The default value is 0.
sb_enable_lib

Enables embedding Cobalt as a shared library within another app. This requires a ‘lib’ starboard implementation for the corresponding platform.

The default value is '<(sb_enable_lib)'.
sb_evergreen

Whether this is an evergreen build.

The default value is 0.
sb_evergreen_compatible

Whether this is an evergreen compatible platform. A compatible platform can run the elf_loader and launch the evergreen build.

The default value is '<(sb_evergreen_compatible)'.
sb_evergreen_compatible_libunwind

Whether to use the libunwind library on evergreen compatible platform.

The default value is '<(sb_evergreen_compatible_libunwind)'.
sb_evergreen_compatible_lite

Whether to adopt Evergreen Lite on the evergreen compatible platform.

The default value is '<(sb_evergreen_compatible_lite)'.
sb_filter_based_player

Used to indicate that the player is filter based.

The default value is 1.
sb_libevent_method

The event polling mechanism available on this platform to support libevent. Platforms may redefine to ‘poll’ if necessary. Other mechanisms, e.g. devpoll, kqueue, select, are not yet supported.

The default value is 'epoll'.
sb_pedantic_warnings

Enabling this variable enables pedantic levels of warnings for the current toolchain.

The default value is 0.
sb_static_contents_output_data_dir

Directory path to static contents' data.

The default value is '<(sb_static_contents_output_data_dir)'.
sb_target_platform

The target platform id as a string, like ‘linux-x64x11’, ‘win32’, etc..

The default value is ''.
skia_cache_size_in_bytes

Determines the capacity of the skia cache. The Skia cache is maintained within Skia and is used to cache the results of complicated effects such as shadows, so that Skia draw calls that are used repeatedly across frames can be cached into surfaces. This setting is only relevant when using the hardware-accelerated Skia rasterizer (e.g. as opposed to the Blitter API).

The default value is -1.
skia_glyph_atlas_height

Deprecated. Implement the CobaltExtensionConfigurationApi functions CobaltSkiaGlyphAtlasWidth and CobaltSkiaGlyphAtlasHeight, respectively. Determines the size in pixels of the glyph atlas where rendered glyphs are cached. The resulting memory usage is 2 bytes of GPU memory per pixel. When a value is used that is too small, thrashing may occur that will result in visible stutter. Such thrashing is more likely to occur when CJK language glyphs are rendered and when the size of the glyphs in pixels is larger, such as for higher resolution displays. The negative default values indicates to the engine that these settings should be automatically set.

The default value is '-1'.
skia_glyph_atlas_width

Deprecated. Implement the CobaltExtensionConfigurationApi functions CobaltSkiaGlyphAtlasWidth and CobaltSkiaGlyphAtlasHeight, respectively. Determines the size in pixels of the glyph atlas where rendered glyphs are cached. The resulting memory usage is 2 bytes of GPU memory per pixel. When a value is used that is too small, thrashing may occur that will result in visible stutter. Such thrashing is more likely to occur when CJK language glyphs are rendered and when the size of the glyphs in pixels is larger, such as for higher resolution displays. The negative default values indicates to the engine that these settings should be automatically set.

The default value is '-1'.
software_surface_cache_size_in_bytes

Deprecated. Implement the CobaltExtensionConfigurationApi function CobaltSoftwareSurfaceCacheSizeInBytes instead. Only relevant if you are using the Blitter API. Determines the capacity of the software surface cache, which is used to cache all surfaces that are rendered via a software rasterizer to avoid re-rendering them.

The default value is -1.
starboard_path

The relative path from src/ to the directory containing the starboard_platform.gyp file. It is currently set to ‘starboard/<(target_arch)’ to make semi-starboard platforms work. moved to starboard.

The default value is 'starboard/<(target_arch)'.
target_os

The operating system of the target, separate from the target_arch. In many cases, an ‘unknown’ value is fine, but, if set to ‘linux’, then we can assume some things, and it'll save us some configuration time.

The default value is 'unknown'.
tizen_os

Temporary indicator for Tizen - should eventually move to feature defines.

The default value is 0.
yasm_exists

Enables the yasm compiler to be used to compile .asm files.

The default value is 0.