Solve the blank screen problem when installing CentOS 6.x on HP Compaq 2710p

It has been a long time not being able to maintain here. Partial of the reason is the large amount of homework, being busy. Another one is that, the articles here were all strictly examined, and they are all practical. Because of this, even though sometimes I wanted to write some other types of articles, at last I always thought they don’t match the theme of this blog, thus I just gave up.

However, I’m happy to write the articles that are useful, especially the ones about the techniques and experiences which I have validated by myself.

Well, back to the main topic. Several days ago, I decided to use my old, used HP Compaq 2710p Tablet PC as my testing machine, so I formatted the D drive, which stored my personal files (C drive had Windows 8 installed). Basically, it had nothing special – I moved all the data to my flash drives and portable hard drives already.

Then, I burned a disc of CentOS 6.3, preparing to install one in this machine. But, it failed to start the installer using default configurations. It read the disc for a while, and then got into the blank screen. The keyboard lights were still working (like Caps Lock). At this time I just thought of that, this machine’s graphics adapter is a built-in Intel GMA X3100, and it seems that I encountered the same problem before.

Well, it sounds like the display driver was not quite compatible, and the only option is to restart the computer and use standard display driver to start all over again. The steps are, when the boot menu from the disc appears, do not select the default (which is the first) option. Instead, select the second one. Thus the installer will start using standard display driver, and avoid the blank screen.

The rest of the installation procedure has no differences from the general one. After the large-effort installation, restarting the computer, and entering the CentOS, it came with blank screen again. Even worse, this time the keyboard lights seemed not responsive, like system halted. What now?

It still has a way. The default configuration created by the installer is incompatible with the machine’s built-in graphics adapter, hence it causes such problems. In order to boot the CentOS normally, here are the steps to fix:

  1. As mentioned just now, when installing CentOS, make sure to select the second option from the boot menu, and use standard display driver to initialize the installation environment.
  2. At the first time of restarting after the installation, in order to avoid the blank screen, first enter CentOS’s GRUB boot menu, highlight CentOS option.
  3. Then, press ‘e’ key, and edit the boot parameters; or press ‘a’ key, and edit the kernel parameters.
  4. In the next screen, try to find the word “nomodeset”. If found, remove all of them.
  5. Then save, go back to GRUB boot menu, boot CentOS using these parameters.

Using this way, CentOS can boot normally, but it will fail when loading X graphical environment, and display the error message “X server failed to start”, then stops.

Don’t worry. Continue performing the following steps:

  1. After seeing the “X server failed to start” error message, press Ctrl+Alt+F2 on the keyboard. This step is to switch to a new terminal interface.
  2. Type “root” as the user name, and type the password you have set during the installation (Remember, at this time the other users are not created yet), logging in as root user.
  3. First edit /etc/grub.conf configuration file (in terminal, you can use “nano” command to edit). Find all “nomodeset” and remove them, then save and exit.
  4. Then, delete the configuration file /etc/X11/xorg.conf.
  5. Restart the computer.

Done! Now it should enter into CentOS’s graphical user interface directly. Changing the settings in System – Preferences – Desktop Effects can also enable the 3D desktop.

The method mentioned in this article has been tested in my HP Compaq 2710p Tablet PC without problems. I have not tested the other laptops that use Intel GMA X3100 built-in graphics adapters by myself, but the principle should be the same.

P.S.

In the latest CentOS version (at the time I write this is 6.5), it seems that the problem has been partially solved (the default installation option still cannot work, though). If you are installing CentOS 6.5, and you are using standard display driver to initialize the installer, you don’t need to edit boot / kernel parameters before entering into the graphical user interface after the installation process.

However, you still need to edit /etc/grub.conf configuration file, because CentOS will keep using standard display driver unless you refreshed the display driver configurations manually.

Background – What is “nomodeset”?

“nomodeset” is to disable the Kernel ModeSetting, a.k.a KMS. KMS provides fast mode switching for X environment and console interface, also it enables native-resolution virtual terminals on some portable computers, which used standard modes (like 800×600 or 1024×768) only before.

Kernel ModeSetting requires the kernel 2.6.29 or above, and the supported graphics adapters. For more information, you can see this wiki article: https://fedoraproject.org/wiki/Features/KernelModesetting