# My screen turns black when loading the kernel

## zitian

Laptop:ASUS X55VD

Kernel:3.7.9

Boot loader:grub2

File system:

/boot:ext3

/:ext4

My screen turns completely black when loading the kernel at about 1.5 seconds after booting Gentoo.

Sometimes I must press a key (any key on the kerboard is available) so that the system could continue run immediately, and the system could be used normally after booting. But sometimes the computer froze, so that I must press the power button to force the computer to shutdown, even the 'SysRq' key is unreachable.

In addition, the other linux distributions doesn't have this problem, including Gentoo LiveDVD(20121221, kernel 3.6.8 ).

When the system succeeded to boot, the '/var/log/messages' recorded this:

......

Feb 18 02:41:50 localhost kernel: [    1.495467] [drm] Driver supports precise vblank timestamp query.

Feb 18 02:41:50 localhost kernel: [    1.495635] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem

Feb 18 02:41:50 localhost kernel: [    1.495746] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0

Feb 18 02:41:50 localhost kernel: [   19.285919] [drm:__gen6_gt_force_wake_get] *ERROR* Timed out waiting for forcewake old ack to clear.

Feb 18 02:41:50 localhost kernel: [   19.286127] Switching to clocksource tsc

Feb 18 02:41:50 localhost kernel: [   19.287025] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off

......

NOTES:The screen turns extremely black at about[    1.495746], and I press the key at about [   19.285919].

lspci | grep VGA shows:

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

01:00.0 VGA compatible controller: NVIDIA Corporation Device 1058 (rev a1)

In my opinion, I have compiled the kernel wrongly. How to do it?Last edited by zitian on Wed Feb 27, 2013 5:13 am; edited 2 times in total

----------

## Hamlet

First of all, I don't know what I am talking about.

Then, with that capital of knowledge, I would guess that you have two video boards and that you have activated the VGA arbitration which the kernel documentation says (if I remember correctly) to enable video card swapping in some old laptops.

It might be that if you connected a monitor to the other video board you would get some hint of what it is waiting for.

So workarounds could be to disable your integrated videocard from the BIOS/EFI setup, or to unplug your external videocard (which I have a faint feeling is not the option you are looking for) or to disable the VGA arbitration (CONFIG_VGA_ARB).

If you really want that feature and you have enabled it willingly... well, then I'd better go back in my crypt.

----------

## zitian

Thanks for your help, and I'm afraid you may be right.

But in the BIOS, I can't find somewhere to disable the integrated video card. Maybe the chipset doesn't want me to do this, so ...

I used `make menuconfig` to configure the kernel, and unfortunately the kernel also forbids me to disable the VGA arbitration. 

(it says "-*- VGA arbitration", so I can't change it)

I reinstalled my system with a newer kernel (3.7.9), and the problem goes on. 

Sometimes the computer starts normally, sometimes it needs a press, sometimes it needs to press the power button, and sometimes it crashes. There may be no law.

----------

## The Doctor

Shot in the dark here. The problem does look like it may be cause by two cards. A workaround would be to not compile support for one of them.

----------

## zitian

I used Debian and Ubuntu before Gentoo, and they works wonderfully. I could use bumblebee to use or disable the nvidia video card.

.config:http://bpaste.net/show/79845/Last edited by zitian on Tue Feb 26, 2013 3:22 am; edited 2 times in total

----------

## The Doctor

Then you may need to install it. It is in portage.

----------

## zitian

But I still don't know what to do with '.config' of the kernel.

What should I use/disable?

----------

## The Doctor

Nothing directly. You should only use menuconfig or some variant. Manually editing the file is very bad for the long term health of you system. It should be OK as is if you don't want to try disable anything. I don't have any experience using bumblebee, but it looks like it should do everything you want, and the e-build should let you know if you need to change anything.

----------

## zitian

So how to configure `make menuconfig`?

Device Drivers-->Graphics support-->

  │ │                                          <*> /dev/agpgart (AGP Support)  --->                                                                              │ │  

  │ │                                          -*- VGA Arbitration                                                                                               │ │  

  │ │                                          (64)  Maximum number of GPUs                                                                                      │ │  

  │ │                                          [ ] Laptop Hybrid Graphics - GPU switching support                                                                │ │  

  │ │                                          <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->                                         │ │  

  │ │                                          < > 3dfx Banshee/Voodoo3+                                                                                         │ │  

  │ │                                          < > ATI Rage 128                                                                                                  │ │  

  │ │                                          < > ATI Radeon                                                                                                    │ │  

  │ │                                          < > Nouveau (nVidia) cards                                                                                        │ │  

  │ │                                              I2C encoder or helper chips  --->                                                                             │ │  

  │ │                                          < > Intel I810                                                                                                    │ │  

  │ │                                          <*> Intel 8xx/9xx/G3x/G4x/HD Graphics                                                                             │ │  

  │ │                                          [*]   Enable modesetting on intel by default                                                                      │ │  

  │ │                                          < > Matrox g200/g400                                                                                              │ │  

  │ │                                          < > SiS video cards                                                                                               │ │  

  │ │                                          < > Via unichrome video cards                                                                                     │ │  

  │ │                                          < > Savage video cards                                                                                            │ │  

  │ │                                          < > DRM driver for VMware Virtual GPU                                                                             │ │  

  │ │                                          < > Intel GMA5/600 KMS Framebuffer                                                                                │ │  

  │ │                                          < > DisplayLink                                                                                                   │ │  

  │ │                                          < > AST server chips                                                                                              │ │  

  │ │                                          < > Kernel modesetting driver for MGA G200 server engines                                                         │ │  

  │ │                                          < > Cirrus driver for QEMU emulated device                                                                        │ │  

  │ │                                          < > Intel GMA500 Stub Driver                                                                                      │ │  

  │ │                                          -*- Lowlevel video output switch controls                                                                         │ │  

  │ │                                          -*- Support for frame buffer devices  --->                                                                        │ │  

  │ │                                           [ ] Exynos Video driver support  --->                                                                             │ │  

  │ │                                           -*- Backlight & LCD device support  --->                                                                          │ │  

  │ │                                              Console display driver support  --->                                                                          │ │  

  │ │                                          [*] Bootup logo  --->                                                                                             │ │  

  │                                                                <Select>    < Exit >    < Help >                                                                 │Last edited by zitian on Wed Feb 27, 2013 9:06 am; edited 3 times in total

----------

## BillWho

zitian,

It looks like control is being transferred to the nvidia card, but nvidia and nouveau are disabled in .config

Feb 18 02:41:50 localhost kernel: [ 1.495746] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0

Feb 18 02:41:50 localhost kernel: [ 19.285919] [drm:__gen6_gt_force_wake_get] *ERROR* Force wake wait timed out 

00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

01:00.0 VGA compatible controller: NVIDIA Corporation Device 1058 (rev a1)

Can you disable the nvidia card in the bios   :Question: 

You should also disable CONFIG_AGP_AMD64=y   :Wink: 

----------

## zitian

There isn't a choice to disable the nvidia video card in BIOS. 

What's more, I reinstalled the kernel with the following optons:

# CONFIG_AGP_AMD64 is not set

CONFIG_DRM_NOUVEAU=y

CONFIG_NOUVEAU_DEBUG=5

CONFIG_NOUVEAU_DEBUG_DEFAULT=3

CONFIG_DRM_NOUVEAU_BACKLIGHT=y

But the problem is going on...

And open "Laptop Hybrid Graphics - GPU switching support" isn't available.

----------

## BillWho

zitian,

Can you pastebin your kernel .config with the latest changes again   :Question: 

Can't promise anything, but I'll take a closer look.

----------

## zitian

OK.

.config:http://bpaste.net/show/80095/

----------

## BillWho

zitian,

I just had an idea. Before making a lot of changes to your .config, save yours someplace and try compiling and booting mine.

It's setup for Intel graphics. It's a laptop configuration (dell) so there are a couple of settings enabled for it, but the test is just to see if the problem still persists.

```
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
```

My controller looks like it's exactly the same as yours.

http://bpaste.net/show/80096/

----------

## zitian

It has a similar problem, but in your kernel it happens later...(At about 3 seconds after booting)

And after it happened, the resolution of the screen changed. Like the driver of the video card loaded.

Maybe because of in your kernel you compile something as a module but I compile it into the kernel?

----------

## BillWho

zitian.

I'm trying to imagine what's happening here, but it's difficult because I have one gpu so I can't recreate your experience.

 *zitian wrote:*   

> I used `make menuconfig` to configure the kernel, and unfortunately the kernel also forbids me to disable the VGA arbitration.
> 
> (it says "-*- VGA arbitration", so I can't change it)
> 
> 

 

The only thing I can think of is to disable VGA arbitration. In menuconfig go to General setup and set:

[*] Configure standard kernel features (expert users)  --->

Then in Graphics support the VGA Arbitration selection should look like:

[*] VGA Arbitration (NEW)

When you disable it the Maximum number of GPUs will not be displayed.

Compile and cross your fingers   :Wink: 

----------

## zitian

Now I have disabled the VGA arbitration, but there's still some problems. Maybe not because of this?

The computer also crashed sometimes while sometimes it works well. And when it crashes, there is no log, and nothing on screen. The onlything I could do is close the power.

----------

## BillWho

 *zitian wrote:*   

> Now I have disabled the VGA arbitration, but there's still some problems. Maybe not because of this?
> 
> The computer also crashed sometimes while sometimes it works well. And when it crashes, there is no log, and nothing on screen. The onlything I could do is close the power.
> 
> 

 

Could it be my config   :Question:   Don't forget it's probably not 100% compatible with your computer.

In any event I found settings in you original config that you might want to try.

# CONFIG_FB_BOOT_VESA_SUPPORT is not set

If you enable [*]   VESA VGA graphics support in Support for frame buffer devices then boot vesa support will be enabled

Selects: FB_CFB_FILLRECT [=y] && FB_CFB_COPYAREA [=y] && FB_CFB_IMAGEBLIT [=y] && FB_BOOT_VESA_SUPPORT [=y]

Also should this be set CONFIG_EEEPC_LAPTOP=y  :Question: 

You have CONFIG_ASUS_LAPTOP=y set

You should make these changes in your original config.

----------

## zitian

The problem still exists...

The current .config file: http://bpaste.net/show/80373/

----------

## BillWho

zitian,

Now we're grasping at straws   :Sad: 

Paste back eix -cCI x11-drivers

----------

## zitian

May it be this problem?

```
[I] x11-drivers/xf86-input-evdev (2.7.3@2013年02月24日): Generic Linux input driver

[I] x11-drivers/xf86-input-keyboard (1.6.2@2013年02月24日): Keyboard input driver

[I] x11-drivers/xf86-input-mouse (1.8.1@2013年02月24日): X.Org driver for mouse input devices

[I] x11-drivers/xf86-input-synaptics (1.6.2-r1@2013年02月24日): Driver for Synaptics touchpads

[I] x11-drivers/xf86-video-ati (7.0.0@2013年02月24日): ATI video driver

[I] x11-drivers/xf86-video-dummy (0.3.6@2013年02月24日): X.Org driver for dummy cards

[I] x11-drivers/xf86-video-fbdev (0.4.3@2013年02月24日): video driver for framebuffer device

[I] x11-drivers/xf86-video-glint (1.2.8@2013年02月24日): GLINT/Permedia video driver

[I] x11-drivers/xf86-video-intel (2.20.13@2013年02月24日): X.Org driver for Intel cards

[I] x11-drivers/xf86-video-mach64 (6.9.4@2013年02月24日): ATI Mach64 video driver

[I] x11-drivers/xf86-video-mga (1.6.2@2013年02月24日): Matrox video driver

[I] x11-drivers/xf86-video-nouveau (1.0.4@2013年02月24日): Accelerated Open Source driver for nVidia cards

[I] x11-drivers/xf86-video-nv (2.1.20@2013年02月24日): Nvidia 2D only video driver

[I] x11-drivers/xf86-video-openchrome (0.3.1@2013年02月24日): X.Org driver for VIA/S3G cards

[I] x11-drivers/xf86-video-r128 (6.9.1@2013年02月24日): ATI Rage128 video driver

[I] x11-drivers/xf86-video-savage (2.3.6@2013年02月24日): S3 Savage video driver

[I] x11-drivers/xf86-video-sis (0.10.7@2013年02月24日): SiS and XGI video driver

[I] x11-drivers/xf86-video-tdfx (1.4.5@2013年02月24日): 3Dfx video driver

[I] x11-drivers/xf86-video-trident (1.3.6-r1@2013年02月24日): Trident video driver

[I] x11-drivers/xf86-video-v4l (0.2.0@2013年02月24日): video4linux driver

[I] x11-drivers/xf86-video-vesa (2.3.2@2013年02月24日): Generic VESA video driver

[I] x11-drivers/xf86-video-vmware (12.0.2-r1@2013年02月24日): VMware SVGA video driver

```

----------

## BillWho

zitian,

Please paste back your /etc/portage/make.conf

----------

## zitian

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

CFLAGS="-march=native -O2 -pipe"

CXXFLAGS="${CFLAGS}"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="x86_64-pc-linux-gnu"

# These are the USE flags that were used in addition to what is provided by the

# profile used for building.

USE="bindist mmx sse sse2"

MAKEOPTS="-j3"

LINGUAS="zh_CN"

INPUT_DEVICES="keyboard mouse synaptics"
```

----------

## BillWho

zitian,

Make these changes in make.conf. Probably the reason why every driver under the sun installed was due to not specifying your video card.

```
INPUT_DEVICES="evdev synaptics"

VIDEO_CARDS="nouveau"

```

In the end the only drivers left should be:

```
[I] x11-drivers/xf86-video-nouveau (1.0.4@2013年02月24日): Accelerated Open Source driver for nVidia cards 

[I] x11-drivers/xf86-input-synaptics (1.6.2-r1@2013年02月24日): Driver for Synaptics touchpads 

[I] x11-drivers/xf86-input-evdev (2.7.3@2013年02月24日): Generic Linux input driver 

```

So after making the make.conf change do emerge -uavDN @world 

Then emerge --depclean -a

Then check the installed drivers again with eix -cCI x11-drivers

If they all didn't unmerge then unmerge them manually and just leave those three.

Then do revdep-rebuild

Cross your fingers again and reboot...

----------

## zitian

OK, but this doesn't match my problem. It occurred before installing X.

----------

