# more than 832MB RAM => blank framebuffer screen

## The One

hi

today i've upgraded to 1GB RAM (from 512MB) and now my vesa framebuffer doesn't work anymore.

my system boots but the screen is blank, i know that the system is running, because i can type blindly and reboot the system.

after hours of googling i found no solution to this problem with the framebuffer, only one guy with the same problem, but he just disabled the framebuffer and used 640x480 textmode which i really don't wanna use.

the framebuffer works again when i choose the kernel parameter mem=832M

i've recompiled the kernel many times now, chose highmem support and so on, but nothing works.

does the vesa framebuffer not work with more than 832MB RAM??

thx,

the one

hardware:

msi sis745

gf 4 ti4200

1GB ram

and much other stuff

---

gentoo 2.4.19-r10-kernel

----------

## Carlos

Maybe some of your RAM is bad; you might want to try out memtest86.

----------

## The One

well, i don't think that my RAM is bad, but i'll give it a try later...

thx,

the one

----------

## acidreign

I am using a dual 2.0ghz AMD system (Tyan760 chipset).

1gb ddr ram.

no problems here with framebuffer. Does your video card take memory from your system ram ?

----------

## The One

not that i know of, but i'm using 256MB agpgart size in bios, maybe that's too high...hmm, gonna test tomorrow

the one

----------

## Turambar

How was your kernel compiled? 

I just dropped in another 512MB of RAM (for a new total of 1GB) and got the same problem. After running tests on the RAM, using each of the modules separately, etc., I determined two things:

1) The RAM is fine.

2) While fb works with either one, it yields the following dmesg error with both:

```
vesafb: abort, cannot ioremap video memory 0x8000000 @ 0xd8000000

```

I'm recompiling the kernel with the following (additional) options:

```
# CONFIG_NOHIGHMEM is not set

CONFIG_HIGHMEM4G=y

# CONFIG_HIGHMEM64G is not set

CONFIG_HIGHMEM=y

CONFIG_HIGHPTE=y

CONFIG_1GB=y

# CONFIG_2GB is not set

# CONFIG_3GB is not set

# CONFIG_05GB is not set

CONFIG_HIGHIO=y

```

I hope this solves the problem.

UPDATE: This did not solve the problem. In fact it compounded it by giving me a kernel panic in the blank framebuffer...

----------

## deviljelly

I'm having the same problem, I dropped and extra 512 stick into my box an now have 1GB, since then none of my kernels seem to be able to support the frame buffer....

I have no solution yet, but I'll keep trying

Paul

----------

## The One

Carlos was right, one of my sticks was really bad though it was the newest one (only had it a day) of my 2x256 and 1x512. now i have new brand RAM (tested it and it is fine), but the problem persists  :Sad: 

now i have 128MB agpgart size, so that can't be the prob either.

my framebuffer only works with the mem=832M (or lower) kernel option.

i also tried to boot my older kernel, a vanilla 2.4.19 with ac4 patch, but the same behaviour.

@Turambar

i compiled my kernel many times, with and without high memory support but it seems that it doesn't have any effect.

which kernels are you using?

the one

----------

## deviljelly

I rebuilt the kernel and removed the radeon fb driver option leaving just the VESA one, I also changed the kernel back to 3GB which fixed mu missing 100KB.

CONFIG_NOHIGHMEM=y

# CONFIG_HIGHMEM4G is not set

# CONFIG_HIGHMEM64G is not set

# CONFIG_1GB is not set

# CONFIG_2GB is not set

CONFIG_3GB=y

# CONFIG_05GB is not set

#

# Frame-buffer support

#

CONFIG_FB=y

CONFIG_DUMMY_CONSOLE=y

# CONFIG_FB_LOGO_TUX is not set

# CONFIG_FB_LOGO_LARRY is not set

CONFIG_FB_LOGO_GENTOO=y

# CONFIG_FB_LOGO_POWEREDBY is not set

# CONFIG_FB_RIVA is not set

# CONFIG_FB_CLGEN is not set

# CONFIG_FB_PM2 is not set

# CONFIG_FB_PM3 is not set

# CONFIG_FB_CYBER2000 is not set

CONFIG_FB_VESA=y

# CONFIG_FB_VGA16 is not set

# CONFIG_FB_HGA is not set

CONFIG_VIDEO_SELECT=y

# CONFIG_FB_MATROX is not set

# CONFIG_FB_ATY is not set

CONFIG_FB_RADEON=m

# CONFIG_FB_ATY128 is not set

# CONFIG_FB_SIS is not set

# CONFIG_FB_NEOMAGIC is not set

# CONFIG_FB_3DFX is not set

# CONFIG_FB_VOODOO1 is not set

# CONFIG_FB_TRIDENT is not set

# CONFIG_FB_VIRTUAL is not set

# CONFIG_FBCON_ADVANCED is not set

CONFIG_FBCON_CFB8=y

CONFIG_FBCON_CFB16=y

CONFIG_FBCON_CFB24=y

CONFIG_FBCON_CFB32=y

# CONFIG_FBCON_FONTWIDTH8_ONLY is not set

# CONFIG_FBCON_FONTS is not set

CONFIG_FONT_8x8=y

CONFIG_FONT_8x16=y

----------

## The One

my config is exactly the same (i never had the rivafb for my GF4 compiled in, only vesa), what is a bit strange is that if i choose 1GB user address space size, then it is 3GB in the .config file, if i choose 3GB then CONFIG_1GB is enabled, well

but it doesn't work for me, still blank screen...

the one

----------

## Turambar

I've made some progress. I changed the User address space size from it's default of 1GB to 2GB, and got further along. If the kernel options (linux-2.4.20-gentoo-r1 w/bootsplash w/lm_sensors) are changed to this:

```
# CONFIG_NOHIGHMEM is not set

CONFIG_HIGHMEM4G=y

# CONFIG_HIGHMEM64G is not set

CONFIG_HIGHMEM=y

CONFIG_HIGHPTE=y

# CONFIG_1GB is not set

CONFIG_2GB=y

# CONFIG_3GB is not set

# CONFIG_05GB is not set

CONFIG_HIGHIO=y

```

Then the fb now works exactly as it did - the bootsplash image works, everything looks great! And then the kernel panics on the partition check section.   :Sad: 

```
Partition check:

 /dev/ide/host0/bus0/target0/lun0: kernel BUG in sched.c:1131!

invalid operand:0000

...

Process swapper (pid: 0, stackpage=8047f000)

...

 <0>Kernel panic: Aiee, killing interrupt handler!

In interrupt handler - not syncing
```

I guess this is progress. =/ Time to Google for bugs in sched.c.

----------

## The One

hm, i'll try your options, you could deactivate the preemptible patch (in menu processor type and features).

if that doesn't work i'll try one of the latest ac-kernels (i guess it's 2.4.21-pre4-ac4)

the one

----------

## Turambar

I tried disabling the preemptible kernel option. It partially builds, but fails when linking in fs.o, due to a missing function. make (dist)clean doesn't help. I guess my next step along these lines is to make really clean by removing the directory, reemerging the kernel sources and patches, then testing how preemption affects the fb/RAM problem.

I've seen some other posts on the lkml about sched.c bugs wrt USB, though no one else seems to hit the same problem I've seen. Does everyone else here have USB enabled?

I rebuilt the kernel with debugging options enabled, so I'll try to find why I'm getting an oops before I completely start over.

----------

## The One

everything (your config!) is working for me now!!   :Very Happy:   :Very Happy:   :Very Happy: 

here's my current kernel config:

```

# CONFIG_NOHIGHMEM is not set

CONFIG_HIGHMEM4G=y

# CONFIG_HIGHMEM64G is not set

CONFIG_HIGHMEM=y

# CONFIG_1GB is not set

CONFIG_2GB=y

# CONFIG_3GB is not set

# CONFIG_05GB is not set

# CONFIG_MATH_EMULATION is not set

CONFIG_MTRR=y

# CONFIG_SMP is not set

# CONFIG_PREEMPT is not set

# CONFIG_PREEMPT_TIMES is not set

CONFIG_X86_UP_APIC=y

CONFIG_X86_UP_IOAPIC=y

CONFIG_X86_LOCAL_APIC=y

CONFIG_X86_IO_APIC=y

```

this is with gentoo kernel 2.4.19-r10 as i mentioned in my first post. i didn't test whether it works with preempt=y but at the moment i don't care  :Wink: )

bootsplash also works!

output of free:

# free

             total       used       free     shared    buffers     cached

Mem:       1030076     250644     779432          0      10348     119660

-/+ buffers/cache:     120636     909440

Swap:      1124508          0    1124508

the best thing is that my WLAN card is working again now. since my memory upgrade cardmgr just didn't do anything anymore, now without changing the config it is also working again  :Wink: 

i hope you get it to work with your kernel!

(i have USB enabled, i'm using 4-6 USB devices)

thx!

the one

----------

## deviljelly

cool, have fun, mine is working too but as I said the ATI dirvers screw it up.....I'm sure they'll fix them soon, they are in effect the FireGL drivers and they have just got a beating on tomshardware so I think ATI will put more focus on them.

Paul

----------

## Turambar

I hate it when the Real World imposes on my pet projects...

There was a problem with both the preemptible kernel and lm_sensors which caused kernel oops at different points. Although both of these (along with usb, IEEE 1394, bluetooth, fb, etc.) had no problems when high memory support was disabled, they do not behave well with it on. I'm using the gentoo-sources, so that increases the possible points of failure. If some kernel guru (with lots of free time) feels like troubleshooting this one, I'll be happy to send my .config file along. I think I'll wait for the next kernel revision, though.

The good side is that the framebuffer, bootsplash, and memory are all working perfectly. To celebrate, I include some gratuitous system stats:

```
# free -m

             total       used       free     shared    buffers     cached

Mem:          1005        309        696          0         45        158

-/+ buffers/cache:        105        900

Swap:         2000          0       2000
```

and

```
# df -B G  

Filesystem           1G-blocks      Used Available Use% Mounted on

rootfs                      36        31         3  92% /

/dev/root                   36        31         3  92% /

tmpfs                        1         1         1   2% /var/state/init.d

/dev/hdb6                  186         1       186   1% /mnt/burn
```

Note: Some OS force their users to go through gyrations (http://wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/std_adp.php?p_faqid=533) to get large drives to be fully recognized, but Linux behaves well.

----------

## phlashback

For anybody else who is having this problem....

I belive that this link will be of some help, it seems a bit more scientific

http://www.nvnews.net/vbulletin/showthread.php?s=&postid=100543#post100543

Good luck

----------

## phlashback

Follow up....

for those that don't feel like clicking on a link here is what needs to be done

Change: /usr/src/{KERNEL}/drivers/video/vesafb.c

for 2.4.20 (and presumably earlier, dont have them to test and dont want to)  :Wink: 

From:

```
video_size = screen_info.lfb_size * 65536;
```

To:

```
video_size = screen_info.lfb_width * screen_info.lfb_height * video_bpp;
```

for 2.5.67 / 2.5.67-mm1 (same not as to earlier)

Frrom:

```
vesafb_fix.smem_len = screen_info.lfb_size * 65536;
```

To:

```
esafb_fix.smem_len = screen_info.lfb_width * screen_info.lfb_height * vesafb_defined.bits_per_pixel;
```

I hope that this help somebody out thier.

 :Twisted Evil:  I Take no responsibility for the damage that may be caused to your system. I am using it right now, and I have had no problems yet. I am not a kernel hacker!  :Twisted Evil: 

Once again good luck

----------

## bludger

I applied the patch that you quote from the kernel mailing list, but it made no difference at all.  I have an Acer 513T laptop (Intel Celeron - family 6 model 6 stepping 10) with 186MB RAM.  I currently have acpi enabled, but tried also with acpi=off.

Any ideas?

----------

## jbygden

 *phlashback wrote:*   

> Follow up....
> 
> for those that don't feel like clicking on a link here is what needs to be done
> 
> Change: /usr/src/{KERNEL}/drivers/video/vesafb.c
> ...

 

...snip...

 *Quote:*   

> 
> 
> I hope that this help somebody out thier.
> 
> 

 

It sure did make a world of difference, not only your troubleshooting, but also that you made this little codechange avaliable here - saving me (and probably others, equally lazy bastards  :Wink:  the pain of finding it out ourselves.

THANKS a lot!!

/jb

----------

## phlashback

bludger:

What problem are you having.... do you have any dmesg output. 

I don't belive that this is related to your problem, as it seems to affect machines with large mounts of memory... 186MB is not large.

I am happy to "try" and help, but I need a little more info  :Smile: 

jbygden:

You are welcome.

I was actually a lot of fun finding the solution, but much more rewarding to see it has actually helped someone   :Laughing: 

btw... 

I have posted patches that you can download from:

https://bugs.gentoo.org/show_bug.cgi?id=19061

now no need to hand edit (I hope)  :Wink: 

I store the patches in /usr/src/

assuming that your kernel sources are in /usr/src/linux

this is how i do it.

```
# cd /usr/src/linux

# patch --dry-run -p1 -i ../2.4-large_mem_vesa.patch

patch

patching file drivers/video/vesafb.c

#patch -p1 -i ../2.4-large_mem_vesa.patch

patch

patching file drivers/video/vesafb.c

#

```

the first patch command is optional, I just like checking first befor I change the kernel sources  :Smile: 

if at all possible I am trying to get a list of videocards (manufacturers, and amount of memory  included) which suffer from this.

Happy gentooing  :Razz: 

----------

## taskara

thank you, thank you, thank you, thank you, thank you!!

I have been struggling with this stupid problem for over a week.. posted on every framebuffer thread I could find!  :Wink:  finally Phlashback sent me here.. this sounds like EXACTLY the problem I'm having.. will try it as soooon as I am home!!

here's hoping!!

(and thanks - after lots of frustration, you've helped restore some faith in the people of the gentoo forums!  :Very Happy: )

----------

## taskara

well this did indeed get my fb working!

HOWEVER, now when I try and start X, I get the same blank screen fb was giving me before!

any thoughts?

----------

## bludger

 *phlashback wrote:*   

> bludger:
> 
> What problem are you having.... do you have any dmesg output. 
> 
> I don't belive that this is related to your problem, as it seems to affect machines with large mounts of memory... 186MB is not large.
> ...

 

I have the same symptoms as described - simply a system freeze on bootup.  Unfortunately I can't get any dmesg output at this stage of the boot.  If you can give me any hints as to how I might get more info, let me know.  In the meantime, I can live without a boot splash screen on this laptop.

----------

## phlashback

 *Quote:*   

> I have the same symptoms as described - simply a system freeze on bootup. Unfortunately I can't get any dmesg output at this stage of the boot. If you can give me any hints as to how I might get more info, let me know. In the meantime, I can live without a boot splash screen on this laptop.

 

 :Confused: 

maby I missed something...... but the symptoms you are having dont seem to be the same. 

"system freeze"  (at least what i think you mean by that term) is a completly non functional system

it is possible i ws not clear, but in my case, and others (as far as I know)  do not have a frozen system, rather just console display being dead (ie system boots totaly, and you can login all be it blindly  :Wink: , and if you have  a configured xserver, x loads properly, and displays just as x always had.)

btw... are you using bootsplash... if so disable the bootsplash, and see...

I apologize if i sound a bit rash, just got home from my new job and spent all day in training for a "scripted" (ie it should work, but this is a pilot program... in other words.. my team and I are the debuggers) XP rollout *BLAH*... atleast after 2 years of looking a decent paycheck again  :Wink: 

i recomend tryig to loginto the darkend box (if you had disk activity during boot) after normal startup time, and try to startx... if your system loads x then it wasnt frozen, and you could just open up an xterm shell and type demsg.... otherwise i have no clue... at this moment..... unfortunatly my trouble shooting time has been stomped on by new resposiblities  :Very Happy: 

I hope you get your issue resloved.. keep us posted

----------

## phlashback

taskara

I am glad that your fb is working now

I am sorry that x is broken for you now.

if you havent defenatly run memtest86 for a good while just in case.

if using nvidia drivers try reemerging them (just a thought, i am not an expert)

after you try to startx can you switch to anther consol?.. you might want to look through logs and see if x is giveng any info.. posibly startingx with options for being more verbose..... 

sorry to break your xserver again (if that is ther case)... any info you can post does help

regards

----------

## taskara

phlashback,

do you know why my framebuffer now works (thankyou!) but X won't start now - it is the same gray screen I was seeing b4 when my frambuffer wasn't working..

any ideas ?

thanks again!

----------

## phlashback

taskara,

was wondering what kind of video card you have?

I am assuming that your x was working before.......

if you boot w/o enabling the fb does the problem w/ the xserver still occure?

also if you revert the patch (add -R to the patch command) and recompile does x "magicaly" work again (yes I kow youll lose the fb   :Wink:  , but at this point which is more important  :Cool:  )

Logs could be helpfull

I will try my best to help, tho I am by no means an expert (maby this issue will make me one... one never knows  :Wink: 

As with anythin when it comes to info when in doubt, it might be helpfull.  :Laughing: 

Good luck, and I look forward to hearing all the details  :Very Happy: 

----------

## taskara

hey.. thanks for the reply.

if I boot without framebuffer, then X works without a problem.

as soon as I boot with framebuffer, X doesn't work.

yeah my X was working before  :Wink:  and I have a geforce 4 ti4200

do you know which log I should be looking at? under /var/log/ I have 4 Xfree log files, XFree86.0.log, XFree86.0.log.old, XFree86.8.log, XFree86.8.log.old.

ta!

----------

## phlashback

I belive XFree86.0.log  :Wink: 

are yu using nvidia drivers? if so what version, and have you re-emerged them. I am running Gforce 4 Ti4600, and both the the unacceleerated drivers (standard xfree) and  the accelerated(nvidia) drivers work for me, so I am positive that we can get this running, maby a matter of time, but if you have it so do I  :Laughing: .  I am not using the kernel agp but rather nvagp.

for the heck of it I borrowed my freinds ti4200, and it is working to (both of my cards are visiontek.

I reply because I want to help (as much as I can)... also make sure that rivafb is disabled in the kernel config completely..... also what sources are you using. also before you applied my patch, and had a blank console did x work, (grasping fo straws, and as much info as I can get)

I apologize if you have answered some of these things before if so just tell me to re read the thread, I wont take offence (being lazy in my limited off time now.. went from praticaly unemployed for the last 4 months ie odd jobs here and there to 40+ hrs per week, and still am adjusting)

good luck, and I genuenly hope we get this working so please dont give up... who knows who might be helped later... also if you havent already take a look at the nvidia forums

http://www.nvnews.net/

and dont be afraid to post there (if you do post there make a new thread, trust me   :Laughing: ) they were most helpfull to me, and know alot more than I  :Embarassed: .....

most importantly keep us posted....

regards

----------

## taskara

hey.. thanks for your awesome positive helping attitude! it's refreshing!!

in response to your questions:

everything was working before I actually turned frambuffer on. I applied your patch, enabled the kernel options etc, and made TWO entries in my grub.conf - one with fb enabled, the other without. X works on the one without, but the one with fb kills X.

I'm going to try a few more things. play around a little.

I do have one very important question, and that is - can you change the refreshrate to something higher than 60hz? cause it just kills my eyes!

if not, then I may not bother about using fb because a standard tty runs at 70hz. not a lot more, but certainly makes a difference!

I am using vanilla 2.4.20 atm, with nvidia 43.96 drivers, xfree 4.3.0-r1.

might try gentoo-2.4.20-r3

cheers!

----------

## phlashback

what are you passing to the kernel for enabling the fb, my grub.conf looks like this

```
default 3

timeout 5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 1.4 SMP 2.4.x gentoo series

root=(hd0,0)

kernel /boot/bzImage.splash-gentoo root=/dev/hda3 vga=794 video=vesa:1280x1024@70

initrd=/boot/initrd

title=Gentoo Linux 1.4 SMP 2.4.x gamming series

root=(hd0,0)

kernel /boot/bzImage.splash-gaming root=/dev/hda3 vga=794 video=vesa:1280x1024@70

initrd=/boot/initrd

title=SMP development-sources-2.5.x linus series

root (hd0,0)

kernel /boot/bzImage.dev root=/dev/hda3 vga=794 video=vesa:1280x1024@70

title=SMP development-sources-2.5.x mm-patches series

root (hd0,0)

kernel /boot/bzImage.dev.mm root=/dev/hda3 elevator=cfq vga=794 video=vesa:1280x1024@70

title=Memtest x86 memory testing utility

root (hd0,0)

kernel /boot/memtest86/memtest.bin

```

btw I am using gnetoo-sources-2.4.20-r3, gamming-sources-2.4.20-r2, 2.5.67 and 2.5.67-mm3.... I recomend for a 2.4.20 kernel using the gaming sources as it is made to play well with your nvidia card  :Wink: , and in my case gets glxgears times closer to that of the development series kernels (actually I am pretty much using mm-series most of the time--- fast and responsive like  I had never seen before.  :Wink: 

and I agree totaly 60hz can stink   :Laughing: 

----------

## taskara

hey.. I'm basically doing the same as you, with a few extra options (based on the frambuffer howto thingy)

 *Quote:*   

> title=gentoo-2.4.20-1280x1024
> 
> root (hd0,1) 
> 
> kernel (hd0,1)/boot/bzImage-1280x1024 root=/dev/hda3 hdd=scsi video=vesa:ywrap,mtrr vga=0x31A splash=silent 
> ...

 

I havent had time to play with it much lately, but I'll try some dev sources and maybe ck or mm.

will try similar settings to your grub.conf too.

cheers!

----------

## Gnufsh

I'm having the same issue in my laptop, with 2x256 meg so-dimms. I boots just fine but has a blank screen, But, this only happens when I try something like vga=791.

----------

## phlashback

Gnufsh:

What resolutions does your laptop display support (in vesa mode)   :Wink: 

my bet is that if it works on lower settings then it is hardware limitation (not enough video mamory, display panel not supporting it.... you name it), and not necessarily a problem (that is unless it should be fuctional)... in my case vesafb faild regardless of what I passed to it, 640x480 resulted in problems. unfortunatly as far as I know a vesa failure does not fallback to normal text console, hmmmm... now if only I were smart enough (ok had enough time) to impliment that.

I can handle the current way, but that is becasue I have heard my HD at boot somany times I can tell when it actually boots (or when it fails to boot), but for someone new to linux, and not aquanted with what can go wrong, some display is better than no display.... at least I think so..

cheers   :Very Happy: 

----------

## Gnufsh

as far as I can tell, if I pass any vga= message to it, all I get is a blank screen (but the OS still boots). My screen supports up too 1024x768 w/32-bit color. It is an S3 TwisterK wit 16megs ram.

----------

## Gnufsh

Never mind, I fixed it, wasn't related at all. I pug the vga= before root= and there were no problems.

----------

## FastTurtle

 :Sad:   Not sure why everyone else with 1 gig of ram has trouble with the framebuffer. I've got a full gig, setup the kernel with framebuffer support and it works fine so it's completely baffling to me.

My specs.

XP1800

1 gig Kingston Value Ram

Nvidia TNT2-M64 (Riva Chipset) Must Use RivaFB

SoundBlaster PCI16

Vanilla Kernel 2.4.21

High Memory 4 gb

High Memory IO Support

Console Drivers

	VGA Text Mode

	Video Mode Selection

		RivaFramebuffer (m)

		Vesa VGA 2.0 (y)

Since I have a USB Optical Mouse, I've also got USB working with 1024X768 as default resolution and everything works fine.  :Smile: 

----------

## phlashback

FastTurtle

Not everyone with a gig of ram is having trouble   :Wink: .  The problem only appears if you are using a video card that has 128 MB of memory or greater.  But this shuld not be a problem now anyway. 2.4.21 has patches merged in to correct, and 2.4.20-r5-gentoo-sources have the patch too.

Btw 2.6.0-test1-mm1 also has this problem fixed. (I did not test vanilla 2.6, cauz I had already patched it befor testing...   :Embarassed:  )

Cheers  :Cool: 

----------

