本文用于解决电视盒HDMI转VGA连接老投影仪,出现的颜色失真问题。只适合会玩会动手之人。

一开始,想弄个投影仪投到墙上看看电视,屏幕要大,颜色要正,音效差不多就行。就这么简单!!!

【材料准备】

1、投影仪

以前从未玩过投影,怕水深,于是X东那里找了找,发现贵,稍微好的都5000以上,也有便宜的新科技型的,不放心。银子不够,加上现在受疫情影响,也没业务没收入,舍不得花钱,于是上小黄鱼淘了个350块的老投影仪,型号TOSHIBA TDP-TW100。大家看看值不值。

这个型号据查已经出了15年以上,当时的价格是15000元(必须土豪才配拥有啊,莫非我捡到土豪玩剩的宝了?),卖家是本地一个维修店老板,因疫情也不开店,我俩在杂乱的配件堆翻出这个投影做了测试,第一眼看上去清晰明了,(后来我推算这个灯泡应该是换过的),于是交易达成。

做测试时,使用的是AV端子,所以当时没有认真看画质,确认一下整机正常就没多想,拿了就走,心想大不了我回去也用AV端子接各种视频设备。事实证明,我是个挑剔的人,这里已经看走眼了,看后续讲解。

2、电视盒

投影仪买好了,接下来准备电视盒吧,原本手头有个N年前的上网本,AMD的APU,只能装XP用,测试了一下看视频,根本就只能当PPT看。寻思还是买个电视盒吧,还是X东(X东主要是快递当天到,快),看了小米、企鹅盒子,发现价格都不贵,但是猜就知道,开机先来一段广告啦,价格是很便宜,但是AV端子线要额外买,于是萌生了买专用(杂牌)一点的电视盒,最后挑了一款叫亿播的,原配有3.5mm转AV端子音视频线。对这个行业真不熟,不知道这个盒子究竟暗藏什么门道。

3、音箱

手上有个烂桌面音箱,几年前曾把有线改蓝牙,因效果不好,荒废了,这次刚好用上。

【组装测试】

组装完成,测试能看。由于当时没拍照,没法上传照片。坐下来看电视吧。

【折腾开始,挑剔效果】

故事原本到此应该结束,因为已经能看了,也不需要折腾。原本喜悦舒缓的心情,慢慢变成不淡定了。原来AV端子输出效果这么差,不但分辨率极其小9最大720*480),画面还能明显看到有扫描、抖动的纹路。这不是我想要的结果,怎么办?想办法喽。

咦,这个电视盒不是有HDMI端口嘛,而投影有VGA端口,那为何不试试HDMI转VGA呢?

于是翻出一条曾经不知道哪里来的HDMI转VGA线,将电视盒转接到投影仪的VGA接口。又是一阵欣喜,画面竟然有了,而且不抖动了,终于又解决了一个问题。

【HDMI转VGA的坑】

然鹅,事情远没结束,认真一看投影,白色的字或画面会出现一部分绿色或其他颜色,当看字幕时最明显。1、初步判断VGA线有问题,换,没解决。2、判断电视盒HDMI分辨率设置问题,找到设置,修改为最低的760x480@50Hz,发现电视盒死机,只能调1280x720@60Hz(所以说杂牌电视盒就那样),还是没有解决。3、投影仪参数,实在没什么可调的,这个TDP-TW100支持16:9宽屏和4:3模式,都试过,没解决。4、判断投影的VGA口问题,刚好两个VGA口都试几遍,也没有解决。5、判断投影仪电路板VGA接口坏了,拆开投影仪,检查有没有电容鼓包或线松动,东芝的东西真的做工精细,什么都看不出问题。

那么会不会是HDMI转VGA线坏了?狠一狠心,到X东再买一条,这回下了血本,买了绿联的,就不信绿联也不行。(又是等待,又是白花花的银子送人。)

拿到线后第一时间就接上,原本以为满心欢喜,最后发现问题一模一样。

这时,我做了个测试,发现,把电视盒用HDMI转VGA接电脑的显示器,发现显示器正常。这就怪了,难道是投影仪的问题?难道是投影仪的VGA接口,无法匹配太高分辨率?看来,这个投影仪得换掉了,想到要花大价钱去买个新的宽屏投影仪,我只能选择放弃了。

【验证投影仪分辨率,RK3288出场】

时间已经折腾了2个星期了,正当可惜了这些投入,以及工作项目拖延被客户骂的遗憾,我想起了我手上有2个年代稍微久的RK3288开发板,其中一个是Firefly,用来开发linux功能,另外一个是曾经用来做成品的铁盒版(厂家已经无法找到)。这两个盒子都有VGA接口,也都有安卓系统。如果拿来做电视盒,岂不是可以免掉HDMI转VGA的麻烦?

说完马上动手,首先翻出“铁盒版”的3288,满心欢喜接上VGA到投影,发现VGA根本没图像,但是开发板带的HDMI是可以的,逐进入系统找设置,发现设置里面根本没有VGA想过的选项。放弃。

再翻出上图的这个带亚克力的Firefly出的RK3288,这个3288同时拥有VGA和HDMI接口,所以把VGA接投影,HDMI接电脑的显示器(我手上显示器多,任性!呵呵),遗憾,原来之前我改过linux,里面没有android,不得不打开当时用的各种软件资料,再次看厂家的开发资料。好在以前还有点记忆,摸索一下,找到了2016年的一个firmware(固件),是安卓5.1版,重新烧录。这里技术性也不算太高,不描述了。

然后重新接投影,哈哈,这回双屏显示OK。等等,VGA的显示还是一样,颜色失真,分辨率1920x1080,好吧,进系统设置--显示,终于看到有个VGA选项了,把它调小,1280x720,还是失真,调720x480还是失真,特么这到底怎么肥四啊...(项目那么又在催结果,烦死了)。难过,伤心无比的那种......

【曙光】

正当准备再次放弃时,我无意中发现1366x768这个分辨率竟然可以投影正常!那就是解决问题了呀,好的,就这么办。终于正常了,赶紧下载几个必须的APP,听网友讲当贝桌面和当贝市场好用,就立马安装上,然后在当贝市场找了“电视家”“芒果tv”等等APP全装上,一切测试正常。

似乎从此就可以享受投影大屏看电视了,已经想好什么时候喝杯茶了。

【再次打击】

什么都装好了,总得想重启一下开发板吧,于是就做了。当重启完成我就开始问候firefly全家了,为什么?VGA刚才不是设置了1366x768吗?那特么这个开发板为什么重启以后还是变成默认的1920x1280,也就是说颜色还是失真了!再设置,再重启,问题依旧。难道是这个Firmware的bug?

带着疑问,我在Firefly论坛找答案,发现有人问过这个问题,没有人给出答案。

行,就当我的固件版本太低。继续刷固件。于是在官方网站的指引下,找了几个frimware,各种case。

结果,依然令人失望,VGA就是不能保存分辨率。

但是,在查询过程中,我看到有个人提到,说是源代码中VGA驱动读出设备EDID然后去适配分辨率,如果读不出就默认分辨率(1920x1080)。那意思就是说我的投影没有所谓EDID?算了,放弃吧,都不能识别了,我还能怎么样。

【灵机一动】

时间又过去了两天,周末刚好有点点时间,忽然灵机一动,为什么我不直接修改驱动呢?让设备读不出EDID后,直接用1366x768分辨率。(其实在Firefly论坛有人曾讲过他修改过VGA驱动,但是该网友不细讲,只简单提到)。虽然没人给指引,但是至少有人提到修改VGA驱动,那我也可以自己试试。

【安卓内核修改VGA驱动,重点】

首先,必须按照官方的一个指引《编译 Android 5.1 固件》去做。先安装虚拟机,装ubuntu14.04版(不建议用其他版本),apt-get各种插件,按照指引连接git,下载好所有安卓源码。官方有自动编译方法和手动编译方法。但是,其实由于年代已久,我这些源码根本编译不过去。光做这些操作已经很花时间了,还要各种配置。

行吧,先修改VGA驱动,然后只编译内核,总行了吧。内核编译还是成功了。

cd ~/proj/firefly-rk3288-lollipop/kernel
make firefly_defconfig
make -j8 firefly-rk3288.img

能编译后,就修改一下VGA驱动,这个有点难,我先后进行多个研究编译测试,最后锁定文件项目/proj/firefly-rk3288-lollipop/kernel/drivers/video/rockchip/vga/sda7123_vga.c文件就是驱动。

这里有点投机取巧,既然分辨率总是要跳默认,那我把默认那个分辨率都改为1366x768的参数不就没事了吗?

改完保存,然后按照前面的指令编译,通过。这个时候,生成的文件会在项目/proj/firefly-rk3288-lollipop/kernel/产生2个文件,分别是kernel.img和resource.img。

把生成的2个img文件用AndroidTool.exe烧录到开发板上。从虚拟机转移出这2个文件到烧录工具的rockdev文件夹里面,先把开发板连接5V电源,USB连接到电脑,然后按住recover按键不放手、再按reset键3秒,放开reset,稍等再放开recover键,电脑会识别出LOADER设备,然后勾选kernel和resource下载。(考虑到官方有足够的视频和资料,这里也没太大必要细讲)。

【最终解决】

通过以上的操作,最终,开发板VGA固定每次都在1366x768的分辨率了。不过这个功能似乎有影响HDMI,我无所谓,我又不用它的HDMI,真有这个需求大不了再改驱动呗。

当~当当当,最终投影分辨率。

至此,我终于通过自己的摸索,解决了我想用投影看电视而遇到的种种困难。能看完文章的人应该是有同样困扰,希望能对大家有帮助。

记一次RK3288改成电视盒支持老投影仪VGA的经历相关推荐

  1. php7不支持mysql扩展了么_php7不支持mysql扩展需要改成mysqli扩展

    最近升级php7发现不支持mysql扩展,需要改成用mysqli扩展 看代码class Db{ private $username = ''; private $password = ''; priv ...

  2. matexs不支持鸿蒙,华为mateXs为何从兼容安卓改成基于安卓,是鸿蒙不行还是另有隐情...

    科学技术是第一生产力,这句话大家应该都很熟悉了.而在这个时代没有核心技术就意味着发展的命门是在别人的手里.尤其是现在是一个网络社会,无论是无人驾驶还是远程医疗等等都里不可网络技术,而5G作为网络技术现 ...

  3. 怎么更改wifi频段_win10将wifi改成5hz首选频带方法_win10怎样将wifi变为支持5ghz频段-win7之家...

    在win10系统里,wifi一般会优先选择2.4g频段,一些公共wifi大家都挤在2.4g频段的话,会导致网络质量很大的下降,所以我们可以把wifi改成5hz首选频带,那么win10怎样将wifi变为 ...

  4. oracle是否支持gb18030,将oracle字符集改成GB18030

    将oracle字符集改成GB18030 (2011-06-29 14:16:05) 转载▼ 标签: 数据库 字符集 oracle gb18030 ora-12712 it 1.以管理员身份进入数据库 ...

  5. dell笔记本c语言系统,戴尔Latitude 5280笔记本如何将自带win10改成win7

    [文章导读]戴尔Latitude 5280是一款12.5英寸笔记本,该机型采用 Intel 酷睿第七代处理器.默认预装了windows10系统,很多用户不喜欢win10系统,打算安装win7系统,但是 ...

  6. strtus2改成springboot_jdk1.6环境下struts2改spring boot方案-阿里云开发者社区

    公司目前上线的两个项目都是比较老的,java版本是jdk1.6,mvc框架使用的是strus2. 随着不久前struts2官方公布新的安全漏洞,我们也不得不做出相应的整改措施,除了之前博文中所说把st ...

  7. 服务器网卡的连接速度改成自动检测_ubuntu xftp,ubuntu xftp之间怎么连接,连接步骤...

    Ubuntu是一个以桌面应用为主的Linux操作系统,Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity.从前人们认 ...

  8. strtus2改成springboot_jdk1.6环境下struts2改spring boot方案

    公司目前上线的两个项目都是比较老的,java版本是jdk1.6,mvc框架使用的是strus2. 随着不久前struts2官方公布新的安全漏洞,我们也不得不做出相应的整改措施,除了之前博文中所说把st ...

  9. 把手机刷成服务器系统,旧手机改成云服务器

    旧手机改成云服务器 内容精选 换一换 接口名称CreateCloudPhoneServerCreateCloudPhoneServer功能描述购买云手机服务器.购买云手机服务器.POST /v1/{p ...

最新文章

  1. 视图控制器及屏幕旋转
  2. ABAP 如何实现屏幕字段不可输入
  3. 200设备管理器找不到蓝牙_达尔优LK200蓝牙键盘,一键切换+支持三台设备+百元不到...
  4. React + TypeScript 实现泛型组件
  5. 部署:持续集成(CI)与持续交付(CD)——《微服务设计》读书笔记
  6. mapreduce 算法_MapReduce算法–了解数据联接第二部分
  7. JSF基于事件的交流:新派方法
  8. 前端学习(786):数组创建的两种方式
  9. Java前端笔记-后端Springboot,前端vue,Nginx使前后端分离
  10. C++socket编程(六):6.1 设置socket的阻塞和非阻塞
  11. 高斯计工作原理和高斯计使用方法图解
  12. 第一代操盘手图解“庄家操盘五部曲”;股市不可不知的赚钱法则!
  13. Dubbo概述及架构图
  14. 产品经理原型工具选择:墨刀和axure的区别?
  15. Javascript 中 atob/btoa
  16. 碎片粘合:Tasking DD 启发的思考
  17. 函数依赖 主码 主属性 非主属性 候选键 超键 详解
  18. leetcode-605. 种花问题
  19. hamming code/汉明编码
  20. ClickHouse正则匹配内网IP

热门文章

  1. 短视频矩阵系统,抖音矩阵系统源码,抖音SEO源码,tell
  2. lan接口 - 局域网接口
  3. 鸿蒙系统海外名称,[图]新商标表明华为鸿蒙系统在海外或叫做“Harmony OS”
  4. 利用TeamViewer实现电脑和手机端文件互传
  5. 教你用 Spring Boot 表白女神,撒一波高技术狗粮
  6. 数字机顶盒,酒店网络盒子
  7. 处理头像将头像变圆背景透明
  8. cpu计算速度排行榜_比拼浮点运算速度 超算排行榜是这样“算”出来的
  9. CSS基础:overflow属性
  10. C语言作业掷骰子,C语言大作业(掷骰子押宝小游戏).doc