# [partially resolved] Kernel Unable to Change Framebuffer

## jwacalex

Hi,

i'm using the 3.14.14-gentoo with an i7-4790K. the bios is configured to use all possible graphiccards (cpu internal and PCIe). so there is one GeForce GTX 760 (where the screen is connected to) and one GeForce GTX 280.  You can find my kernel configuration here.

Problem description:

If i boot the System, the framebuffer/whatever doesn't sync the screen. 

it is plain black or there is the defaultz "linux is loading" message from grub. i can connect to my system via ssh or login by keyboard. using the "i915.modeset=0" or "nofb" boot option doesn't change the behaviour.

you can find the dmesg here

thank you for your answer  :Smile: Last edited by jwacalex on Thu Oct 23, 2014 2:15 pm; edited 1 time in total

----------

## charles17

Not sure, but that problem sounds similar to mine https://forums.gentoo.org/viewtopic-t-1000108-highlight-.html which seems to be specific for the 3.14 kernel. 

Have you tested with 3.12 or 3.16 / 3.17?

----------

## Roman_Gruber

Well i recommend you use the latest gentoo-sources in the tree, the unstable ones, with latest nvidia-drivers.

if it is some mixture of internal and external graphic board you may check the gentoo wiki about it, there hsould be an explanation on how to set it up.

----------

## jwacalex

thanks for your answers. i've updated to 3.17.1-gentoo-r1 but the problem exists.

----------

## NeddySeagoon

jwacalex,

```
CONFIG_DRM_I915=y

CONFIG_DRM_I915_KMS=y

CONFIG_DRM_I915_FBDEV=y
```

is correct for the Intel on board framebuffer. It will do nothiny for the nVidia cards.

You also have  

```
CONFIG_VGA_CONSOLE=y
```

which will provide a VGA console (not framebuffer) console on any of your graphics cards.

However, the kernel prefers a framebuffer over VGA, so with the kernel settings above, you mill only get console output from your built in Intel graphics.

For testing,  its good to have # CONFIG_LOGO is not set on and to choose a colour logo.

The logo will only be drawn in a framebuffer.

As you can ssh in, you dmesg output woruld be useful.

----------

## jwacalex

Hi,

thanks for your answer. dmesg is uploaded. 

i'll deactivate the intelframebuffer in kernel, but the problem still exists

----------

## NeddySeagoon

jwacalex,

```
[    0.361540] Console: switching to colour frame buffer device 128x48

[    0.362428] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
```

That shows that the Intel Framebuffer is being used.  If there is no display connected there, you won't see anything on the console.

Which Xorg driver you you want to use?

----------

## jwacalex

hi,

here is the new dmesg without the intelfb but on the stable kernel. the problem still exists.

*update* i've conencted the screen to the intel card, but there is also no console

i'm planing to use the x11-drivers/nvidia-drivers.

----------

## NeddySeagoon

jwacalex,

It looks like the kernel starts off correctly, with the console on tty0.

```
[    0.000000] Console: colour dummy device 80x25

[    0.000000] console [tty0] enabled
```

then 300ms later, switches to the console over the network.

```
[    0.326573] console [netcon0] enabled

[    0.326574] netconsole: network logging started
```

Thats only useful if its set up any you have something listening for the console too.

Turn off

```
CONFIG_NETCONSOLE=y
```

with make.conf and rebuild your kernel.

You may be able to use vesafb with nvidia-drivers, for a framebuffer on one of the nVida cards but nvidia-drivers will tell you not to and the intel framebuffer wor't work then either.

When you turn off NETCONSOLE, you will only have VGA on tty0 left.

----------

## jwacalex

Hi NeddySeagoon, 

thank you for your help so far.

 *NeddySeagoon wrote:*   

> You may be able to use vesafb with nvidia-drivers, for a framebuffer on one of the nVida cards but nvidia-drivers will tell you not to and the intel framebuffer wor't work then either.

 

So you would suggest not to use the framebuffer so the vga console is duplicated on all screens?

I've deactivated the CONFIG_NETCONSOLE-option from the kernel and booted into it, but the problem still exists. I've uploaded the current config of the kernel and the corresponding dmesg log

----------

## NeddySeagoon

jwacalex,

That looks good.   You will only get a cosole on a single display.  It should be there somewhere.

Did you try connecting a display to all of your display outputs?

You may need to reboot to tes each time.

The console should appear on the graphics card selected as primary in the BIOS.

Thats normally the same screen as the BIOS display.

----------

## jwacalex

Hi,

yes, i've tried all outs of the cards. 

the default card shows bios/grub and the "kernel is loading" message (see initial problem).

the other outputs are not activated (black screen / no signal).

----------

## NeddySeagoon

jwacalex,

OK,  lets reduce the problem space.  Remove the two nvidia cards so you only have the built in Intel.

Your VGA console driver on tty0 should work like that.  Does it?

If not, you have another problem.

-- edit --

The "kernel is loading" message is special - its written directly to the VGA graphics memory by the kernel.

Its output before console driver is started by the kernel.

----------

## jwacalex

Hi,

i've debugged the cards itself and in combination to the gentoo-minimal cd: each card itself and/or the the combination works. so i think the issue is my kernel configuration.

--update-- 

using genkernel (with "genkernel --clean --mrproper all") confirmed that it's an issue of the kernel configuration: the generated kernel works.

thank you all for your help. i'll post an update if i've found the issue

----------

