Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1969 closed bug (fixed)

No video driver for Intel 82845G/GL

Reported by: scottmc Owned by: axeld
Priority: normal Milestone: R1
Component: Drivers/Graphics/intel_extreme Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

Testing on real hardware, a DELL Optiplex GX60 small-tower, everything seems to work, except the video drops to VESA mode. Attached listdev output. (listdev > filename.txt)

Attachments (2)

listdev-Dell-Optiplex-GX60.txt (1.9 KB ) - added by scottmc 12 years ago.
dell_insp_1100_lspci.txt (1.5 KB ) - added by umccullough 12 years ago.
lspci -nn output on a Dell Inspiron 1100

Download all attachments as: .zip

Change History (18)

by scottmc, 12 years ago

comment:1 by korli, 12 years ago

Weirdly your VGA device should be supported by the intel_extreme driver (at least the PCI id is included).

comment:2 by umccullough, 12 years ago

I think one of my machines (dell inspiron 1100 laptop) even has this chipset and works (with the exception of the new splash boot issue I mentioned on the mailing list - but I will investigate that further).

You're sure there's nothing listed in /dev/graphics other than the vesa driver?

comment:3 by scottmc, 12 years ago

I checked it again this morning. /dev/graphics does show both a VESA and an extreme device, but it's still using VESA as of today's haiku build factory build image. Urias does your PC show the same info as I posted from running listdev?

comment:4 by umccullough, 12 years ago

Hmm...

I think the VESA driver also shows under my /dev/graphics (I thought this was usually the case, no? doesn't it always load even if there's an accelerated driver?)

But, curiously - how do you *know* it's using VESA for the graphics? Is it because it prompts for a reboot when attempting to change screen resolution? Is that *only* something that the VESA driver requires? (i.e. is it possible that some chipsets supported by the intel_extreme driver to require this as well if the support is missing?)

In any case, I will dig into this more tonight when I get home - all I know is that it seems pretty speedy-quick on my i845 - and I also see the intel_extreme loaded. I do get >100fps on a glteapot if that can be used for any comparison purposes.

I will also dump out a full listdev for you :)

BTW, boot splash works now on this laptop again.

comment:5 by scottmc, 12 years ago

I'm fairly sure it's using the VESA one as I'd expect the extreme driver to give me more than 8-bit color at 1024x768. BeOS works fine on this same PC. And yeah it does show a dialog box saying that it's in VESA mode and requires a reboot before the settings will take.

comment:6 by umccullough, 12 years ago

Mine starts up in 1024x768x32bpp here currently.

Check and make sure you've set the BIOS to give more than 1mb to the integrated video - this was causing me a lot of problems until I fixed that (set mine to 8mb). Currently I think the intel_extreme driver isn't smart enough to "steal" more ram for higher resolutions/bitdepths.

I'm not sure that the reboot notification on screen resolution changes necessarily indicates it's in VESA mode - I'd have to get confirmation from Axel on that. Mine does that also and I just figured there was some missing implementation in the intel_extreme driver/accelerant for mode switching on-the-fly for this chip or something.

Anyhow, I got home pretty late last night and haven't had a chance to look deeper on my laptop.

comment:7 by axeld, 12 years ago

Ah, that's very helpful. Looks like both of you are actually using the VESA driver :-) Currently, it's a bit misleading, as the driver is published. But when someone tries to open it, mapping the aperture will fail, as the Intel agp_gart bus driver does not enable that chipset yet.

Can you provide me with the device ID of the chipset? For the i865 (0x2572), it's 0x2570, so it might be 0x2560 for the i845 (0x2562). That also explains why the driver wouldn't work correctly with only 1 MB of memory. Alternatively, you could add that device ID in the table at line 47ff in src/add-ons/kernel/busses/agp_gart/intel_gart.cpp.

comment:8 by scottmc, 12 years ago

I tried setting the video buffer in BIOS setup to 8Meg, instead of 1meg and that got VESA mode working at a respectable size. Here's the info on my chipset for further debugging:

device Display controller (VGA compatible controller, VGA) [3|0|0]

vendor 8086: Intel Corporation device 2562: 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device

comment:9 by axeld, 12 years ago

I know the ID of the graphics chipset (as I said above 0x2562), but I'm not sure about the MCH. "listdev" might call it PCI-bridge, I dunno.

comment:10 by umccullough, 12 years ago

Looks like scottmc already posted the listdev output as an attachment on this ticket - and 2560 appears to be there.

I will also post the lspci -nn output in linux from my laptop in a few minutes (as I have it in ubuntu right at this moment)

by umccullough, 12 years ago

Attachment: dell_insp_1100_lspci.txt added

lspci -nn output on a Dell Inspiron 1100

comment:11 by umccullough, 12 years ago

Nice call Axel!

I added the following to my intel_gart.cpp:

{0x2560, 0x2562, INTEL_TYPE_83x, "i845G"},

And this clearly changed the driver behavior as it booted into a default to 800x600 (on a laptop display of 1024x768, this made it tile the screen)...

I was able to then use the Screen prefs to change the resolution to 1024x768x32bpp on the fly without reboot.

I also got a slightly faster GLTeapot FPS, something like 110-120fps :)

Sounds like a good change to commit.

comment:12 by axeld, 12 years ago

Thanks for testing! I've added it (and a few others) in hrev24826. Does it now work with 1MB stolen RAM as well, BTW?

It's a bit strange that the driver chooses 800x600 now, though. Oh, or do you mean the app_server (the default resolution hasn't be changed there, yet)? The boot screen should have been 1024x768 still. In any case, this probably means that EDID information could not be retrieved (and since the driver doesn't really support laptop panels yet, there are also no other means of getting the native display resolution).

comment:13 by axeld, 12 years ago

Resolution: fixed
Status: newclosed

comment:14 by axeld, 12 years ago

BTW I completely missed the attachment, sorry Scott.

in reply to:  12 comment:15 by umccullough, 12 years ago

Replying to axeld:

Thanks for testing! I've added it (and a few others) in hrev24826. Does it now work with 1MB stolen RAM as well, BTW?

I will test this soon, I'd be curious to see what the selected bootscreen resolution would be actually.

It's a bit strange that the driver chooses 800x600 now, though. Oh, or do you mean the app_server (the default resolution hasn't be changed there, yet)? The boot screen should have been 1024x768 still.

Yes, I did mean the app_server. AFAIK, the boot screen behavior didn't change, and was still 1024x768, but I wasn't paying close attention.

comment:16 by scottmc, 12 years ago

This does indeed fix the problem. One glitch though was that on first boot up the video was black on the upper 3/4ths of the screen and the bottom 1/4th showed the top 1/4 of the screen. I was able to get to the screen preps app and set the resolution to 1024x768 at 60Hz at32bit color and then reboot and all was fine. Note that I am using an LCD monitor and I think it defaulted to 640x480 at 75Hz on that first boot up. this was with it still set at *meg buffer in BIOS. I will try a fresh Haiku image tonight or tomorrow and retry with the buffer set at 1Meg.

Note: See TracTickets for help on using tickets.