Chromium Code Reviews| Index: blimp/docs/running.md |
| diff --git a/blimp/docs/running.md b/blimp/docs/running.md |
| index 97c6f061d8b373c5f22c9f71c858bdd570af71d8..011926898c783414363eabce388189ecadafcb75 100644 |
| --- a/blimp/docs/running.md |
| +++ b/blimp/docs/running.md |
| @@ -1,11 +1,47 @@ |
| # Running Blimp |
| +[TOC] |
| See [build](build.md) for instructions on how to build Blimp. |
| -## Running the client |
| +## Android Client |
| -There are both Android and Linux clients. The Android client is the shipping |
| -client while the Linux client is used for development purposes. |
| +### Installing the client |
| + |
| +Install the Blimp APK with the following: |
| + |
| +```bash |
| +./build/android/adb_install_apk.py $(PRODUCT_DIR)/apks/Blimp.apk |
| +``` |
| + |
| +This is equivalent to just running: |
| + |
| +```bash |
| +adb install $(PRODUCT_DIR)/apks/Blimp.apk |
| +``` |
| + |
| +### Setting up command line flags |
| + |
| +Set up any command line flags with: |
| + |
| +```bash |
| +./build/android/adb_blimp_command_line --your-flag-here |
| +``` |
| + |
| +To see your current command line, run `adb_blimp_command_line` without any |
| +arguments. |
| + |
| +The Blimp client reads command line arguments from the file |
| +`/data/local/blimp-command-line` and the above script reads/writes that file. |
| +Typical format of the file is `chrome --your-flag-here`. So one can use `adb` |
| +directly to create the file: |
| + |
| +```bash |
| +echo 'chrome --engine-ip=10.0.2.2 --engine-port=25467 --engine-transport=tcp' \ |
| + '--blimp-client-token-path=/data/data/org.chromium.blimp/blimp_client_token' \ |
| + '--vmodule="*=1""' > /tmp/blimp-command-line |
| +adb push /tmp/blimp-command-line /data/local/blimp-command-line |
| +adb shell start chmod 0664 /data/local/blimp-command-line |
| +``` |
| ### Instructing client to connect to specific host |
| @@ -13,15 +49,16 @@ To have the client connect to a custom engine use the `--engine-ip`, |
| `--engine-port`, and `--engine-transport` flags. The possible valid |
| values for `--engine-transport` are 'tcp' and 'ssl'. |
| An example valid endpoint would be |
| -`--engine-ip=127.0.0.1 --engine-port=1234 --engine-transport=tcp`. |
| +`--engine-ip=127.0.0.1 --engine-port=25467 --engine-transport=tcp`. |
| SSL-encrypted connections take an additional flag |
| `--engine-cert-path` which specifies a path to a PEM-encoded certificate |
| -file (e.g. `--engine-cert-path=/path/to/file.pem`.) |
| +file (e.g. `--engine-cert-path=/path_on_device_to/file.pem`). Remember to also |
| +copy the file to the device when using this option. |
| ### Requesting the complete page from the engine |
| -The engine sends partially rendered content to the client. To request the complete |
| -page from the engine, use the `--download-whole-document` flag on the client. |
| +The engine sends partially rendered content to the client. To request the |
|
Kevin M
2016/06/29 20:23:58
Line is longer than >80 chars.
(Do we care about
Sriram
2016/06/30 19:00:12
Fixed just to be consistent.
|
| +complete page from the engine, use the `--download-whole-document` flag on the client. |
| ### Specifying the client auth token file |
| The client needs access to a file containing a client auth token. One should |
| @@ -40,47 +77,19 @@ To have the client use the given client auth token file, use the |
| An example of a client token file is |
| [test_client_token](https://code.google.com/p/chromium/codesearch#chromium/src/blimp/test/data/test_client_token). |
| -### Android Client |
| - |
| -Install the Blimp APK with the following: |
| - |
| -```bash |
| -./build/android/adb_install_apk.py $(PRODUCT_DIR)/apks/Blimp.apk |
| -``` |
| - |
| -Set up any command line flags with: |
| - |
| -```bash |
| -./build/android/adb_blimp_command_line --your-flag-here |
| -``` |
| - |
| -To see your current command line, run `adb_blimp_command_line` without any |
| -arguments. |
| - |
| +### Start the Client |
| Run the Blimp APK with: |
| ```bash |
| ./build/android/adb_run_blimp_client |
| ``` |
| - |
| -### Linux Client |
| - |
| -The blimp client is built as part of the `blimp` target. To run it with local |
| -logging enabled, execute: |
| +The script under the cover uses adb to start the application: |
|
Kevin M
2016/06/29 20:23:58
Do we need to duplicate the shell script contents?
Sriram
2016/06/30 19:00:12
adb_run_blimp_client has additional arguments that
|
| ```bash |
| -./out-linux/Debug/blimp_shell \ |
| - --user-data-dir=/tmp/blimpclient \ |
| - --enable-logging=stderr \ |
| - --vmodule="*=1" |
| +adb shell am start -a android.intent.action.VIEW -n org.chromium.blimp/org.chromium.blimp.BlimpRendererActivity |
| ``` |
| -## Running the engine |
| - |
| -### In a container |
| -For running the engine in a container, see [container](container.md). |
| - |
| -### On a workstation |
| +### Connecting to an Engine running on a workstation |
| To run the engine on a workstation and make your Android client connect to it, |
| you need to forward a port from the Android device to the host, and also |
| instruct the client to connect using that port on its localhost address. |
| @@ -105,7 +114,47 @@ also start a new shell and keep the following command running: |
| ./build/android/adb_reverse_forwarder.py --debug -v 25467 25467 |
| ``` |
| -### Required engine binary flags |
| +### Running the client in an Android emulator |
| +Running the client using an Android emulator is similar to running it on device. |
| +Here are a few gotchas: |
| + |
| +1. Build an APK matching the emulator cpu type. The emulator cpu type is most |
|
Kevin M
2016/06/29 20:23:58
Can you use bullet points instead of numbers then,
Sriram
2016/06/30 19:00:12
Done.
|
| + likely x86, while the default Android build cpu type is ARM. Follow the |
| + Android build instructions above to change the CPU type. |
| + |
| +2. Ensure that the emulator is running at least Android Marshmallow so that |
| + fonts are rendered correctly. Also ensure that you have the latest Play |
| + services binaries. |
| + |
| +3. Some of scripts under `build/android` will fail to run as it uses `adb scp`. |
| + Follow the instruction above to use `adb` directly. |
| + |
| +4. To connect to an Engine running on the host machine, you should use |
| + `10.0.2.2` as `engine-ip` instead of `127.0.0.1` as `127.0.0.1` will refer to |
| + the emulator itself. There is no need of set up |
| + [port forwarding](#Port-forwarding) when this approach is used. |
| + |
| +## Linux Client |
| + |
| +The Linux client is used for development purpose while the Android client is |
| +shipped. The Linux client is built as part of the `blimp` target. |
| +To run it with local logging enabled, execute: |
| + |
| +```bash |
| +./out-linux/Debug/blimp_shell \ |
| + --user-data-dir=/tmp/blimpclient \ |
| + --enable-logging=stderr \ |
| + --vmodule="*=1" |
| +``` |
| + |
| +## Running the engine |
| + |
| +### In a container |
| +For running the engine in a container, see [container](container.md). |
| + |
| +### On a workstation |
| +The following flags are required to start an Engine instance: |
| + |
| * `--blimp-client-token-path=$PATH`: Path to a file containing a nonempty |
| token string. If this is not present, the engine will fail to boot. |
| * `--use-remote-compositing`: Ensures that the renderer uses the remote |