From: Petr V. <van...@vc...> - 2004-07-03 19:56:20
|
Hi Antonio, yesterday I finally found why 2.6.x has problems with taking over vgacon. Problem is that take_over_console does: if (IS_VISIBLE) save_screen(i); ... visual_init(i, 0); ... so code nicely saves screen contents, and calls visual_init, which calls fbcon's init, which in turn can issue vc_resize. And this vc_resize will trigger read from vc->vc_origin. But vc_origin still points to videomemory, not to the buffer where save_screen() copied its data. In my fbcon (http://platan.vc.cvut.cz/ftp/pub/linux/matrox-latest/matroxfb-2.6.7-c1784.tar.gz) after I put origin = visual_origin = screenbuf; below save_screen call, and removed clearing screen from radeon sources both radeonfb and matroxfb were able to take over vgacon, without any randomly colored characters on screen. It also allows for removing special fillrect clear, as now code which clears upper few lines of logo area actually works... Best regards, Petr Vandrovec |