当前位置: 代码迷 >> Android >> DVI输出与LCD输出的切换实现。请问
  详细解决方案

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

热度:110   发布时间:2016-05-01 22:28:32.0
DVI输出与LCD输出的切换实现。请教。
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中有如下函数:
C/C++ code
/** *    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的映射,是不是可以实现我所需要的功能呢?
遗憾的是,这个函数调用死机了。目前正在解决。
这个函数是可以用来实现此功能的吗?



谢谢各位给予指点或者参加讨论的朋友。
不管我上述内容的对与错,都希望有朋友可以帮忙解决。

------解决方案--------------------
没弄过,只能帮顶一个。
------解决方案--------------------
只使用过fb0,从中读取屏幕,fb1真没关注过。。。
  相关解决方案