i945gm video driver problem and solution

Problems and successes with specific brands/models of computer video hardware
Message
Author
kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

i945gm video driver problem and solution

#1 Post by kirk »

My wife got an Acer Aspire 3690 and I had a problem getting DRI going with the built-in intel 945gm chipset video. After setting everything up if you tried glxgears you'd get this error:
ERROR! sizeof(I830DRIRec) does not match passed size from device driver
After some googling it looked like it was a Mesa bug. So I built the latest version of mesa (6.5.2), but that didn't work because I had to use a newer version of libdrm. So then I built Mesa version 6.5 and now all is happy! Thought I'd post the i915_dri.so that I compiled in case someone else needs it.

By the way, the 945gm uses the i810 kernel module and in the xorg.conf, puppy correctly sets it that way.


I did a "strip --strip-unneeded" to the file (it was 19MB). If it doesn't work stripped like this let me know and I'll upload it else where.

Sharke
Posts: 22
Joined: Wed 17 Aug 2005, 02:43
Location: Brisbane Australia

#2 Post by Sharke »

Intel 945GM same error You solved my problem.
Thankyou
Regards
Sharke
Puppy Full Speed Aheadnewsharkee@hypermax.net.au

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

{Please help

#3 Post by Wilsonb »

Hia,


Sorry I am a novice at this.. Please bare with me..

I am using Puppy 2.16 off a USB
I usually use a Dell GX520 = Intel 945G graphics card.
Puppy seems to always start with standard 810 drivers. I have used the 3Dcc control to install the 915g drivers without luck. It installs, but how do I activate it? Make puppy use it?
Here is the result.
Your /var/log/Xorg.0.log reports you have this card:

(--) PCI:*(0:2:0) Intel Corporation 945G Integrated Graphics Controller rev 2, Mem @ 0xfeb00000/19, 0xe0000000/28, 0xfeac0000/18, I/O @ 0xe898/3

Your current X server uses this standard-driver:
i810

DRI is NOT active.
______________________________
Ultimately, I would like to get OpenGL working in puppy so I can use enlightment or different types of Window Mangers with hardware accelerations..for window flipping etc..
"Eye Candy"

Also, is there a type of boot up menu app where I can choose the window manager at boot up?
What happens if I get this setup and then boot up on another type of system. I guess I could always run xorg from the Xserver.


Thanks so much..

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#4 Post by kirk »

Wilsonb,

Your to quick for me! That was a test. Download this file.

http://upload2.net/page/download/vAKxBm ... r.bz2.html

Extract it to /

Edit /etc/X11/xorg.conf. Add this line:
Load "dri"
The first part of your xorg.conf should look something like this:

#Special base config file used in Puppy Linux.

# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"

# This loads the DBE extension module.

Load "dbe" # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection

# This loads the font modules
Load "type1"
Load "freetype"

# This loads the GLX module
Load "glx"
Load "dri"

# This loads xtrap extension, used by xrandr
Load "xtrap"

EndSection
Reboot and you should be good. If your going to play games you'll need the SDL libs too. Search the forum. If It doesn't work try it with a new pup_save file.
Last edited by kirk on Wed 04 Jul 2007, 01:38, edited 1 time in total.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#5 Post by Wilsonb »

Thanks...
But, what do I do? I mean, I downloaded file and extracted to the folders..
There were no instructions..

Do I need to edit xorg.con file? Do I need to edit any other files?

Thanks

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#6 Post by kirk »

Wilsonb,

Edited previous post. Let me know how it goes.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#7 Post by Wilsonb »

thanks for more details.. :lol:
Here is what it looks like now. it might be over kill..


Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "i810" #card0driver
VendorName "Intel Corporation"
BoardName "945G Integrated Graphics Controller"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
Subsection "Display"
Depth 16
Modes "1024x768"
EndSubsection
EndSection

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection

# This loads the font modules
Load "type1"
Load "freetype"

# This loads the GLX module
Load "glx"
Load "dri"

# This loads xtrap extension, used by xrandr
Load "xtrap"

EndSection

Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection


#PuppyHardwareProfile=Intel_r_Lakeport_G_Graphics_ChipDEL4014
Last edited by Wilsonb on Fri 13 Jul 2007, 19:28, edited 1 time in total.

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#8 Post by kirk »

Gee, not sure if that will work. You've got some things repeated. Just add:

Load "dri"

after

Load "glx"

in the Modules section.

If you have problems and want a new xorg.conf file to work with. Delete the xorg.conf file and restart X. That will run the xorgwizard again and recreate the xorg.conf file.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#9 Post by Wilsonb »

Thanks for you help..

Extracted above package to
\

Modified
etc/X11/xorg.conf
I added
Load "dri"
line after the glx.

Note: it shows it's using standard i810 how do I change it to 945G driver?

I still get this when trying to configure with
3Dcc,
Your /var/log/Xorg.0.log reports you have this card:

(--) PCI:*(0:2:0) Intel Corporation 945G Integrated Graphics Controller rev 2, Mem @ 0xfeb00000/19, 0xe0000000/28, 0xfeac0000/18, I/O @ 0xe898/3

Your current Xserver uses this standard-driver:
i810

DRI is NOT active.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#10 Post by Wilsonb »

Cleaned up the xorg.conf file...

got it working now..

Your /var/log/Xorg.0.log reports you have this card:

(--) PCI:*(0:2:0) Intel Corporation 945G Integrated Graphics Controller rev 2, Mem @ 0xfeb00000/19, 0xe0000000/28, 0xfeac0000/18, I/O @ 0xe898/3

Your current Xserver uses this standard-driver:
i810

DRI IS active.

How do I verify open GL is running?

Now If could only get Enlightenment to work ;-)

Thanks..

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#11 Post by kirk »

Unzip and run glxgears. If it's only 100fps or so. It's not working. Or you can also install this SDL. package and try a game. If you like shooters, go here and get Open Arena:

http://www.murga-linux.com/puppy/viewto ... 46&t=13621
Attachments
glxgears.gz
glx test
(14.83 KiB) Downloaded 1005 times

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#12 Post by Wilsonb »

Well, saw Puppy 2.17 was avail..
Read something about the old puppy save file not compatible, so tried to do everything from scratch again.
And can't seem to get Dri to be active for starters. Iv'e been searching the web and downloading the latest drivers it seems.. (Can't even tell how to compare versions..)

Here is the log file.. It's got errors.. not sure why (yet ;-) Im learning.. below the log file is my xorg config file.

Thanks so much

II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R7/lib/xorg/modules//libint10.so
(II) I810(0): initializing int10
(WW) I810(0): Bad V_BIOS checksum
(II) I810(0): Primary V_BIOS segment is: 0xc000
(II) I810(0): VESA BIOS detected
(II) I810(0): VESA VBE Version 3.0
(II) I810(0): VESA VBE Total Mem: 7872 kB
(II) I810(0): VESA VBE OEM: Intel(r)Lakeport-G Graphics Chip Accelerated VGA BIOS
(II) I810(0): VESA VBE OEM Software Rev: 1.0
(II) I810(0): VESA VBE OEM Vendor: Intel Corporation
(II) I810(0): VESA VBE OEM Product: Intel(r)Lakeport-G Graphics Controller
(II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0
(II) I810(0): Allocated 128 kB for the ring buffer at 0x0
(II) I810(0): Allocating at least 256 scanlines for pixmap cache
(II) I810(0): Initial framebuffer allocation size: 12288 kByte
(II) I810(0): Allocated 4 kB for HW cursor at 0xffff000 (0x3712c000)
(II) I810(0): Allocated 16 kB for HW (ARGB) cursor at 0xfffb000 (0x37134000)
(II) I810(0): Allocated 4 kB for Overlay registers at 0xfffa000 (0x3712f000).
(WW) I810(0): xf86AllocateGARTMemory: allocation of 16 pages failed
(Cannot allocate memory)
(II) I810(0): Allocated 64 kB for the scratch buffer at 0xffea000
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
[drm] failed to load kernel module "i915"
(II) I810(0): [drm] drmOpen failed

(EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.
(WW) I810(0): xf86AllocateGARTMemory: allocation of 1345 pages failed
(Cannot allocate memory)
(II) I810(0): 0x81e59f8: Memory at offset 0x00100000, size 12288 kBytes
(II) I810(0): 0x81e6600: Memory at offset 0x0ffff000, size 4 kBytes
(II) I810(0): 0x81e6660: Memory at offset 0x0fffb000, size 16 kBytes
(II) I810(0): 0x81e6434: Memory at offset 0x00000000, size 128 kBytes
(II) I810(0): 0x81e5a38: Memory at offset 0x0ffea000, size 64 kBytes
(II) I810(0): 0x81e6b28: Memory at offset 0x0fffa000, size 4 kBytes
(==) I810(0): Write-combining range (0xe0000000,0x10000000)
(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(WW) I810(0): Extended BIOS function 0x5f05 not supported.
(II) I810(0): xf86BindGARTMemory: bind key 4 at 0x007bf000 (pgoffset 1983)
(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x0ffff000 (pgoffset 65535)
(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x0fffb000 (pgoffset 65531)
(II) I810(0): xf86BindGARTMemory: bind key 3 at 0x0ffea000 (pgoffset 65514)
(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x0fffa000 (pgoffset 65530)
(WW) I810(0): Extended BIOS function 0x5f05 not supported.
(II) I810(0): BIOS call 0x5f05 not supported, setting refresh with VBE 3 method.
(II) I810(0): Setting refresh with VBE 3 method.
(II) I810(0): Display plane A is enabled and connected to Pipe A.
(II) I810(0): Display plane B is disabled and connected to Pipe B.
(II) I810(0): Enabling plane A.
(II) I810(0): Display plane A is now enabled and connected to Pipe A.
(II) I810(0): Display plane B is now disabled and connected to Pipe B.
(II) I810(0): PIPEACONF is 0x80000000
(II) I810(0): PIPEBCONF is 0x80000000
(II) I810(0): Mode bandwidth is 78 Mpixel/s
(WW) I810(0): Extended BIOS function 0x5f28 not supported.
(II) I810(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
8x8 mono pattern filled rectangles
Indirect CPU to Screen color expansion
Solid Horizontal and Vertical Lines
Offscreen Pixmaps
Setting up tile and stipple cache:
16 128x128 slots
4 256x256 slots
(==) I810(0): Backing store disabled
(==) I810(0): Silken mouse enabled
(II) I810(0): Initializing HW Cursor
(**) Option "dpms"
(**) I810(0): DPMS enabled
(II) I810(0): Set up overlay video
(II) I810(0): Set up textured video
(II) I810(0): direct rendering: Failed

Here is my Xorg.conf file.. ( I always make backups of this since it seems to change sometimes.. and lose what I added)

#Special base config file used in Puppy Linux.

# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"

# This loads the DBE extension module.

Load "dbe" # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection

# This loads the font modules
Load "type1"
Load "freetype"

# This loads the GLX module
Load "glx"
Load "dri"

# This loads xtrap extension, used by xrandr
Load "xtrap"

EndSection

# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.

RgbPath "/usr/X11R7/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)

FontPath "/usr/X11R7/lib/X11/fonts/misc/"
FontPath "/usr/X11R7/lib/X11/fonts/Type1/"
FontPath "/usr/X11R7/lib/X11/fonts/TTF/"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Enables mode switching with xrandr
# There is a report that this can cause Xorg not to work on some
# video hardware, so default is commented-out...
# but i want to use it in xorgwizard so leave on...

Option "RandR" "on"

EndSection

#everything past here is auto-generated by Puppy's Xorg Wizard...


Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "dell"
Option "XkbLayout" "us" #xkeymap0
Option "XkbOptions" "altwin:super_win"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2" #mouse0protocol
Option "Device" "/dev/mouse"
#Option "Emulate3Buttons"
#Option "Emulate3Timeout" "50"
Option "ZAxisMapping" "4 5" #scrollwheel
EndSection

Section "Monitor"
#DisplaySize 380 300 # mm
Identifier "Monitor0"
VendorName "DEL"
ModelName "DELL 1907FP"
### Comment all HorizSync and VertSync values to use DDC:
Option "DPMS"
HorizSync 31.0-83.0
VertRefresh 56.0-72.0
#UseModes "Modes0" #monitor0usemodes
EndSection

Section "Modes"
Identifier "Modes0"
#modes0modeline0
EndSection

Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
Option "PageFlip" "true"
Option "DRI" "true"
Identifier "Card0"
Driver "i810" #card0driver
VendorName "Intel Corporation"
BoardName "945G Integrated Graphics Controller"
BusID "PCI:0:2:0"
VideoRam 65536

EndSection

Section "Extensions"
Option "Composite" "Enable"
Option "RENDER" "Enable"
EndSection

Section "DRI"
Group 0
Mode 0666
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Subsection "Display"
Depth 24
Modes "1280x1024"
EndSubsection
EndSection

#PuppyHardwareProfile=Intel_r_Lakeport_G_Graphics_ChipDEL4014

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#13 Post by kirk »

Looks like it's not loading the i915 kernel module. The kernel changed in 2.17a. Make sure your using the kernel module that came with 217 and not something that was posted. The i945 (or i810, not sure which it really uses) kernel module should be found in /lib/modules/2.6.21.5/kernel/drivers/char/drm. If you're running ram-only (no pup_save file). Puppy won't load that module, at least 2.16 wouldn't. If your not sure that the i915 module in /lib/modules/2.6.21.5/kernel/drivers/char/drm is the correct one, you can copy it from the zdrv_217.sfs file. You can just click on the zdrv_217.sfs file to mount it. That's a new feature for 217. I haven't tried gitting dri going with 217 yet. I think the 915_dri.so file I posted should still work along with the other missing Xorg libs.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#14 Post by Wilsonb »

thank you,

I copied the the drm.ko and i810.drm from the zdrv_217.sfs located on the main SD file itself to my /lib/modules/2.6.21.5/kernel/drivers/char/drm

it had a modify date of June 23
the orginal and the one copying to were the same anyway..
Still no Dir Active..

Any other ideas?


side problem..
Something I just did made me lose my menu apps on left. the only thing that shows up is;
Help and shutdown.
(And the apps I placed on desktop are there.)
/my-roxapps
Is empty.. is there were the menu apps are located?

thanks so much for all your help and time..

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#15 Post by Dougal »

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
To me that looks like a device node is missing...
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#16 Post by Wilsonb »

Dougal wrote:
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
To me that looks like a device node is missing...
Thanks, how do add it?

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#17 Post by Dougal »

Wilsonb wrote:
Dougal wrote:
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
To me that looks like a device node is missing...
Thanks, how do add it?
You'll need the mknod utility, found in the devx (or just taken from another distro...).
Then run:

Code: Select all

mknod /dev/dri/card0 -m 0666 c 226 0
I hope those parameters are correct -- I had to google to find them.

Maybe Kirk can just make it and post the file here...

You should obviously have a look in /dev and see that it's really missing.

Another possible thing: in the thread where I found that info, it was mentioned that the driver might create that node on-the-fly, when you start X -- maybe you'll need to have the mknod utility so it can do it.

Where is Kirk? He should know better than me about these things.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#18 Post by kirk »

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
It's not that unusual to get that a few times. Do a lsmod and make sure you have:

intel_agp
agpgart

You might have somthing other than intel_agp, but you must have agpgart.

This looks bad:
[drm] failed to load kernel module "i915"
Do a depmod -a and try again. I just tried dri on my laptop, it works fine. But this has an ati card. I'll try 217 on my wife's laptop (which has a 945gm) with the package I posted above and let you know how it goes. Might take a few days, she uses it a bit.

Wilsonb
Posts: 57
Joined: Wed 04 Jul 2007, 00:10

#19 Post by Wilsonb »

Thank you so much for your time/effort.

I'm antisapating the results of the same chipset. I had it working with previpus build 2.16. (Dri Active for 945g.

Speaking of chipset, (stupid question), does puppy keep seperate hardware profiles? Selecting a specifichardware config at boot,depending on system booting up from

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#20 Post by Dougal »

Wilsonb wrote: does puppy keep seperate hardware profiles? Selecting a specifichardware config at boot,depending on system booting up from
Yes. In /etc/X11 you'll see xorg.conf files with profile names and they'll be copied over xorg.conf when you change HW.
Al the rest is autodetected at every boot.
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

Post Reply