Update to SDK changes

- Uses fdf instead of driver as the driver framework namespace
- Drivers take in an fdf::UnownedSynchronizedDispatcher instead of a
  fdf::SynchronizedDispatcher
- Drivers are now placed into 'driver/" in a package, the CML files are
  updated to reflect this.

Rolls the latest fuchsia-infra-bazel-rules and sdk-integration

Change-Id: I42143ebaa1d3c6352b5d4652c81c17a77ebc3f06
Reviewed-on: https://fuchsia-review.googlesource.com/c/drivers/misc/google/backlight/+/788452
Fuchsia-Auto-Submit: Renato Mangini Dias <mangini@google.com>
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
5 files changed
tree: 39e13711e0e4dbe9556bd25d51f9519ddb6362ff
  1. driver/
  2. scripts/
  3. third_party/
  4. tools/
  5. .bazelrc
  6. .clang-format
  7. .gitignore
  8. .gitmodules
  9. AUTHORS
  10. CONTRIBUTING.md
  11. LICENSE
  12. OWNERS
  13. PATENTS
  14. README.md
  15. WORKSPACE.bazel
README.md

Pixelbook Go Backlight driver

This repository contains instructions and source code to build, package and run the Fuchsia backlight driver that is used in the workstation_eng.chromebook-x64-dfv2 product.

Requirements

  1. Make sure this repository has the required submodules:

    git submodule update --recursive --init
    
  2. Run the bootstrap script that downloads the appropriate Bazel binary:

    scripts/bootstrap.sh
    
  3. Ensure that there are Fuchsia SSH keys in your host machine. You will need them for running the Fuchsia emulator.

     [[ -f "${HOME}/.ssh/fuchsia_ed25519" ]] || ssh-keygen -P "" -t ed25519 -f "${HOME}/.ssh/fuchsia_ed25519" -C "${USER}@$(hostname -f) Shared SSH Key for Fuchsia"
     [[ -f "${HOME}/.ssh/fuchsia_authorized_keys" ]] || ssh-keygen -y -f "${HOME}/.ssh/fuchsia_ed25519" > "${HOME}/.ssh/fuchsia_authorized_keys"
    

Build, run and test the samples

The repository is ready to build the samples.

Note: in order to use an SDK produced by a local Fuchsia platform tree, you can set an environment variable named LOCAL_FUCHSIA_PLATFORM_BUILD as described in https://fuchsia.googlesource.com/sdk-integration/+/refs/heads/main/using_local_sdk.md

  1. Fetch the system images

    tools/ffx product-bundle get workstation_eng.chromebook-x64-dfv2 --repository workstation
    
  2. Prepare and connect the Pixelbook Go, by flashing and/or paving it (not covered here), and connect using Ethernet.

  3. The product bundle comes with on-demand packages in a separate repository.

    Use the following command to register it with the device:

    tools/ffx target repository register -r workstation --alias fuchsia.com
    
  4. Update (OTA) the device to the version of the SDK:

    tools/ffx target update check-now --monitor
    
  5. (optional) watch the device log in a separate window

    tools/ffx log
    
  6. Load the driver

    Now you are ready to register the driver.

    First, let's confirm that the driver is not loaded:

    tools/ffx driver list | grep backlight
    

    The command above should not return any driver because it has not been registered.

    Now register the driver:

    tools/bazel run --config=fuchsia_x64 driver:pkg.component
    

    The driver now should show in the list of loaded drivers:

    tools/ffx driver list | grep backlight
    fuchsia-pkg://bazel.pkg.component/backlight_driver#meta/backlight_driver.cm