Re: Detect switching to X?
From: Knut Petersen <hidden>
Date: 2005-11-28 08:12:52
Hi Tony,
The patch is not really palatable. It is a patch that attempts to fix bugs in X, not fbcon. Unless the problem is really widespread, then maybe I'll go for it for mainline.
You need not do that (do a periodic check). A set_par() will always be called by fbcon whenever the console transitions from KD_GRAPHICS to KD_TEXT. So all you need to do is possibly check some register that says the hardware is in legacy mode.
The problem is _not_ the transition KD_GRAPHICS to KD_TEXT, that is handled perfectly well. The problem is that after switching from KD_TEXT to KD_GRAPHICS the trident X driver is unable to set the correct screen start address because cyblafb disabled the bits of several registers the trident driver uses for that purpose. If I would submit a patch to the X team to enhance the trident driver, that would only solve the problem for those that use that new driver. I would have to wait several years until I could be reasonably sure not to break the system of too many people. Even without that problem it would be nice to inform the framebuffer drivers about an ongoing switch to/from KD_GRAPHICS. Now there often is garbage displayed for some fractions of a second while switching to X, that could be prevented if the framebuffer drivers would have the chance to e.g. clear the whole framebuffer memory before the X driver starts to switch video mode etc. Today framebuffer drivers are limited by the fact that they need to leave the graphics engine in a state that current and older (but still used) X drivers can handle. That unreasonable limitation should be removed, and it can be removed by those optional fb_save_state() and fb_restore_state() hooks. cu, Knut ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click