# Easily determine all available framebuffer video modes

## chris.pickett

Hi.  I posted about this at the end of Narada's excellent framebuffer thread, and PM'd him about including it in his guide, but he didn't reply (although he replied below my post to someone else), so I'm just assuming he has some problems with it relying on a (quasi-)illegal hostings of MS-DOS 6.22 and this LFB.EXE program (it's apparently not illegal for me to download copyrighted content in Canada, so ......).  Anyone reading this should feel free to suggest an open source workaround.  Anyway, whether or not this is the case (Narada?), see page 13 of the guide for my instructions.  It really works and it lets all those laptop users out there take full advantage of their video cards in console mode.  Links running in 1400x1050 on my Thinkpad A20p looks great!

https://forums.gentoo.org/viewtopic.php?t=49036&postdays=0&postorder=asc&start=300

I figure it's useful enough to warrant a separate post anyway, since few people are going to scroll through all those pages, even if it's their first time reading the guide, and there's probably others who have read the guide and are not going to bother re-reading it even if it's updated.

Cheers,

Chris

----------

## BradN

I imagine the LFB file should be legal to redistribute (or at least, I don't think anyone would show up and break down your door...).  You could try using it with a FreeDOS boot disk and if that works, just give a link to that and LFB.EXE

----------

## chris.pickett

I just tried with the FreeDOS .img file available from their website, and while I can copy the LFB.EXE program to the floppy, when I reboot there are two strange things:

1) It hangs if I choose the CD-ROM option

2) It doesn't work at all if I choose the no CD-ROM option, because lfb.exe doesn't show up.

If anyone manages to get this working, I'll gladly update what I wrote with new instructions, but unfortunately right now I have more pressing issues to solve (I would of course be interested in a native-to-linux solution just because that's the best way to do it) ... anyway ... don't download the 622c.zip file if you think it's morally and / or legally wrong in your country! :)

----------

## hypnotic

Chris,

Thanks for the great tool. Unfortunately for me, it didn't give me that answer I need (ie, looking for a widescreen 1680x1050 VESA mode)

Here's an easier way to use lfb.exe under linux. This is an especially important alternative for those like me who own laptops without floppy drives.

Instead of creating a DOS boot floppy, just  "emerge dosemu". 

Then, run "dosemu" at a console or run "xdosemu" from X. This will give you a fake C: drive that's actually located in your home directory. Be sure to read the instructions on how to exit your fake DOS session.

Next, go to a different terminal or console and find the directory created by dosemu. It's probably "~/dosemu/freedos" if you're running Gentoo.

Now use wget to retireve lfb.exe as you recommended in your posts. Put it in the directory you found above.

Finally, go back to the dos emulator and run "lfb | more". It's not quite native, but maybe it's the next best thing.  :Smile: 

When run at the console, my result was "VESA nicht installiert". Not sure if this is related to the framebuffer or not.

When run under X (KDE), using my laptop's native resolution of 1680x1050, lfb seemed to work. Unfortunately, the only modes listed were the standard 4:3 modes ranging up to 1600x1200.

cheers,

hypno

----------

## chris.pickett

yeah, I guess that's no good.  if you can get it to work under X, then X must be able to set the video mode somehow.  however, if you can only get that mode with a proprietary binary driver, maybe there's no way to set it by hand.  hmmmmmmmmm.  i guess you could write down all the numbers that lfb.exe gives you, and then systematically try those that are missing (I think the non-standard ones start at 0x320, but I might be off by a little).

fwiw, i barely use the framebuffer at all for real work.  a terminal emulator like aterm is much nicer to use, once you get one set up properly, with a nice font, semi-transparent background, and no scrollbar.  or konsole even if you're using kde.  at least you're not stuck at 1200x800 or something horrible in X.

----------

## hypnotic

Yep. Terminals under X generally seem better than framebuffer console. I was using framebuffer because I couldn't find a window manager I liked. But with this new, fast laptop, I've discovered that KDE doesn't suck. I'll probobly stick with using X and KDE for a while. WindowMaker is simpler but it's just too counter-intuitive to a linux noob from the windows world.

I'm considering creating a bootable CDR(W) that I could use for booting DOS to run programs like LFB. But I've also found at least one potential alternative to LFB that is native to linux.

I'll report back here when I have anything concrete.

edit -> fixed grammar

----------

## chris.pickett

somehow i doubt that running it natively instead of inside dosemu is going to give you different results, but you're welcome to try.  if you get tired of kde, try gnome, it feels more lightweight and clean to me.  i was using fluxbox for a while, and even fvwm2, but i couldn't be bothered to get them to look like gnome looks with about 10 minutes of clicking.  the windows 2000 desktop layout is almost fine for my needs, so i just emulate that.  i find you can spend so much bloody time tweaking and configuring stuff that using a linux desktop doesn't end up being any more productive ... whatever, i still love it :)

----------

## hypnotic

I think you're right about dosemu. All the VESA mode scanning code I found was interacting directly with the BIOS.

Now for my alternate solution to LFB.EXE. There is a very small linux tool out there called "lrmi" or Linux Real Mode Interface. There is an ebuild for it in the Gentoo packages database.

To find your VESA modes under Gentoo, just execute the following

1) "emerge lrmi"

2) "vbetest"

This will display all VESA modes and allow you to select a new one if you wish. I found changing modes using vbetest led to less than desirable results. I had to reboot to get my colors back the way I like them.

Also, although I've got widescreen going in X, I still haven't managed to find a widescreen VESA mode for framebuffer.

----------

## rustedgod

Think you could mail me lfb.exe?  It's not available at the site linked in the other thread and I, like hyptonic, am trying to get the framebuffer working at 1680x1050.  Old thread, so I hope you're still around and still have that exe   :Wink: 

Edit: removed addressLast edited by rustedgod on Thu Jul 03, 2008 10:35 pm; edited 1 time in total

----------

## chris.pickett

I don't know if I still have it...

Thank god for the internet archive!

http://web.archive.org/web/*/http://this.is.not-mediaways.net/but.i.am/flo/t21/lfb.exe

----------

## hypnotic

Thanks chris. You beat me to it.

I'm not convinced it will help you rustedgod but I wish you luck. I still haven't found a solution so please let me know if you learn anything new. Mine is a Radeon Mobility 9700.

----------

## rustedgod

Thanks for the link.  If it's been a year and nothing's changed then you're probably right.  I don't suppose you've managed to get fbsplash/gensplash working?  I could settle for that, as I usually use a terminal emulator in X anyway.  In theory I could create a splash that fit my resolution, then scale it to whatever's the best I can get in the framebuffer, and it wouldn't look too distorted.

----------

## chris.pickett

I reboot so rarely that to me the extra hassle of a pretty framebuffer is no longer worth it.  The amount of scrollback sucks, so there's no way I can use it for prolonged terminal work.  The trouble of getting apm/acpi sleep to work on a laptop, on the other hand, is something I do consider worth it.

In fact, for truly hassle-free desktop/laptop use, I just use Debian testing, i386 packages and all, heretic that I am.  I think my framebuffer is 80x25 characters at a resolution of 640x480.  Gentoo still has a place on machines where performance is critical though...

Chris

----------

## hypnotic

I gave up getting framebuffer set up nicely on that laptop. Even with a nice kerenel font it doesn't look very good. I think I had a 1280x1024 framebuffer with background running for a while. I thought about creating a "squashed" framebuff bitmap that would stretch out to the right aspect ratio but decided it wasn't worth it. chris is right that X seems generally more convenient on that machine anyway.

I do run framebuffer on a webserver at 1280x1024. The machine is a dual Celeron 366 and X is too sluggish on it for me. I had fbspash going and liked it. I think when I upgraded from 2.4 to 2.6 kernel,  my splash stopped working. I only recently discovered gensplash but haven't bothered to set it up yet. The main gotcha I ran into with fbsplash is that I could only get 16bit images to work. And even that failed for a while. I finally discovered that my windows graphics program couldn't create the right format. I switched to Gimp and was able to get it to work. The other thing I did for this machine is remove all the console fonts from the kernel but one. I use Sparc 8x16. It gives me 64 lines with 160 characters each. It's perfect for my 17" 4:3 LCD.

----------

## rustedgod

Think I'm gonna give up too, though I may still add a nice splash.  Think I'll have to settle for 1280x1024 with that though.  I think on my other machine I wrote a script that used imagemagick and created the splash from one 1280x1024 source image, so it hopefully won't be too much hassle.

Still got this problem with the bloody backlight of the LCD though.  That is, when X starts it doesn't come on so I have to wait till the screen goes into standby (which I set to 1 minute in the xorg.conf), then when I shake the mouse to come out of it, the backlight comes on... still, at least X works at 1680x1050 unlike the fb.

----------

