You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi! We are pleased to inform you that Enso has undergone a recent update that introduces new command-line options. Please note that this update constitutes a breaking change, and it will be necessary to adjust the usage of the existing flags accordingly. It is worth emphasizing, however, that all of the previous options remain available; they have simply been reorganized and renamed for clarity and ease of use. A complete listing of the common options can be obtained by invoking Enso --help, while a comprehensive list of all options is available by running Enso --help-extended. For your convenience, we have included a list of the options below:
Top Level Options
General application switches. For fine-grained control, see the available option groups.
Option
Description
Default value
-help
Display the common configuration options help page.
false
-help-extended
Show all the configuration options help page, including the less-common options.
false
-version
Print the version.
false
Loader Options
Options for the application loader, which downloads assets, compiles WASM code, and runs entry points.
Option
Description
Default value
-loader.download-to-init-ratio
The ratio of time needed for WASM download to the total time, including WASM app initialization. For small WASM apps, this can be set to 1.0. For larger apps, it is desirable to show the progress bar up to 70% and leave the last 30% for WASM app init.
1
-loader.js-url
The URL of the JS pkg file generated by ensogl-pack.
pkg.js
-loader.shaders-url
The URL of pre-compiled the shaders directory.
shaders
-loader.spinner
Controls the visibility of the visual loader while downloading and compiling WASM sources.
true
-loader.wasm-url
The URL of the WASM pkg file generated by ensogl-pack.
pkg.wasm
Startup Options
Options for controlling the application behavior at startup, such as selecting the entry point to run.
Option
Description
Default value
-startup.entry
The application entry point. Most entry points are debug utilities for testing graphical interface components. Use '_' to list available entry points.
ide
-startup.max-before-main-time-ms
The maximum time in milliseconds before the main entry points are allowed to run. After this time, an error will be printed, but execution will continue.
300
-startup.platform
The host platform on which the application is running. This is used to adjust some user interface elements. For example, on macOS, the window close buttons are integrated into the top application panel.
web if run in the browser, operating system name otherwise
-startup.project
The name of the project to open at startup. If the project does not exist, it will be created.
Style Options
The available visual and tactile configurations of the application.
Option
Description
Default value
-style.node-labels
Determines whether node labels should be visible
true
Feature Preview Options
Options that enable experimental features that are not yet stable.
Option
Description
Default value
-feature-preview.new-component-browser
Indicates whether the new component browser should be enabled.
true
-feature-preview.skip-and-freeze
Enable possibility to skip and freeze nodes.
false
-feature-preview.theme
Color theme.
light
Window Options
The visual and tactile configurations of the application window.
Option
Description
Default Value
-window
Display the window. When set to false, only the server runs. An alternative client or browser can connect to it.
true
-window.close-to-quit
Determine whether the app should quit when the window is closed. If set to false, the window will be hidden after pressing the close button. You can bring the window back by pressing the app dock icon.
false on MacOS, true otherwise
-window.frame
Draw window frame.
false on MacOS, true otherwise
-window.size
Set the initial window size.
1380x900
-window.vibrancy
Enable the vibrancy effect.
false
Server Options
The configuration settings for the server utilized in delivering web application to either Electron or a browser
window.
Option
Description
Default value
-server
Run the server. When set to false, connect to an existing server on the provided port.
true
-server.port
Port to use. If the port is unavailable, the next available port is used.
8080
Engine Options
Options that control the Enso Engine, the data processing backend.
The address of the Language Server Data endpoint. This argument should be provided together with rpcUrl, namespace, and project options. They enable Enso to connect directly to an already-spawned Language Server of some project.
-engine.namespace
The namespace of the opened project. It can be used when connecting to an existing Language Server process.
local
-engine.preferred-version
The preferred engine version.
current version
-engine.project-manager-path
Set the path of a local project manager executable to use for running projects.
path to bundled executable
-engine.project-manager-url
The address of the Project Manager service.
-engine.rpc-url
The address of the Language Server RPC endpoint. This argument should be provided together with dataUrl, namespace, and project options. They enable Enso to connect directly to an already-spawned Language Server of some project.
-engine.skip-min-version-check
Determines whether the minimum engine version check should be performed.
true in local builds, false otherwise
Performance Options
Performance-related configuration options.
Option
Description
Default Value
-performance.angle-backend
Choose the graphics backend for ANGLE (graphics engine abstraction layer). The OpenGL backend is soon to be deprecated on Mac, and may contain driver bugs that are not planned to be fixed. The Metal backend is still experimental, and may contain bugs that are still being worked on. However, the 'metal' backend is less performant than the 'default' one on M1 and M2 Macs, so it is disabled for now.
default
-performance.background-throttling
Throttle animations when run in background.
true
-performance.disable-gpu-sandbox
Disable the GPU process sandbox. It should be noted that on certain hardware configurations, the utilization of GPU sandboxing may result in WebGL crashes. Despite Google's discouragement of this option, it is considered safe for use in this specific instance, as the browser is dedicated solely to the display of Enso, which has unrestricted access to all files and system settings on the user's machine.
true
-performance.disable-gpu-vsync
Disable the GPU Vertical Synchronization (VSync). This feature synchronizes the refresh rate and frame rate of the monitor to ensure optimal picture quality, particularly in gaming scenarios. However, in applications that heavily rely on a graphical user interface, the utilization of VSync is not deemed essential. By disabling this feature, performance may be improved on hardware configurations with limited capabilities. In addition, disabling VSync also has the potential to reduce rendering latency. For a comprehensive understanding of this aspect, please refer to this thread: https://bugs.chromium.org/p/chromium/issues/detail?id=460919.
true
-performance.disable-sandbox
Disable the sandbox feature for all process types that are typically subjected to sandboxing. This option serves as a browser-level switch solely for testing purposes. Although Google discourages the use of this option, it is deemed safe for use in this particular instance as the browser is exclusively designed to display Enso, which already has unrestricted access to all files and system settings on the user's machine. This modification has been known to result in correct app behavior on certain systems, as demonstrated in this example: #3801.
true
-performance.disable-smooth-scrolling
Disable smooth scrolling feature. This modification has the potential to reduce latency experienced with input devices. For further elaboration, please refer to this thread: https://news.ycombinator.com/item?id=28782493.
true
-performance.enable-native-gpu-memory-buffers
Enable native CPU-mappable GPU memory buffer support on Linux.
true
-performance.force-high-performance-gpu
Force using discrete GPU when there are multiple GPUs available.
true
-performance.ignore-gpu-blocklist
Override the list of blocked GPU hardware, allowing for GPU acceleration on system configurations that do not inherently support it. It should be noted that some hardware configurations may have driver issues that could result in rendering discrepancies. Despite this, the utilization of GPU acceleration has the potential to significantly enhance the performance of the application in our specific use cases. This behavior can be observed in the following example: https://groups.google.com/a/chromium.org/g
true
Debug Options
Options allowing checking for diagnosing application errors.
Option
Description
Default Value
-debug
Controls the debug mode for the application. In this mode, all logs are printed to the console, and EnsoGL extensions are loaded. Otherwise, logs are hidden unless explicitly shown with showLogs.
false
-debug.dev-tools
Run the application in development mode.
false
-debug.enable-spector
Enables SpectorJS. This is a temporary flag to test Spector. It will be removed after all Spector integration issues are resolved. See: BabylonJS/Spector.js#252.
false
-debug.info
Print the system debug information. It is recommended to copy the output of this command when submitting a report regarding any bugs encountered.
false
-debug.verbose
Increase logs verbosity. Affects both IDE and the backend.
false
Profile Options
Options for diagnosing application performance problems.
Option
Description
Default Value
-profile.emit-user-timing-measurements
When enabled, profiling measurements will be submitted continuously to the User Timing Web API, which can be viewed using standard developer tools. Note that this mode significantly affects performance.
false
-profile.load-profile
Load a performance profile. For use with developer tools such as the profiling-run-graph entry point.
-profile.save-profile
Record a performance profile and save it to a file. To view the results, use the profiling-run-graph entry point, such as enso -startup.entry=profiling-run-graph -profile.load-profile=profile.json.
-profile.workflow
Specify a workflow for profiling. A workflow is a script of automated actions, such as adding nodes or opening visualizations. To view the list of available workflows, use -profile.workflow=help. This option must be used with -startup.entry=profile.
Authentication Options
Options to manage application authentication properties.
Option
Description
Default Value
-authentication
Determines whether user authentication is enabled.
true
-authentication.email
The user email, if any.
Data Collection Options
Controls the collection of anonymous usage data.
Option
Description
Default Value
-data-collection
Determines whether anonymous usage data is to be collected.
true
-data-collection.crash-reports
Determines whether anonymous crash reports are to be collected.
-data-collection.usage-statistics
Determines whether anonymous usage statistics are to be collected.
true
Chrome Options
Chrome and Electron command line options. Please be advised that the provided list contains both Electron-specific
options as well as a selection of Chrome command line options that are officially supported by Electron
(https://www.electronjs.org/docs/latest/api/command-line-switches). It is important to note that not all Chrome
switches may be compatible with Electron. For example, the switch '-chrome.crash-test' is not functional in the
Electron environment. For a comprehensive collection of Chrome options, you may refer to https://peter.sh/experiments/chromium-command-line-switches.
WARNING: Neither the option names nor values undergo validation by Chrome due to the lack of an option validation
API. This may result in the acceptance of invalid options, which will be silently ignored. To verify the successful
passing of options to Chrome, the use of '-chrome.disable-gpu' can be employed as a diagnostic measure, effectively
preventing the display of WebGL canvas.
As there are many Chrome options, they were skipped in this document.
-toolingCategory: tooling--breakingImportant: a change that will break a public API or user-facing behaviour
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi! We are pleased to inform you that Enso has undergone a recent update that introduces new command-line options. Please note that this update constitutes a breaking change, and it will be necessary to adjust the usage of the existing flags accordingly. It is worth emphasizing, however, that all of the previous options remain available; they have simply been reorganized and renamed for clarity and ease of use. A complete listing of the common options can be obtained by invoking
Enso --help
, while a comprehensive list of all options is available by runningEnso --help-extended
. For your convenience, we have included a list of the options below:Top Level Options
General application switches. For fine-grained control, see the available option groups.
-help
false
-help-extended
false
-version
false
Loader Options
Options for the application loader, which downloads assets, compiles WASM code, and runs entry points.
-loader.download-to-init-ratio
1.0
. For larger apps, it is desirable to show the progress bar up to70%
and leave the last30%
for WASM app init.1
-loader.js-url
ensogl-pack
.pkg.js
-loader.shaders-url
shaders
-loader.spinner
true
-loader.wasm-url
ensogl-pack
.pkg.wasm
Startup Options
Options for controlling the application behavior at startup, such as selecting the entry point to run.
-startup.entry
'_'
to list available entry points.ide
-startup.max-before-main-time-ms
300
-startup.platform
web
if run in the browser, operating system name otherwise-startup.project
Style Options
The available visual and tactile configurations of the application.
-style.node-labels
true
Feature Preview Options
Options that enable experimental features that are not yet stable.
-feature-preview.new-component-browser
true
-feature-preview.skip-and-freeze
false
-feature-preview.theme
light
Window Options
The visual and tactile configurations of the application window.
-window
true
-window.close-to-quit
false
on MacOS,true
otherwise-window.frame
false
on MacOS,true
otherwise-window.size
1380x900
-window.vibrancy
false
Server Options
The configuration settings for the server utilized in delivering web application to either Electron or a browser
window.
-server
false
, connect to an existing server on the provided port.true
-server.port
8080
Engine Options
Options that control the Enso Engine, the data processing backend.
-engine
-engine.config-url
https://raw.githubusercontent.com/enso-org/ide/develop/config.json
-engine.data-url
rpcUrl
,namespace
, andproject
options. They enable Enso to connect directly to an already-spawned Language Server of some project.-engine.namespace
local
-engine.preferred-version
-engine.project-manager-path
-engine.project-manager-url
-engine.rpc-url
dataUrl
,namespace
, andproject
options. They enable Enso to connect directly to an already-spawned Language Server of some project.-engine.skip-min-version-check
true
in local builds,false
otherwisePerformance Options
Performance-related configuration options.
-performance.angle-backend
default
-performance.background-throttling
true
-performance.disable-gpu-sandbox
true
-performance.disable-gpu-vsync
true
-performance.disable-sandbox
true
-performance.disable-smooth-scrolling
true
-performance.enable-native-gpu-memory-buffers
true
-performance.force-high-performance-gpu
true
-performance.ignore-gpu-blocklist
true
Debug Options
Options allowing checking for diagnosing application errors.
-debug
showLogs
.false
-debug.dev-tools
false
-debug.enable-spector
false
-debug.info
false
-debug.verbose
false
Profile Options
Options for diagnosing application performance problems.
-profile.emit-user-timing-measurements
User Timing Web API
, which can be viewed using standard developer tools. Note that this mode significantly affects performance.false
-profile.load-profile
profiling-run-graph
entry point.-profile.save-profile
profiling-run-graph
entry point, such asenso -startup.entry=profiling-run-graph -profile.load-profile=profile.json
.-profile.workflow
-profile.workflow=help
. This option must be used with-startup.entry=profile
.Authentication Options
Options to manage application authentication properties.
-authentication
true
-authentication.email
Data Collection Options
Controls the collection of anonymous usage data.
-data-collection
true
-data-collection.crash-reports
-data-collection.usage-statistics
true
Chrome Options
Chrome and Electron command line options. Please be advised that the provided list contains both Electron-specific
options as well as a selection of Chrome command line options that are officially supported by Electron
(https://www.electronjs.org/docs/latest/api/command-line-switches). It is important to note that not all Chrome
switches may be compatible with Electron. For example, the switch '-chrome.crash-test' is not functional in the
Electron environment. For a comprehensive collection of Chrome options, you may refer to
https://peter.sh/experiments/chromium-command-line-switches.
WARNING: Neither the option names nor values undergo validation by Chrome due to the lack of an option validation
API. This may result in the acceptance of invalid options, which will be silently ignored. To verify the successful
passing of options to Chrome, the use of '-chrome.disable-gpu' can be employed as a diagnostic measure, effectively
preventing the display of WebGL canvas.
As there are many Chrome options, they were skipped in this document.
Beta Was this translation helpful? Give feedback.
All reactions