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

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真没关注过。。。