Finally found why 2.6.x has troubles with taking over vgacon
From: Petr Vandrovec <hidden>
Date: 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
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com