| # Copyright 2022 The Fuchsia Authors. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Common workstation product configuration. This configuration is shared by the _eng, |
| # _userdebug, and _user build types. |
| |
| import("//products/core.gni") |
| core_realm_package_name = "core-workstation" |
| |
| core_realm_shards += [ |
| "//src/developer/build_info:build_info_core_shard", |
| "//src/developer/memory/monitor:memory_monitor_core_shard", |
| "//src/identity/bin/account:account-core-shard", |
| "//src/intl/intl_services:intl_services_shard", |
| "//src/media/audio/drivers/configurator:configurator_provider_shard", |
| "//src/power/battery-manager:battery-manager-core-shard", |
| "//src/session/bin/session_manager:workstation_core_shard", |
| "//src/ui:ui_core_shard", |
| ] |
| |
| legacy_base_package_labels += [ |
| "//src/developer/memory/buckets:workstation_memory_monitor_config", |
| "//src/fonts", |
| "//src/fonts:open-fonts-collection", |
| "//src/graphics/bin/vulkan_loader", |
| "//src/identity/bin:minimal_auth", |
| |
| # TODO(fxbug.dev/90430): Complete CFv2 migration and remove. |
| "//src/intl/intl_services/config:sysmgr", |
| "//src/intl/intl_services:pkg", |
| "//src/media/audio/bundles:services", |
| "//src/media/audio/drivers/configurator:package", |
| "//src/power:battery", |
| "//src/sys/activity", |
| "//src/ui:runtime_with_scene_manager", |
| "//src/ui/bin/brightness_manager", |
| "//src/ui/bin/screensaver", |
| "//src/ui/bin/text:text_manager", |
| "//src/ui/bin/shortcut", |
| "//third_party/openssh-portable:openssh-tools", |
| ] |
| legacy_base_package_labels -= [ |
| # TODO(fxbug.dev/90430): Complete CFv2 migration and remove. |
| "//src/intl/intl_services/config:sysmgr_small", |
| ] |
| core_realm_shards -= [ "//src/intl/intl_services:intl_services_small_shard" ] |
| |
| # Add Linux runner |
| legacy_base_package_labels += [ |
| "//src/ui/wayland/bin/bridge", |
| "//src/virtualization/bin/vmm", |
| "//src/virtualization/bin/guest_manager:termina_guest_manager", |
| "//src/virtualization/bin/linux_runner", |
| "//src/virtualization/packages/termina_guest", |
| "//src/virtualization/bin/guest", |
| ] |
| core_realm_shards += [ "//src/ui/wayland/bin/bridge:core_shard" ] |
| |
| # Add Bluetooth packages |
| core_realm_shards += |
| [ "//src/connectivity/bluetooth/profiles/bt-a2dp:eager_core_shard" ] |
| |
| # To use the eager shard, cache the packages so they are available before network. |
| legacy_cache_package_labels += [ |
| "//src/connectivity/bluetooth/profiles/bt-a2dp:source-only", |
| "//src/connectivity/bluetooth/profiles/bt-avrcp-target", |
| "//src/connectivity/bluetooth/profiles/bt-avrcp", |
| |
| # TODO(fxbug.dev/79542): Demote to universe when sysui handles pairing+connecting |
| "//src/connectivity/bluetooth/tools/bt-cli", |
| "//src/connectivity/bluetooth/tools/bt-pairing-tool", |
| |
| "//src/chromium:chrome_browser", |
| ] |
| |
| # Explicitly prefer wired networking on workstation |
| legacy_base_package_labels -= |
| [ "//src/connectivity/network/netcfg:config-default" ] |
| legacy_base_package_labels += |
| [ "//src/connectivity/network/netcfg:config-prefer-wired" ] |
| |
| # This package is only used for tests, so it must stay out of non-eng workstation products. |
| legacy_base_package_labels -= |
| [ "//src/connectivity/network:network-legacy-deprecated" ] |
| |
| legacy_base_package_labels += [ |
| "//src/experiences/bin/settings/license:license_settings", |
| "//src/experiences/session_shells/ermine", |
| "//src/media/playback/bundles:services", |
| "//src/media/playback/bundles:audio_consumer_config", |
| "//src/session", |
| "//src/ui/bin/terminal", |
| "//src/ui/scenic", |
| "//examples/fortune:fortune_teller", |
| |
| # Starnix |
| "//src/proc/bundles:starnix", |
| ] |
| |
| product_bootfs_labels += [ |
| # hide the virtual console on boot |
| "//products/kernel_cmdline:virtcon.hide-on-boot", |
| |
| # enable boot animation |
| "//products/kernel_cmdline:virtcon.boot-animation--true", |
| |
| # enable DPI based scale factors, 1.25x above 160 DPI, 2x above 240, etc. |
| "//products/kernel_cmdline:virtcon.dpi--160-240-360-480", |
| |
| # enable double buffered output |
| "//products/kernel_cmdline:virtcon.buffer-count--2", |
| ] |
| |
| # Add bold and italic Virtcon fonts. |
| virtcon_bold_font_path = |
| "//prebuilt/third_party/fonts/robotomono/RobotoMono-Bold.ttf" |
| virtcon_italic_font_path = |
| "//prebuilt/third_party/fonts/robotomono/RobotoMono-Italic.ttf" |
| virtcon_bold_italic_font_path = |
| "//prebuilt/third_party/fonts/robotomono/RobotoMono-BoldItalic.ttf" |
| |
| # Include Fxfs in the build so that it's available for enablement at runtime. |
| product_bootfs_labels += [ |
| "//src/storage/fxfs", |
| "//src/storage/fxfs-crypt", |
| ] |
| |
| # USB peripheral drivers are not necessary for workstation. |
| product_bootfs_labels += [ "//bundles/drivers:usb-peripheral-stack" ] |
| product_bootfs_labels -= [ "//bundles/drivers:usb-peripheral-stack" ] |
| |
| # Shards for media. |
| core_realm_shards += [ |
| "//src/media/codec:codec_factory_shard", |
| "//src/media/audio/audio_core:core_shard", |
| ] |
| |
| # Enable input injection for testing through `fuchsia.input.injection.InputDeviceRegistry`. |
| use_modern_input_injection = true |
| |
| # Create an additional (initially empty) account partition in FVM to enable |
| # user data protection. |
| include_account_in_fvm = true |
| |
| # Use Flatland as the default graphics protocol in Scenic. |
| use_flatland_by_default = true |
| |
| data_filesystem_format = "fxfs" |