DVI输出与LCD输出的切换实现。请教。

self_control 2010-04-14 07:47:19
Android平台,需要实现从LCD输出与DVI输出之间的切换,
在/dev/graphics下有三个fb,分别是fb0,fb1,fb2。

当我使用LCD作为默认输出时,我发现fb0是处理LCD输出的,fb1是用作DVI输出的。
当使用DVI作为默认输出时,fb0是DVI,fb1是LCD。

我可以通过 echo 0 > /sys/class/graphics/fb*使fb0,fb1都打开,Vsync信号和HSync信号都是正确的,clock信号也正确,但是只有一个地方会出现data信号,就是fb0。

那么,我怎么才可以实现data信号从fb0输出转到fb1的输出?

附上我的过程。
1. 使用framebuffer driver中带有的 swap_chan函数,我可以看到log out中,两个buffer的channel都是交换了,但是blank之后仍然只有fb0有数据,并没有改变什么。
2. 我使用fbcon.c中的一个函数。
在fbcon.c中有如下函数:
/**
* set_con2fb_map - map console to frame buffer device
* @unit: virtual console number to map
* @newidx: frame buffer index to map virtual console to
* @user: user request
*
* Maps a virtual console @unit to a frame buffer device
* @newidx.
*/
static int set_con2fb_map(int unit, int newidx, int user)

我以为这个函数的功能是实现 console 与 fb之间的映射,那我将原本的console与fb0的映射改成console与fb1的映射,是不是可以实现我所需要的功能呢?
遗憾的是,这个函数调用死机了。目前正在解决。
这个函数是可以用来实现此功能的吗?



谢谢各位给予指点或者参加讨论的朋友。
不管我上述内容的对与错,都希望有朋友可以帮忙解决。
...全文
190 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
self_control 2010-04-16
  • 打赏
  • 举报
回复
好惨,木有人么。。。
self_control 2010-04-15
  • 打赏
  • 举报
回复
最新进展:

上层存在framebuffer.cpp文件,里面的open函数指定了使用哪个fb作为输出(我想是的)。

所以应该从这里入手了。之前的一直太过底层了。

不过,直接断开和之前framebuffer的联系,会不会出什么问题呢?

有进展我再来汇报- -
self_control 2010-04-15
  • 打赏
  • 举报
回复
自己顶一下- -
Life葡萄糖 2010-04-14
  • 打赏
  • 举报
回复
只使用过fb0,从中读取屏幕,fb1真没关注过。。。
bsr2009 2010-04-14
  • 打赏
  • 举报
回复
没弄过,只能帮顶一个。

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧