Fixing memory leak after running test to make it so asan doesn't
complain

Change-Id: I6c7c0f2744e0dd9522c908a547ec314c5e80c8a8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/croscomp/+/3805799
Reviewed-by: John Plate <jplate@google.com>
Auto-Submit: Lucas Berthou <berlu@chromium.org>
Tested-by: Lucas Berthou <berlu@chromium.org>
Commit-Queue: John Plate <jplate@google.com>
1 file changed
tree: c105466ef8b208dd9423dadac8bd259acf87ede3
  1. bindgen/
  2. protocol/
  3. scripts/
  4. src/
  5. third_party/
  6. wayland-server/
  7. weston/
  8. .gitignore
  9. build.rs
  10. Cargo.toml
  11. croscomp-terminal
  12. croscomp.conf
  13. do-build.sh
  14. LICENSE
  15. OWNERS
  16. README.md
  17. rustfmt.toml
README.md

croscomp

Compositor for ChromeOS

Building

Build using portage

$ mkdir ~/trunk/src/third_party/chromiumos-overlay/chromeos-base/croscomp

$ ln -s  ../../../../platform/croscomp/croscomp-9999.ebuild \
	~/trunk/src/third_party/chromiumos-overlay/chromeos-base/croscomp

$ emerge-$BOARD croscomp

Building in the CrOS SDK

$ export BOARD=strongbad

$ setup_board --board=$BOARD

C deps:

$ emerge-$BOARD libxkbcommon wayland pixman libdrm mtdev wayland-protocols cairo mesa-freedreno minigbm lcms pango opengles-headers

Rust deps:

$ emerge-$BOARD bitflags bindgen libloading nix smallvec xml-rs downcast-rs parking_lot_core lock_api owning_ref parking_lot scoped-tls pkg-config

$ ./do-build.sh

$ cros deploy $DUT mtdev

Troubleshooting

You may need to specify which mtdev to deploy

$ cros deploy $DUT sys-libs/mtdev

If croscomp doesn't run smoothly you can get more logs with: $ export WAYLAND_DEBUG=1 RUST_BACKTRACE=1 RUST_LOG=debug

Croscomp may be missing libinput that may require libevdev

$ cros deploy $DUT dev-libs/libevdev
$ cros deploy $DUT libinput

Running chrome under croscomp

Using the CLs from

https://chromium-review.googlesource.com/c/chromium/src/+/3272706,

build and deploy chrome to the device. You need

target_os = ["chromeos"]
ozone_platform_wayland = "true"
ozone_platform = "wayland"
use_wayland_egl = "false"
use_wayland_gbm = "true"

in the gn args and then

$ ninja -C out_$BOARD/Relase chrome

followed by

$ deploy_chrome --build-dir=out_$BOARD/Release --device=$DUT --nostartui

Make sure both ui and frecon are not running, then start croscomp remotely on the device and use scripts/start-chrome.sh to start the chrome login screen on croscomp.