Friday, April 13, 2012

[Solved] Ubuntu 12.04 blinking screen on startup

After installing Ubuntu 12.04 beta version, if you are getting a blinking screen, probably it will be the problem with hardware. it is advised to choose try ubuntu before installing it to check whether the OS is working without any problem.

try the following steps if you are facing this issue. 

nomodeset, which is needed for some graphic cards that otherwise boot in to a black screen or corrupted splash, acpi_osi= to fix lcd backlight and other problems, and noapic and nolapic to work around various ACPI BIOS issues. In this how to I will explain briefly what this is and how to do it. 

The newest kernels have moved the video mode setting into the kernel. So all the programming of the hardware specific clock rates and registers on the video card happen in the kernel rather than in the X driver when the X server starts.. This makes it possible to have high resolution nice looking splash (boot) screens and flicker free transitions from boot splash to login screen. Unfortunately, on some cards this doesnt work properly and you end up with a black screen. Adding the nomodeset parameter instructs the kernel to not load video drivers and use BIOS modes instead until X is loaded. 

Note that this option is sometimes needed for nVidia cards when using the default "nouveau" drivers. Installing proprietary nvidia drivers usually makes this option no longer necessary, so it may not be needed to make this option permanent, just for one boot until you installed the nvidia drivers.

This option frequently solves problems with LCD backlight, fan control problems and misreporting of thermal events. What I understand it does (but corrections are welcome), is prevent the kernel from reporting to the bios that its any windows version the bios asks for. By default, the kernel pretends to be all windows versions, that way we are certain the bios executes all the code needed to initialize the hardware. Unfortunately, some bioses contain fixes to fix problems with specific windows versions (notably vista) that arent needed or dont work for other OS's. Setting

(nothing behind the = sign) as boot option makes the kernel not respond to osi queries.

If the bios has provisions for Linux, you can also try

Or you can try 
acpi_osi="Windows 2006"
To make the kernel pretend its vista and make the bios execute routines on machines that require them.

This disables ACPI completely. 
Note: this may not work with all computers and will disable a lot of useful (or even needed) features. In some cases it may even disable some crucial features, like.. fans. Be careful with this option, it might cause your machine to overheat if the fans no longer turn. Think of this as a last resort. Also note some machines requireacpi=ht instead.

Noapic and nolapic
noapic and nolapic kernel options instruct the kernel to not use certain programmable interrupt controllers. To understand what that means exactly requires a deep knowledge of PC hardware, I will not go in to that here, Ill limit myself to saying on some bioses, especially for older systems, there are problems in the implementation of this and it may be necessary to disable either or both to cure a wide range of obscure problems, often but not always related to keyboard and mouse and power management (standby/resume issues).

In some cases kernel drivers can not be loaded due to a lack of virtual addressing space on 32 bit systems. Logs will show errors like. 

allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.

thanks for p4man who explained this here. 

No comments:

Post a Comment