我正在创建一个运行Android的车载信息娱乐(IVI)系统。我使用的开发板是96boards.com的Rock960,这块板支持双显示输出,这是完美的,因为它需要驱动驱动器前面的主机(HU)和组合仪表(IC)。这就是问题所在。HU的分辨率为1920x1080,IC的分辨率为1280x480。输出在两个显示器上都有效,但由于其奇怪的分辨率,它在IC上看起来非常拉长。
SoC是来自Rockchip的RK3399。这里有一个链接到这个主板的AOSP页面:https://www.96boards.org/documentation/consumer/rock/build/aosp.md.html
我尝试过更改帧缓冲区的分辨率: persist.sys.framebuffer.main=1280x480 in device/rockchip/rk3399/rk3399box/system.prop
当我这样做时,一切都在IC上正确显示,但随后HU显示为拉伸。
下面是系统属性文件:
#
# system.prop
#
#rild.libpath=/system/lib/libreference-ril.so
#rild.libargs=-d /dev/ttyUSB2
# Default ecclist
ro.ril.ecclist=112,911
wifi.interface=wlan0
persist.tegra.nvmmlite = 1
persist.sys.boot.check=false
ro.audio.monitorOrientation=true
#NFC
debug.nfc.fw_download=false
debug.nfc.se=false
#add Rockchip properties here
ro.rk.screenoff_time=2147483647
ro.rk.screenshot_enable=true
ro.rk.def_brightness=200
ro.rk.homepage_base=http://www.google.com/webhp?client=
{CID}&source=android-home
ro.rk.install_non_market_apps=false
sys.hwc.compose_policy=6
sys.wallpaper.rgb565=0
sf.power.control=8847360
sys.rkadb.root=0
ro.sf.fakerotation=false
ro.sf.hwrotation=0
ro.rk.MassStorage=false
ro.rk.systembar.voiceicon=true
ro.rk.systembar.tabletUI=false
ro.rk.LowBatteryBrightness=true
ro.tether.denied=false
sys.resolution.changed=false
ro.default.size=100
persist.sys.timezone=
ro.product.usbfactory=rockchip_usb
ro.support.lossless.bitstream=true
wifi.supplicant_scan_interval=15
ro.factory.tool=0
#set default lcd density for rk3399 box product
ro.sf.lcd_density=213
ro.adb.secure =0
ro.rk.statusbar=0
# set to false if not use displayd
ro.rk.displayd.enable=false
# default main framebuffer resolution
persist.sys.framebuffer.main=1920x1080
# default primary display
sys.hwc.device.primary=DP
sys.hwc.device.extend=HDMI-A另外,你知道ro.rk.displayd.enable是什么吗?
我希望两个显示器都能根据自己的分辨率正确显示内容。输出不应在任一屏幕上被拉伸或扭曲。
发布于 2019-02-08 23:20:27
参见HWComposer.cpp;这应该是primary & external -而不是primary和extend (其中extend可能会导致缩放);这可能已经回答了这个问题。这些应该在/kernel/drivers/video/rockchip中定义。在源代码中添加进一步的日志记录可能有助于理解在设置显示时到底发生了什么。
displayd可能是一个OSD显示守护程序,因此任何以d结尾的东西通常都是一个守护程序。如果在内核配置充分的情况下,安卓也能做到这一点,请参阅https://developer.android.com/reference/android/app/Presentation
最简单的可能是ask them (至少与中文手册相比)。
https://stackoverflow.com/questions/54594931
复制相似问题