Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
1280x800 Resolution on Console Framebuffer using intel 855GM
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Sat Dec 31, 2005 8:03 am    Post subject: 1280x800 Resolution on Console Framebuffer using intel 855GM Reply with quote

I have been reading posts and have gotten mixed answers regarding this question.

I have a dell 700m which uses the Intel 855G/M Chipset video interface, 16:9 formatted display with a native resolution of 1280x800.

My Goals:

Use a framebuffer device and splash image both that run in this native resolution (1280x800)
Use X windows in 1280x800.

I have been able to get the X resolution working in the past using Alan Porier's (sp?) 855resolution patch (available in portage, currently masked by ~x86) without too much hassle.

My current main concern is getting a 1280x800 native framebuffered console session. I can easily get 1024x768, but do not know how to pull off a non standard 1280x800 resolution.

I have read some posts regarding "lfb.exe" and its ability to display vaild vesa modes for a device. I found this program in another post, i will not link to it here, because it's somewhat illegal - but you'll be able to find it!
After running this app i have no vaild video modes for 1280x800 listed.


C:\Documents and Settings\Administrator>cd C:\

C:\>lfb
Version : 3.00
OEM Name : Intel(r)852GM/852GME/855GM/855GME Graphics Chip Accelerated VGA BIOS
memory : 16580608
no VESA Protected Mode Interface

160h: 0 x 0 (text)
161h: 0 x 0 (text)
162h: 0 x 0 (text)
163h: 0 x 0 (text)
164h: 0 x 0 (text)
165h: 0 x 0 (text)
166h: 0 x 0 (text)
167h: 0 x 0 (text)
168h: 0 x 0 (text)
169h: 0 x 0 (text)
16ah: 0 x 0 (text)
16bh: 0 x 0 (text)
16ch: 0 x 0 (text)
16dh: 0 x 0 (text)
16eh: 0 x 0 (text)
16fh: 0 x 0 (text)
170h: 0 x 0 (text)
171h: 0 x 0 (text)
17ch: 0 x 0 (text)
17dh: 0 x 0 (text)
17eh: 0 x 0 (text)
13ch: 0 x 0 (text)
14dh: 0 x 0 (text)
15ch: 0 x 0 (text)
13ah: 0 x 0 (text)
14bh: 0 x 0 (text)
15ah: 0 x 0 (text)
107h: 0 x 0 (text)
11ah: 0 x 0 (text)
11bh: 0 x 0 (text)
105h: 1024 x 768 x 8 0xd0000000, 20 pages
117h: 1024 x 768 x 16 0:5:6:5 0xd0000000, 9 pages
118h: 1024 x 768 x 32 8:8:8:8 0xd0000000, 4 pages
112h: 640 x 480 x 32 8:8:8:8 0xd0000000, 12 pages
114h: 800 x 600 x 16 0:5:6:5 0xd0000000, 15 pages
115h: 800 x 600 x 32 8:8:8:8 0xd0000000, 7 pages
101h: 640 x 480 x 8 0xd0000000, 49 pages
103h: 800 x 600 x 8 0xd0000000, 35 pages
111h: 640 x 480 x 16 0:5:6:5 0xd0000000, 27 pages

This was run while in windows XP, running at 1280x800 .......... so i'm somewhat clueless as to it's functinality.

My question to anyone - has anyone had luck running a 1280x800 framebuffer resolution on the console using either the dell 700m or related device running the intel 855G/M chipset?

I have tried both the intelfb, and vesa-tng framebuffer devices in kernel 2.6.14. Both with no luck. I am using a mode= paramter in my grub.conf line, not a vga= line, as i don't know the proper vesa hex mode number for 1280x800-32 for this chipset.

I'm worried that maybe part of alan's 855resolution patch needs to be implemented at a kernel level to allow for this non-standard resoultion to be used.

Let me know if you have any suggestions!!
Back to top
View user's profile Send private message
Katphish
Apprentice
Apprentice


Joined: 05 Dec 2005
Posts: 155

PostPosted: Sat Dec 31, 2005 9:04 am    Post subject: Reply with quote

Hi,

Have you tried this:

Code:
video=intelfb:1280x800-32@60


This post from 30 April 2005 on the Boulder,CO LUG says it will not work with intelfb, but will work with vesafb (I suspect that might be the regular fb not tng)

AFAIK you do not need any mode= or vga= lines in grub.conf. I have the desktop chipset version and do not have those lines in my grub.conf but the intelfb boots okay with a fbsplash albeit at 1024x768-32@70 :D

The Gentoo Wiki fbsplash howto can help you "legally" find the native supported modes
Back to top
View user's profile Send private message
tomk
Bodhisattva
Bodhisattva


Joined: 23 Sep 2003
Posts: 7221
Location: Sat in front of my computer

PostPosted: Sat Dec 31, 2005 12:01 pm    Post subject: Reply with quote

Moved from Documentation, Tips & Tricks to Kernel & Hardware, please don't post support questions to DT&T.
_________________
Search | Read | Answer | Report | Strip
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Sat Dec 31, 2005 10:08 pm    Post subject: Reply with quote

Thanks for your suggestion

I tried video=intelfb:1280x800-32@60, but still ended up with a 1024x768 framebuffer console.

Ive also tried using vesafb:1280x800-32@60 and vesafb-tng:1280x800-32@60 , neither seem to work. I've tried using vga statements, but i cant figure out which hex number to use.

Has anyone using an intel 855 chipset gotten this to work? What is your kernel command line/framebuffer device?

Thanks!!!
Back to top
View user's profile Send private message
fredgt
Apprentice
Apprentice


Joined: 06 Dec 2004
Posts: 168
Location: Belgium

PostPosted: Sat Dec 31, 2005 10:33 pm    Post subject: Reply with quote

I don't have the intel chipset so i can't say if its actualy possible but i had the same problem with my Ati Radeon in my laptop. Non of the universal framebuffer drivers ( vesafb, vesafb-tng) were able to get my a widescreen resolution. The only one that worked for my was the radeonfb driver.
So i would try the intelfb driver. Also take a good look at dmesg , it might give you some good info. Also try enabling the debug messages of the intelfb driver.
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Sun Jan 01, 2006 11:09 pm    Post subject: Reply with quote

I'm not sure if i need to compile in ONLY the intelfb driver or the intelfb driver and the generic vesa driver as well into the kernel.
Compiling both in results in a framebuffer device at /dev/fb0, however when i only compile in the intelfb driver i don't get a /dev/fb0 device and I end up with 640x480 - vbetest complains that there is no /dev/fb0 so I cant see the valid modes. Maybe I have done something wrong here?

Furthermore when i use the vesa-tng driver and run vbetest i get this output:
Code:
VBE Version 3.0
Intel(r)852GM/852GME/855GM/855GME Graphics Chip Accelerated VGA BIOS
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[273] 640x480 (5:6:5)
Type a mode number, or 'q' to quit - VBE Version 3.0

Then i Run 855Resolution replacing a video mode for 1280x800, and get this:
Code:

Intel(r)852GM/852GME/855GM/855GME Graphics Chip Accelerated VGA BIOS
[316] 1280x800 (256 color palette)
[333] 1280x800 (5:6:5)
[348] 1280x800 (8:8:8)
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[273] 640x480 (5:6:5)
Type a mode number, or 'q' to quit -


I can select 333, and the whole screen fills up with the color display at the correct 1280x800 resolution - so I know it's possible to get to that resolution.

When i've started up using the vesafb-tng driver, and after i've run 855resolution i figured i could manually set the resolution since it's recognized by vbetest now, but that didnt work either :

Code:

fbset -g 1280 800 1280 800 32
ioctl FBIOPUT_VSCREENINFO: Invalid argument


Any help / suggestions would be greatly appreciated.
Back to top
View user's profile Send private message
beissemj
Tux's lil' helper
Tux's lil' helper


Joined: 10 Jan 2005
Posts: 100
Location: Orlando, FL

PostPosted: Mon Jan 02, 2006 10:24 am    Post subject: Reply with quote

since when did the intelfb start working?

Code:
#dmesg
167:intelfb: intelfb_init
168:intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G chipsets
169:intelfb: Version 0.9.2
170:intelfb: intelfb_setup
171:intelfb: no options
172:intelfb: intelfb_pci_register
174:intelfb: fb aperture: 0xe8000000/0x8000000, MMIO region: 0xe0000000/0x80000
175:intelfb: Cannot reserve FB region.
176:intelfb: cleanup

_________________
Debian on a Dell latitude D600: http://d600.elwiki.com/
There is no such thing as a stupid question. They are just the easiest to answer.
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Mon Jan 02, 2006 4:09 pm    Post subject: Reply with quote

I get a similar output from dmesg when I'm running a kernel that has both vesafb-tng and intelfb compiled in:

Code:

intelfb: intelfb_init
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G chipsets
intelfb: Version 0.9.2
intelfb: intelfb_setup
intelfb: options: mode=1024x768-32@60
intelfb: intelfb_pci_register
intelfb: fb aperture: 0xe8000000/0x8000000, MMIO region: 0xe0000000/0x80000
intelfb: Cannot reserve FB region.
intelfb: cleanup


However, the output from dmesg changes when ONLY intelfb is compiled in, and not a generic vesa driver:

Code:

intelfb: intelfb_init
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G chipsets
intelfb: Version 0.9.2
intelfb: intelfb_setup
intelfb: options: mode=1024x768-32@60
intelfb: intelfb_pci_register
intelfb: fb aperture: 0xe8000000/0x8000000, MMIO region: 0xe0000000/0x80000
intelfb: 00:02.0: Intel(R) 855GME, aperture size 128MB, stolen memory 16252kB
intelfb: fb: 0xe8000000(+ 0x0)/0xfdf000 (0xef980000)
intelfb: MMIO: 0xe0000000/0x80000 (0xf3980000)
intelfb: ring buffer: 0xeb001000/0x10000 (0xf2981000)
intelfb: HW cursor: 0x0/0x0 (0x0) (offset 0x0) (phys 0x0)
intelfb: options: vram = 4, accel = 1, hwcursor = 0, fixed = 0, noinit = 0
intelfb: options: mode = "1024x768-32@60"
intelfb: Non-CRT device is enabled ( LVDS port ).  Disabling mode switching.
intelfb: Video mode must be programmed at boot time.
intelfb: cleanup


Again, this goes back to my previous question - which is the right way to use this driver? with a generic vesa driver as well or just the intel driver on its own? Regardless, using the intelfb driver only i am stuck at 640x480 no matter what mode options i pass to the driver, and it looks like i have the right options....

Anyone have ideas?
Back to top
View user's profile Send private message
beissemj
Tux's lil' helper
Tux's lil' helper


Joined: 10 Jan 2005
Posts: 100
Location: Orlando, FL

PostPosted: Mon Jan 02, 2006 6:59 pm    Post subject: Reply with quote

Quote:

intelfb: options: mode = "1024x768-32@60"
intelfb: Non-CRT device is enabled ( LVDS port ). Disabling mode switching.
intelfb: Video mode must be programmed at boot time..


It was always my understanding that the intelfb didn't work on LCDs.
_________________
Debian on a Dell latitude D600: http://d600.elwiki.com/
There is no such thing as a stupid question. They are just the easiest to answer.
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Mon Jan 02, 2006 7:47 pm    Post subject: Reply with quote

Yes, that seems to be true in some cases, see this post:

http://sourceforge.net/mailarchive/forum.php?thread_id=7115312&forum_id=2358

Apparently there is a workaround for this issue - however whenever i try to pass a vga directive (such as vga=0x317) I get "You have passed an undefined mode number" and i'm stuck with 640x480

I have emailed Sylvain Meyer, hopefully he will reply!

I still wonder if it's possible to do what im trying to do with the vesafb-tng driver...
Back to top
View user's profile Send private message
beissemj
Tux's lil' helper
Tux's lil' helper


Joined: 10 Jan 2005
Posts: 100
Location: Orlando, FL

PostPosted: Tue Jan 03, 2006 2:36 am    Post subject: Reply with quote

hmmm ya it seems like a patch at the kernel level similar to 855Resolution could be the solution. IF i remember correctly 855 Resolution only controls the video modes for X via xorg.conf so using that wouldn't really solve ur problem b/c you can't pass a valid video mode at grub...

As far as grub is concerned you shouldn't need a hex code

Code:

<snip grub.conf>
#video=vesafb:???x???-??@?
#ex: video=vesafb:1024x768-16@60
#
#vga=x
#          640x480  | 800x600  | 1024x768 | 1280x1024| 1152x864 |1600x1200
#        +----------+----------+----------+----------+----------+---------
#  8 bit |   769    |   771    |   773    |   775    |   353    |   800
# 15 bit |   784    |   787    |   790    |   793    |   354    |   801
# 16 bit |   785    |   788    |   791    |   794    |   355    |   802
# 24 bit |   786    |   789    |   792    |   795    |          |   803


so the only problem that remains is getting a valid video mode at boot. I'm anxious to see if you hear from Meyer.
_________________
Debian on a Dell latitude D600: http://d600.elwiki.com/
There is no such thing as a stupid question. They are just the easiest to answer.
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Tue Jan 03, 2006 6:51 am    Post subject: Reply with quote

Well, I've made some progress.

You are right, we do need a similar patch to Alain Porier's 855resolution IN the kernel so this mode replacement happens BEFORE the framebuffer driver gets loaded. The 855resolution does NOT however apply only to X, it modifies the bios that the framebuffer driver reads its info from as well (or so i think!).

So, what i did was compile vesafb-tng as a module. I booted with no video= option and I've got 640x480 - Then once i was at the console I ran the 855resolution patch, and then did a modprobe vesafb-tng, viola, it automatically picked the highest res, which was now 1280x800 instead of 1024x768 because of the patch.

This is good, because I have a full screen framebuffer now, but it's bad because I'm doing it in the user space level whereas I think all this work should be done at the kernel level - so that i can load the framebuffer driver on boot and use fbsplash etc.

All this tells me is that this is absolutely possible, I just need to find a way to integrate this behavior into the kernel.
Back to top
View user's profile Send private message
beissemj
Tux's lil' helper
Tux's lil' helper


Joined: 10 Jan 2005
Posts: 100
Location: Orlando, FL

PostPosted: Tue Jan 03, 2006 8:20 am    Post subject: Reply with quote

Now that's encouraging =) I wonder though, if it would be possible to permanently flash the VBIOS (dangerous, but if you have tested the mode in memory, no reason it shouldn't work) so that the proper modes can be selected from the get go. Currently according to this "All changes are made in memory only, and therefore not permanent. So the worst that could happen is the program could corrupt our VBIOS until you reboot."

Grr... why couldn't they have just programmed more video mode timings?

Heh, how hard can it BE to write a patch for a kernel? </sarcasm>
_________________
Debian on a Dell latitude D600: http://d600.elwiki.com/
There is no such thing as a stupid question. They are just the easiest to answer.
Back to top
View user's profile Send private message
eschoeller
n00b
n00b


Joined: 03 May 2004
Posts: 35

PostPosted: Tue Jan 03, 2006 7:51 pm    Post subject: Reply with quote

Apparently someone is able to use just vesafb-tng and select 1280x800@60 in the kernel compile options and it just works.
Check out his post:

https://forums.gentoo.org/viewtopic-p-3002197.html#3002197

I've tried this and it hasn't worked for me.
Back to top
View user's profile Send private message
ericmn
n00b
n00b


Joined: 04 Jan 2006
Posts: 2

PostPosted: Wed Jan 04, 2006 7:00 am    Post subject: Reply with quote

I'm in the same boat as you eschoeller...slightly different hardware, same issues. Here are my thoughts:

Hardware:
Ati Radeon Mobility X300 (chipset=M22 0x5460)
1280x800 native WXGA LVDS (Dell Inspiron 6000)

Situation:
1) X is working at 1280x800 (ati-drivers)
2) fbset does not list 1280x800 as a possible framebuffer mode
3) The framebuffer is working at 1024x768-24 (and -16, and 800x600-24 etc...basically all normal settings below 1280x800)
4) I have done most of my tinkering so far using the vesa and vesa-tng kernel drivers...currently testing radeon drivers

update: using radeonfb kernel driver does produce a working 1280x800 framebuffer, but then starting X crashes the machine. I had read about this issue at some point, which is why a waited on trying this driver. Anyone have a solution for the X crash?

Questions:

A) Does anybody out there actually have a working 1280x800 framebuffer using any hardware?

B) Does anyone know definitively if vesa-tng supports 1280x800?

C) Will creating a fb.modes entry for 1280x800 help? If so, how do I obtain the necessary timings info (pixclock,left,right,upper,lower,hslen,vslen)? Is there are utility I can run under X that shows the timings info for the current mode?
Back to top
View user's profile Send private message
Katphish
Apprentice
Apprentice


Joined: 05 Dec 2005
Posts: 155

PostPosted: Wed Jan 04, 2006 8:43 am    Post subject: Reply with quote

eschoeller wrote:
Well, I've made some progress.

You are right, we do need a similar patch to Alain Porier's 855resolution IN the kernel so this mode replacement happens BEFORE the framebuffer driver gets loaded. The 855resolution does NOT however apply only to X, it modifies the bios that the framebuffer driver reads its info from as well (or so i think!).

So, what i did was compile vesafb-tng as a module. I booted with no video= option and I've got 640x480 - Then once i was at the console I ran the 855resolution patch, and then did a modprobe vesafb-tng, viola, it automatically picked the highest res, which was now 1280x800 instead of 1024x768 because of the patch.

This is good, because I have a full screen framebuffer now, but it's bad because I'm doing it in the user space level whereas I think all this work should be done at the kernel level - so that i can load the framebuffer driver on boot and use fbsplash etc.

All this tells me is that this is absolutely possible, I just need to find a way to integrate this behavior into the kernel.


If you wanted to get fancy, you could make vesafb-tng a module and stick it in an initrd along with 855resolution and set it up that way. Once you know it works, you could genrerate an fbslpash initrd and graft your changes onto it. One thing to keep in mind about fbsplash is you are going to need to make your own themes for your resolution and bit depth. An fbsplash initrd is a gzip'd cpio archive FYI.

Also, you don't need both frame buffer drivers either. I do have the intelfb working with fbsplash but at a regular 1024x768 on a CRT on a desktop board.

ericmm wrote:
C) Will creating a fb.modes entry for 1280x800 help? If so, how do I obtain the necessary timings info (pixclock,left,right,upper,lower,hslen,vslen)? Is there are utility I can run under X that shows the timings info for the current mode?


The easiest way to get that info would be from the Xorg log under /var/log or run xvidtune.
Back to top
View user's profile Send private message
Gremo
Guru
Guru


Joined: 27 Feb 2006
Posts: 450

PostPosted: Sun Jun 18, 2006 2:51 am    Post subject: Reply with quote

bump-same problem here! :(
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum