子类__Display
RK3399平台下显示相关修改
内核笔记
一直从业于半导体行业,曾为Linux内核开源文档社区提交过若干文档。
主要从事Linux、Android相关系统软件开发工作,负责Soc芯片BringUp及系统软件开发,喜欢阅读内核源代码,在不断的学习和工作中深入理解内存管理,进程调度,文件系统,设备驱动等内核子系统。
展开
-
RK3399平台开发系列讲解(其他篇)1.9、LCD显示框架的重要概念
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录概述整体框架驱动架构重要概念概述整体框架Lcdc 显示模块主要完成将内存中的图片信息显示到 LCD 显示器上。LCDC 的整体 架构如下:上层创建的图片信息写到 framebuffer 中,图像处理模块会根据显示屏的大小, 刷新率读取和解析framebuffer 中保存的图片信息,...原创 2020-03-11 17:58:37 · 2764 阅读 · 8 评论 -
RK3399平台开发系列讲解(其他篇)1.10、LVDS(Low-Voltage Differential Signaling)的介绍
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录LVDS简介为什么使用LVDSLVDS组成LVDS简介它在提高数据传输率的同时会有很低的功耗,另外它还有许多其他优势:低电压电源的兼容性低噪声高噪声抑制功能可靠的信号传输能够集成的系统级IC内为什么使用LVDSLVDS接口又称为RS644总线接口,1994年由美国国家...原创 2020-03-11 17:27:26 · 2954 阅读 · 7 评论 -
RK3399平台开发系列讲解(其他篇)1.28、Framebuffer原理及缺点
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录1.显示驱动的原理2、`Framebuffer`的缺点3、改进3.1、使用多个fb3.2、硬件合成1.显示驱动的原理通过操作Framebuffer就可以控制到lcd的显示2、Framebuffer的缺点如果app写fb速度慢,则lcd图像变化也慢如果app写fb速度不快不慢,闪...原创 2019-01-13 21:57:20 · 2776 阅读 · 11 评论 -
RKRK3399平台开发系列讲解(其他篇)1.29、查看显示时钟
平台内核版本安卓版本RK3399Linux4.4Android7.1cat /sys/kernel/debug/clk/clk_summary | grep vop需要关注的显示时钟为:dclk_vop:即pixel clock, 像素时钟, 该时钟由具体的显示timing决定, 如果dclk不正确,可能导致fps不对或直接不显示.edp, mipi, l...原创 2019-01-20 15:26:36 · 3393 阅读 · 7 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.6、安卓系统开机logo 双屏异显配置
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录开机`logo `双屏异显配置开机logo双屏异显配置目录:arch/arm64/boot/dts/rockchip/rk3399-android.dtsi如图所示:不同route使用不同的vop即可实现显示的独立...原创 2019-01-20 17:11:12 · 4228 阅读 · 8 评论 -
RK3399平台开发系列讲解(系统篇)1.3、安卓系统SurfaceFlinger显示框架
假设现在有多个app1 2 3,如果它们随意访问fb,则屏幕显示必然是混乱不堪的。因此系统必须要有一个统一的管理者SurfaceFlingerSurfaceFlinger的任务给app提供buffer1.1、 通过gralloc模块向ashmen申请内存1.2 、得到一个fd1.3 、通过binder把fd传给某个app1.4、 app再mmap('fd')app 1 2 ...原创 2019-03-26 19:44:17 · 2478 阅读 · 7 评论 -
RK3399平台开发系列讲解(其他篇)1.14、LCD屏幕原理之点时钟介绍
系列内容LCD点时钟文章目录点时钟时间的计算点时钟在LCD驱动中,还有一个重要的参数----点时钟,即 dot clock。在 LCD 的 datasheet 里面名称一般是为 PCLK 或者 DCLK。首先看下如何查看相应的刷新率:LCDC 的刷新率通过 fb 的 sys节点查看: cat /sys/class/grahpics/fb0/fpsLCD 相...原创 2019-05-03 23:46:55 · 2645 阅读 · 12 评论 -
RK3399平台开发系列讲解(其他篇)1.13、 改进显示系统
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录Vsync没有Vsync机制时优化一:Vsync时强制开工优化二:triple buffer优化三:Vsync虚拟化Vsync要想使得用户有较好的视觉体验,达到60FPS是必不可少的条件,相当于每16ms就要刷一幅图。没有Vsync机制时优化一:Vsync时强制开工优化二:tr...原创 2019-06-08 15:25:24 · 2357 阅读 · 11 评论 -
[RK3399][Android7.1] 使用opengl进行界面合成流程
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录如何合成方案一方案二(HWComposer)使用OpenGL如何合成方案一在Framebuffer上依次画出(使用opengl)每个app,然后把Framebuffer显示出来方案二(HWComposer)各个app写入不同的window,硬件合成后在LCD上直接显示使用Open...原创 2019-06-08 16:31:22 · 2421 阅读 · 10 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.11、 修改安卓系统默认壁纸
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录修改默认壁纸Launcher3 默认壁纸加载流程修改默认壁纸系统默认壁纸的存放路径:frameworks/base/core/res/res/drawable 下图片文件名:default_wallpaper替换为同分辨率的图片即可。Launcher3 默认壁纸加载流程参考:h...原创 2019-01-05 17:06:10 · 3313 阅读 · 10 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.12、隐藏安卓系统的导航栏和状态栏
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录导航栏与状态栏一、隐藏导航栏方法一,修改资源文件代码方法二,通过系统 property 来控制二、隐藏状态栏修改资源文件代码导航栏与状态栏最上面是状态栏 StatusBar最下面是导航栏 NavagationBar一、隐藏导航栏方法一,修改资源文件代码frameworks/ba...原创 2019-01-05 16:58:08 · 4435 阅读 · 13 评论 -
[RK3399平台开发系列讲解(系统修改记录篇)1.1、安卓界面如何去掉顶部Google搜索栏
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录修改方法修改方法搜索资料了解到,其为 QuickSearchBox。代码在 packages/apps 中测试了很多网上的修改 launcher3 源码的方式,都是不行的。正确改法:在build/target/product/core.mk 去掉 QuickSearchBox...原创 2019-01-05 16:53:49 · 3364 阅读 · 10 评论 -
RK3399平台开发系列讲解(内核修改记录篇)7.11、屏幕支持1920X720分辨率
屏幕支持1920X720分辨率:kernel/arch/arm/configs/rkpx3_hzhq_710WS_defconfig+CONFIG_LCD_HOPECHART_1920X720=ykernel/drivers/video/rockchip/screen/Kconfig config LCD_HOPECHART_800X480 bool "RGB hopec...原创 2018-11-30 18:20:50 · 3526 阅读 · 6 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.4、添加更改开机logo
添加开机LOGo上传bpm文件至kernel/drivers/video/logo ifeq ($(CONFIG_LCD_MNQ),y) obj-$(CONFIG_LOGO_LINUX_BMP_ANDROID) += logo_android_1024x600_bmp.o+else ifeq ($(CONFIG_LCD_HOPECHART_1920X720),y)+obj-$(CONFI...原创 2018-11-30 19:03:10 · 2706 阅读 · 8 评论 -
RK3399平台开发系列讲解(其他篇)1.21、HDMI 自动适配过程分析
在这个里面判断是否打开自动适配宏开关drivers/video/rockchip/hdmi/rk_hdmi.h这个里面赋值宏:drivers/video/rockchip/hdmi/rk_hdmi_task.c判断宏默认分辨率在如下设置:drivers/video/rockchip/hdmi/*_hdmi.h所以这里这个宏需要打开arch/arm/configs/*_def...原创 2018-12-09 15:14:03 · 5637 阅读 · 12 评论 -
[RK3399][Android7.1] 学习笔记 DRM驱动程序开发(介绍)
平台内核版本安卓版本rkLinux4.4Android7.11. 简介DRM 全称是 Direct Rendering Manager,是 DRI(Direct Rendering Infrastructure)框架的一个组件;Android 新版本逐渐从Framebuffer 框架迁移到 DRM 上,从内核 4.4 开始,RK 的显示框架逐渐迁移到 DRM 上;...原创 2018-12-27 22:32:37 · 4213 阅读 · 8 评论 -
RK3399平台开发系列讲解(其他篇)1.5、display显示屏参设置偏差后现象
平台内核版本安卓版本px3Linux3.0Android7.1首先屏参数的信息:cat /sys/class/graphics/fbo/disp_info参数的内容:参数名意义参数名意义V_BP场后消隐H_BP行后消隐V_FP场前消隐H_FP行前消隐V_VD垂 直有效分辨率H_VD水平有效分辨率V_...原创 2018-12-28 21:52:48 · 3261 阅读 · 10 评论 -
RK3399平台开发系列讲解(其他篇)1.6、UBOOT 中HDMI默认分辨率的修改【UBOOT上HDMI LOGO 显示代码分析】
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录问题:现象:结论:修改:方式一:(修改`uboot`默认`HDMI`分辨率配置)方式二:(修改代码指定分辨率)方式三:(修改设备树指定配置)代码分析(详解):问题:我同事的3399开发板外接HDMI显示UBOOT LOGO时不正常。现象:显示不正常如下图:显示正常应该如下图:根...原创 2018-12-29 01:58:28 · 9391 阅读 · 9 评论 -
RK3399平台开发系列讲解(内核修改记录篇)7.6、RK DRM下屏幕显示分辨率的EDID 方式修改及代码流程
平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录问题:屏幕型号:修改:问题:RK Linux4.4的系统显示框架发生了变化,现在使用的drm。没有使用`dtsi``文件方式去设置屏参,那我们要修改屏参例如:分辨率修改。屏幕型号:FriendlyELEC 7" inch eDP LCD Display with Cap-Touch ...原创 2018-12-29 21:40:07 · 7832 阅读 · 9 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.15、安卓系统旋转后导航栏丢失,并有黑边问题解决
Android启动流程①init进程分析简介init主函数属性服务property_init()start_property_service()init.rcservice解析init启动zygote小结参考资料简介当Linux内核启动之后,运行的第一个进程是init,这个进程是一个守护进程,它的生命周期贯穿整个linux 内核运行的始终, li...原创 2018-08-28 19:31:31 · 1612 阅读 · 9 评论 -
RK3399平台开发系列讲解(系统修改记录篇)1.3、开机动画代码的添加
###开机动画的添加修改目录:frameworks\base\cmds\bootanimation\BootAnimation.cpp#####1、threadLoop修改用来显示第三个开机画面的线程的初始化工作就执行完成后接下来,就会执行这个线程的主体函数,即BootAnimation类的成员函数threadLoop。bool BootAnimation::threadLoop(){...原创 2018-11-29 10:56:31 · 2653 阅读 · 6 评论