# framebuffer + splashutils + amd64

## movrev

Ok, so after a while now of not having a splash screen while loading my amd64 machine, I finally got one up and running.

I have two issues with it though.

The first one is that I can't get it to 1280x1024 which is my lcd's natve resolution and I have to use 1024x768 (vga=792  ~ VESA 0x318). I wish I could go up to vga=795 which is VESA 0x31B, but during bootup I get a video mode error and I get an ugly, low resolution console with no splash.

Now, let's say I use the vga=792 option and I get the splash screen during bootup. When the bootup procedure is over and gdm starts (xorg has 1280x1024 resultion), I cannot go back to the virtual terminals. In other words, I can indeed CTRL-ALT-F# back to any of them, but the whole screen gets garbled even up to F12. When I go back to xorg (F7) everything is back to normal.

Now, could the different resolutions between these two be causing the problem? If not, then can someone give me a hand in figuring out how to solve any of the above problems. Thanks.

----------

## swimmer

Are you using the nvidia- or vesafb-drivers? I got it running in 1280x1024 with vga=0x31B in my grub.conf using vesafb ...

HTH

swimmer

----------

## movrev

Since I'm using nvidia drivers for xorg I use vesafb for the framebuffer (due to the incompatibility of nvidiafb + nvidia).

I cannot use the vga=0x31B parameter and instead am forced to use the decimal notation vga=795. In any case, none of the above works. I tried 0x307, 0x319, 0x31A and 0x31B (all 1280x1024 resolutions and different color depths according to linux/Documentation/fb/vesafb.txt) and the corresponding 775, 793, 794 and 795 without any luck. It just tells me the video mode entered is not valid and asks me to choose from a list.

However, I'm able to successfully choose 791 or 792, which correspond to 0x317 and 0x318 -the two largest color depths for 1024x768.

I wish I could get the console at 1280x1024 but a worser issue than this is not being able to see anything but garbage in the virtual terminals once X starts. I tried using X at 1024x768 to see if the problem arises from the resolution change, but it doesn't solve it. Besides, my LCD display is not that clear at this resolution, so it wouldn't be a solution either way.

If anyone has been able to solve this issue. Please let me know.

----------

## swimmer

Hmm - not that I have a solution but I can offer you the config I have on my desktop PC with framebuffers working on 1280x1024 ...

```
zgrep "^CONFIG_FB" /proc/config.gz 

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y

CONFIG_FB_VESA_STD=y

CONFIG_FB_SPLASH=y
```

```
head /boot/grub/grub.conf

timeout 24

default 0

fallback 1

# For booting 2.6.20-gentoo

title  2.6.20-gentoo

root (hd0,0)

kernel /vmlinuz-2.6.20-gentoo root=/dev/sda3 video=vesafb:ywrapp,mtrr vga=0x31B splash=silent,theme:mine fbcon=scrollback:512K quiet CONSOLE=/dev/tty1

initrd /boot/fbsplash-mine-1280x1024
```

Hopefully this helps you any further ...

Greetz

swimmer

----------

## movrev

Couldn't solve it yet.

The only difference between your kernel configuration and mine is the line CONFIG_FB_MODE_HELPERS=y (Enable Video Mode Handling Helpers). I recompiled the kernel with it and nothing changed. I still couldn't boot it at the 1280x1024 resolution. This makes sense as the help for this config line says:

```
This enables functions for handling video modes using the Generalized Timing Formula and the EDID parser. A few drivers rely on this feature such as the radeonfb, rivafb, and the i810fb. If your driver does not take advantage of this feature, choosing Y will just increase the kernel size by about 5K.

Symbol: FB_MODE_HELPERS [=n]

 Prompt: Enable Video Mode Handling Helpers

 Defined at drivers/video/Kconfig:100

 Depends on: FB

 Location:

    -> Device Drivers

     -> Graphics support

      -> Support for frame buffer devices (FB [=y])

Selected by: FB_NVIDIA && FB && PCI || FB_RIVA && FB && PCI || FB_I810 && FB && EXPERIMENTAL && PCI && X86_32 ||...
```

In other words, I don't think this line is useful at all if one uses vesafb. Besides, it's not even mentioned in the HOWTO Gensplash wiki page.

Now, I also did some modifications to my grub.conf following yours to see if it fixed my issue, without any luck as well. According to the Gensplash wiki, video=vesafb:ywrap,mtrr:2 is only needed if you run vesafb-tng (check the typo in ywrap and that since your kernel is above 2.6.13 you should specify the mode for mtrr). Thus, we should be exempt from it and, indeed, adding it doesn't change anything. Writing the vga parameter in hexadecimal notation doesn't work for me as well, so I tried also with 795 with no luck.

Lamentably I couldn't fix the problem still. I'm starting to think this might have something to do with the Video BIOS blocking higher resolutions at this early stage in the bootup process as I read in the troubleshooting  part of the wiki. However, I don't seem to find the modes supported by my setup as the directory they mention doesn't exist for me. All I have is:

```
0 VESA VGA
```

Thanks for your help.

----------

## movrev

An update

I was wrong. I can use the hexadecimal notation in the vga kernel parameter. The issue was that I was trying to use the ones pertaining to 1280x1024 which I somehow can't get to work yet. I could boot using the equivalent to 792, which is 0x318.

Also, I deleted xdm from runlevel default and, after booting, I can switch between the virtual terminals as expected and even see the rebooting dialog in full bloom. Hoewever, whenever xdm is started, the framebuffer gets suddenly garbled into some weird white character noise that can't be reverted.

----------

## swimmer

Thanks for weeding out my grub.conf  :Wink: 

Reading the Gensplash Wiki I'm not sure yet whether the ywrap+mtrr-parameters 

are not used with vesafb but I'll take them out and see what happens ...

'cat /proc/fb' shows the same for me as well btw ...

'cat /sys/class/graphics/fb0/modes' gives me only the mode I'm using atm ...

Greetz

swimmer

----------

## movrev

Same here with cat /sys/class/graphics/fb0/modes, but it's a nice find still. I wish we can somehow get all the accepted modes.

----------

## vectorsigma

I'm having all the exact problems that you described.  I also have an amd64 CPU and nvidia video card.

The problems I'm having:

* Can't select a resolution above 1024x768.  If I do then I get the message asking for a different mode

* Garbage on all consoles after starting X

I used to have it all running perfectly at 1280x1024 until I had to reset my BIOS.  Unfortunately I also made a few changes to the grub config file and kernel at the same time so have no idea where it all went wrong.  I was quite confident it would be a problem with the AGP aperture size but I've tried all possibilities and can't get it working again.

Movrev, did you fix the problems you were having?  I'd appreciate any help anyone can give me.

```

title=Gentoo Linux

root (hd0,0)

kernel /linux-2.6.19-gentoo-r5 root=/dev/sda3 video=vesafb:ywrap,mtrr:3 vga=0x31B splash=silent,fadein,theme:livecd-2006.1 fbcon=scrollback:512K quiet CONSOLE=/dev/tty1

initrd (hd0,0)/fbsplash-livecd-2006.1-1280x1024

```

```

# zgrep "^CONFIG_FB" /proc/config.gz

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_VESA=y

CONFIG_FB_VESA_STD=y

CONFIG_FB_SPLASH=y

```

```

# cat /proc/fb

0 VESA VGA

```

----------

## vectorsigma

Still can't figure this out... Anyone got an idea of how to fix it?

----------

## vectorsigma

Problem solved!  After playing around with video parameters I found adding noedid did the trick:

```

kernel /linux-2.6.19-gentoo-r5 root=/dev/sda3 video=noedid,vesafb:ywrap,mtrr:3 vga=0x31B splash=silent,fadein,theme:livecd-2006.1 fbcon=scrollback:512K quiet CONSOLE=/dev/tty1

```

Upon further investigation I found that "Enable firmware EDID" had been deselected in the kernel.

```

Device drivers --->

  Graphics support --->

    [*] Enable firmware EDID

```

After recompiling I could then take noedid out of the video parameter.  I can now boot at 1280x1024 and the consoles look perfect  :Smile: 

----------

## movrev

vectorsigma, I'm so sorry I couldn't respond to you earlier, but I wasn't able to solve the problem at all. Let me try your fix and if it works, you're a genius. Thanks  :Wink: 

----------

## movrev

Well, lamentably after a lot of playing aroung with your changes, I couldn't solve my problem. Adding the noedid to the kernel line doesn't do anything with or without the Firmware EDID support enabled in the kernel (which I had before even starting the tweaking). In other words, upon booting I'm told that vga=31B is not a supported resolution.

I ended up reverting to the best I can get, which is vga=318 without any splash, since activating the last garbles my consoles upon starting X. Let me know if you have any ideas of what might be happening.

I also wanted to comment that you might not need the video=vesafb:ywrap,mtrr:3 since as far as I know that only gets used with vesafb-tng.

----------

## vectorsigma

Hey movrev.  I actually had this annoying problem YET again today.  Since I had updated a lot of packages today I thought something must have broke.  However tracing back all my steps for the day I remembered I had plugged my TV into the TV-out on the video card to watch some stuff.  After some testing I realised it was the TV messing things up:

1. Boot with TV on and plugged in - error

2. Boot with TV turned off and plugged in - error

3. Boot with TV unplugged - it works!

Since the TV can't go above 1024x768 I assume it was the problem.  So there's one more thing to check.  If you don't have anything plugged in to the TV out then I suggest you play around with your AGP settings in the BIOS (aperture size, AGP fast write etc.) and make sure you have all the correct things compiled into your kernel.

----------

## movrev

Interesting, however, even if I once downloaded nvtv and played with the TV settings, I never got it to work very well and as far as I know everything is turned off now. I don't have anything other than the monitor connected to the card.

Now, I checked the BIOS to see what can be configured but since instead of an AGP card I got a PCIe one, the only thing that seems configurable for it is the "Maximun Payload Size" and it's now set to the maximun value of 4096. So nothing on that end as well.

You know, it's been months since I cannot see the framebuffer splash and when I finally got it working I get the garbled consoles. However, I could see it in the past with this same computer so I don't know what changed.

----------

## BitJam

I'm running a 2.6.19-gentoo-r5 kernel on amd64 x2 with the 1.0.9755-r1 nvidia drivers.  I can enable the frame buffer and the frame buffer splash but if I also use two monitors in twinview then my system freezes when I try to exit X/KDE.

I've tracked the culprit down to the CONFIG_FB_SPLASH kernel parameter.  Without this set, twinview runs fine and exits without freezing, but if I add this kernel parameter or use an initramfs with a splash in it then I get consistent freezes when exiting X/KDE.

There are a lot of stability problems with dual core amd chips being reported on  Nvidia's Linux support forum.  These "secret sauce" proprietary drivers are a huge PITA IMO.

----------

## sdfg

I'm glad I'm not the only one!

Luckily, I haven't got to the stage of installing a splash yet, that's fairly far down on my list (just flattened, in the process of reinstalling). 

I've got my console res to 1024x768, but it refuses to go higher, again with the dec or the hex notation. 

However, I can switch back to the consoles fine once I'm in X.

So maybe the problem is the splash? Might be worth taking out the splash, keeping the resolution, see if you can swap back.

Andy any advice on getting the res to 1440x900 would be greatly appreciated  :Wink: 

EDIT: Actually, thinking about it, I haven't setup direct rendering yet - I've only installed the drivers. Could be another problem.

-K

----------

## movrev

I've experienced the same thing after some testing as well and am now running the framebuffer without splash @1024x768 so that I can switch back to the consoles. I do have 1.0.8776 drivers installed and am using them with direct rendering enabled.

The problem then is that I can't go above this resolution nor I can switch on splash without running into issues, as I said above.

----------

## dj_farid

Any new findings on this thing?

I am using AMD64+nVidia. The best resolution I can get with vesafb is 800x600. Splashimage works ok with that resolution, but would be nice to get better resolutions to work.

----------

## sdfg

 *dj_farid wrote:*   

> Any new findings on this thing?
> 
> I am using AMD64+nVidia. The best resolution I can get with vesafb is 800x600. Splashimage works ok with that resolution, but would be nice to get better resolutions to work.

 

I'm running at 1024x768 now, but I haven't done anymore work on it as yet - I've got some other issues I need to iron out first.

Although if anyone has any advice, please post for future reference  :Smile: 

-K

----------

## BitJam

Framebuffer and fbsplash seem to be mostly working here using a mostly stable amd64 system with Gentoo sources.  I had to mask splashutils-1.4.1 because it was very broken if I tried to have a different background on each vconsole.

I normally use 1024x768 but I am also able to go to 1280x1024.  I don't use a bootsplash now, so I don't need an initrd.   I still can't reboot my computer from within KDE/X.  To reboot, I have to either first exit X or just shutdown from within X and then hit the power button after it turns itself off.

Once every couple of weeks my system will freeze on shutdown which requires me to use the power switch to turn the computer off.  I don't know if this is related to framebuffer and splash.   I also don't know why it happens some times but not others.  The journalling of ext3 seems to work flawlessly so I haven't gotten any file system damage.

----------

## RayDude

I'm running an HP laptop AMD64, NVIDIA, etc.

I have the screen initializing to 1024x768 (haven't tried anything higher yet).

during boot I get the Gentoo logo at the top, but I don't get the progress bar.

Can't figure out what's wrong, anyone had this before or have any ideas?

Thanks in advance,

Raydude

----------

