The root cause of the oversized/clipped UI is TvFrameworkOverlay's config_maxUiWidth=1280 in the values-tvdpi resource bucket. With PRODUCT_AAPT_PREF_CONFIG=tvdpi, the device resolves this bucket and the 1280px cap is enforced, limiting the logical display to 1280x720 (which SurfaceFlinger then upscales to 1920x1080). The Raspberry Pi 5 ATV build (KonstaKANG) uses PRODUCT_AAPT_PREF_CONFIG=xhdpi and has no display sizing issues, because values-xhdpi has config_maxUiWidth=1920 (no effective cap on 1080p displays). Also adds a values-xhdpi/config.xml overlay with config_maxUiWidth=0 as defense-in-depth, matching the existing values-tvdpi override. Copyright (C) 2026 Brendan Szymanski <hello@bscubed.dev>
50 lines
1.5 KiB
Makefile
50 lines
1.5 KiB
Makefile
#
|
|
# Copyright (C) 2021-2023 KonstaKANG
|
|
# Copyright (C) 2025 Venkata Atchuta Bheemeswara Sarma Darbha
|
|
# Copyright (C) 2026 Brendan Szymanski <hello@bscubed.dev>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# Inherit device configuration
|
|
$(call inherit-product, device/rockchip/tart/aosp_tart.mk)
|
|
|
|
# Use xhdpi instead of tvdpi to avoid TvFrameworkOverlay's config_maxUiWidth=1280
|
|
# in the values-tvdpi bucket, which caps a 1920x1080 display to 1280x720.
|
|
# The RPi5 ATV build uses the same approach (PRODUCT_AAPT_PREF_CONFIG := xhdpi)
|
|
# and resolves config_maxUiWidth=1920 (no effective cap on 1080p).
|
|
PRODUCT_AAPT_PREF_CONFIG := xhdpi
|
|
PRODUCT_CHARACTERISTICS := tv
|
|
|
|
# LineageOS ATV base
|
|
$(call inherit-product, device/lineage/atv/lineage_atv.mk)
|
|
$(call inherit-product, vendor/lineage/build/target/product/lineage_generic_tv_target.mk)
|
|
|
|
# Android TV packages
|
|
PRODUCT_PACKAGES += \
|
|
DocumentsUI \
|
|
LeanbackIME \
|
|
TvProvision \
|
|
TvSettingsTwoPanel \
|
|
Catapult
|
|
|
|
# Bluetooth TV class
|
|
PRODUCT_VENDOR_PROPERTIES += \
|
|
bluetooth.device.class_of_device=34,4,36
|
|
|
|
# Boot animation
|
|
PRODUCT_COPY_FILES += \
|
|
device/google/atv/products/bootanimations/bootanimation.zip:$(TARGET_COPY_OUT_SYSTEM)/media/bootanimation.zip
|
|
|
|
# Overlays
|
|
PRODUCT_PACKAGES += \
|
|
AndroidTvOpiOverlay \
|
|
BluetoothOpiOverlay \
|
|
SettingsProviderTvOpiOverlay \
|
|
WifiOpiOverlay
|
|
|
|
# Device identifier. This must come after all inclusions
|
|
PRODUCT_BRAND := Orange
|
|
PRODUCT_MODEL := Pi 5 Ultra
|
|
PRODUCT_NAME := lineage_tart
|
|
PRODUCT_DEVICE := tart
|