Page 1 of 1

Updated Intel & VIA kernel modules for k2.6.21.7 and k2.6.25

Posted: Fri 10 Jul 2009, 01:52
by Patriot
Hmmm .....

I've done some backporting for the intel-agp & via-agp module initially for kernel 2.6.21.7 and recently for kernel 2.6.25.16 to match kernel 2.6.30. Also, an updated kernel DRM module with compatible drm_pciids is also included.


Who may need this and why ?

If you're (like me) running puppy kernel 2.6.21.7 then xorg doesn't run (read: intialize and configure) properly on newer Intel GMA (IGP) or the VIA P4M900 hardware. This is due to the agp port not being properly recognized. To remedy this, we need updated intel/via agp (and related) kernel module to allow xorg to find, configure and use intel GMA hardware.


Intel AGP support by kernel version

Kernel 2.6.21.7
----------------------------------------
i440LX/BX/GX, i810/E, i815, i820, i830,
i840, i845/G, i850, i855PM/GM, i860,
i865, i875, i7505, i7205, i915G/GM,
i945G/GM, i946GZ, i965G/Q/GM

Kernel 2.6.25.16
----------------------------------------
i440LX/BX/GX, i810/E, i815, i820, i830,
i840, i845/G, i850, i855PM/GM, i860,
i865, i875, i7505, i7205, i7221,
i915G/GM, i945G/GM/GME, i946GZ, G31,
i965G/Q/GM/GME, G35, Q33, Q35, GM45

Kernel 2.6.30
----------------------------------------
i440LX/BX/GX, i810/E, i815, i820, i830,
i840, i845/G, i850, i854, i855PM/GM,
i860, i865, i875, i7505, i7205, i7221,
i915G/GM, i945G/GM/GME, i946GZ, G31,
i965G/Q/GM/GME, G33, G35, G41, G45,
GM45, Q33, Q35, Q45


The updated intel-agp modules (available below as pet & archive) have been updated to include all of kernel 2.6.30 intel agp chipset IDs minus i854 and also updated for VIA P4M900. When possible, updated code logic is also backported. If some code logic is not backported, it is due to non-supported functions/features in the current kernel (or workaround is not yet implemented).


How to use them ?

For Kernel 2.6.21.7:
----------------------------------------
1. find /lib/modules/2.6.21.7/kernel/drivers/char/agp folder.
2. make a copy of agpgart.ko, intel-agp.ko & via-agp.ko (just rename them).

3. find /lib/modules/2.6.21.7/kernel/drivers/char/drm folder. (note 1)
4. make a copy of drm.ko, i915.ko & via.ko (just rename them).

5. use the pet package below to install the updated modules
6. open a terminal and type 'depmod -a'

7. reboot
8. run xorgwizard


For Kernel 2.6.25.16:
----------------------------------------
1. find /lib/modules/2.6.25.16/kernel/drivers/char/agp folder.
2. make a copy of agpgart.ko, intel-agp.ko & via-agp.ko (just rename them).

3. find /lib/modules/2.6.25.16/kernel/drivers/char/drm folder. (note 1)
4. make a copy of drm.ko, i915.ko & via.ko (just rename them).

5. use the pet package below to install the updated modules
6. open a terminal and type 'depmod -a'

7. reboot
8. run xorgwizard

note 1: updated drm module is required if you want DRI.


For VIA P4M900 machines:
----------------------------------------
1. Perform kernel module update as appropriate and stop at step 7.
2. Install the openchrome pet before rebooting.
3. After openchrome drivers is installed, proceed to reboot and run xorgwizard.


Source Code

I've provided below the patched source code for anyone who wants to tinker. It can be compiled as an external module or added into the source tree.

Compiling the agp modules is straight forward. Unpack the archive somewhere. Go into the appropriate folder and type make to compile.

Compiling the drm is a little bit more involved. You'll have to copy over the updated drm_pciids.h to the kernel source tree. Open a terminal and do:

# cd /usr/src/linux
# mkdir .tmp_versions
# make drivers/char/drm/drm.ko
# make drivers/char/drm/i915.ko
# make drivers/char/drm/via.ko

Of course, the pre-requisite basic ingredient for compiling the modules would be:
1. the appropriate devx sfs
2. the approriate kernel source sfs


Known Issues

- I admit that I'm lame with C.
- The Intel kernel modules has backported codes that is not fully/extensively/properly tested.


Disclaimer

I am liable for absolutely nothing to anyone using this piece of modified software. Use them at your own peril.

These were made in the hope that it may be useful. However, I do not own intel hardware above i810 and the only tests that I was able to run was on a loaned i945GZ and G45 machines with a 17" CRT monitor (no, I have no LCDs). I've done what I can within my ability to ensure that the backported codes works as intended.

So, if smoke comes out of your machine or all your mp3 songs suddenly vanished then you have been warned.


Rgds



.=.

Posted: Fri 10 Jul 2009, 02:48
by tempestuous
Very cool, Patriot.
I will mention this post to others who are trying to get 3D working on newer Intel graphics devices.

Regarding Openchrome, sadly they still haven't implemented the promised MPEG4 hardware acceleration feature.
http://www.openchrome.org/trac/wiki/SupportedHardware
If they do, relatively low-powered computers with onboard Unichrome graphics will become prime candidates for High-Definition media centre units.

xf86-video-intel driver pets (v2.6.0 & v2.7.0)

Posted: Fri 10 Jul 2009, 21:32
by Patriot
Hmmm .....

I'm under the impression that xorg intel drivers beginning v2.7.1 and above will require xorg-server 1.6.1 and support for older xorg-server versions may be dropped. Probably due to newer kernel requirements , DRI2 and UXA ... whatever that is ...

I've made a quick compile with intel driver v2.6.0 and v2.7.0 versions. I'm able to make a clean compile for v2.6.0 by adding just one missing def header. I'm also able to make a clean compile for v2.7.0 by commenting out one unused subroutine.

Please find both xf86-video-intel driver pets for xorg versions 2.6.0 and 2.7.0 below. Both are compiled against xorg-server-1.3.0 currently in use by puppy 4.x. Also, an updated libdrm-2.4.9 pet is included as required by these two new drivers.

intel v.2.6.0/v2.7.0 chipset support as described in its man page
------------------------------------------------------------------------------
i810, i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM,
865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM,
945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43 and G41

I'm unable to recommend which driver versions to use as I've no actual hardware to test them against right now. I hope to be able to do actual tests on real hardware in the near future.
tempestuous wrote:.....Regarding Openchrome, sadly they still haven't implemented the promised MPEG4 hardware acceleration feature. .....
Yes, it would be great to have h/w mpeg4 acceleration. I'm hoping that with Harald Welte's assistance this will become a reality in the coming months. I was given the impression that the h/w mpeg4 acceleration contains technology licensed from elsewhere. Openchrome developers will have to workaround those NDAs if it's true ...

I'm actually more interested to see 3D/GL fully working right now ...

Rgds


.=.

Posted: Thu 24 Sep 2009, 08:42
by scabz
So has any one tested this on a eee pc?

Posted: Tue 13 Oct 2009, 18:53
by charlie6
Hi Patriot,
thanks for your time !
...The updated intel-agp modules (available below as pet & archive) have been updated to include all of kernel 2.6.30 intel agp chipset IDs minus i854 and also updated...
May the given pets be used with pup4.3.1 k2.6.30.5?

I am looking to get OpenGL working on the latest kernel, on a PC with 845G intel onboard.
Cheers, charlie

Re: xf86-video-intel driver pets (v2.6.0 & v2.7.0)

Posted: Thu 15 Oct 2009, 03:54
by deniros
Hi patriot,

Thanks for your effort. I'll try your work this afternoon, when i come home from work, to try this on my acer aspire one 110 atom based netbook. (which has Intel 945GME Express integrated graphics)

And report if it 'll work.

Patriot wrote:Hmmm .....

I'm under the impression that xorg intel drivers beginning v2.7.1 and above will require xorg-server 1.6.1 and support for older xorg-server versions may be dropped. Probably due to newer kernel requirements , DRI2 and UXA ... whatever that is ...

I've made a quick compile with intel driver v2.6.0 and v2.7.0 versions. I'm able to make a clean compile for v2.6.0 by adding just one missing def header. I'm also able to make a clean compile for v2.7.0 by commenting out one unused subroutine.

Please find both xf86-video-intel driver pets for xorg versions 2.6.0 and 2.7.0 below. Both are compiled against xorg-server-1.3.0 currently in use by puppy 4.x. Also, an updated libdrm-2.4.9 pet is included as required by these two new drivers.

intel v.2.6.0/v2.7.0 chipset support as described in its man page
------------------------------------------------------------------------------
i810, i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM,
865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM,
945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43 and G41

I'm unable to recommend which driver versions to use as I've no actual hardware to test them against right now. I hope to be able to do actual tests on real hardware in the near future.
tempestuous wrote:.....Regarding Openchrome, sadly they still haven't implemented the promised MPEG4 hardware acceleration feature. .....
Yes, it would be great to have h/w mpeg4 acceleration. I'm hoping that with Harald Welte's assistance this will become a reality in the coming months. I was given the impression that the h/w mpeg4 acceleration contains technology licensed from elsewhere. Openchrome developers will have to workaround those NDAs if it's true ...

I'm actually more interested to see 3D/GL fully working right now ...

Rgds


.=.

Re: xf86-video-intel driver & libdrm pets

Posted: Thu 15 Oct 2009, 17:31
by Patriot
Hmmm .....

@charlie6
Yes, the xorg drivers and libdrm pets can be used on p430 k26305 as it still uses the same xorg server. The kernel modules can also be used for puppy430 but only for the appropriate kernel version.

For OpenGL, you'll need the mesa3d stuffs ... the xorg_dri-7.3-1.pet has them. Get it using the pet manager or puppy pet repository ...


@deniros
It just so happens that I was given an opportunity to play with a loaned netbook (for a couple of days of troubleshooting) that has a 945GME too ... I'm experiencing minor intermittent display corruption with drivers v2.60 and 2.70 ... So, I built a few previous versions to make some tests and the intermittent display corruption is resolved by using v2.4.3 - v2.5.1 (YMMV)..... I've also made libdrm binaries for making some tests but couldn't proceed further as the netbook needs to be returned. The latest libdrm-2.4.15 borked during compile, so the last binary would be 2.4.14 ...

Grab them if anyone wishes for it ...


Rgds

._.

Posted: Wed 11 Nov 2009, 00:20
by battleshooter
Hey Patriot,

Really appreciate all the trouble you went to to compile all this, it's fantastic! I haven't been able to use the mainstream Puppy for ages, but now I finally have high res! Sweet as man. Thank you also for your clear post with the how to. Makes it easier :)

Battleshooter

Posted: Fri 13 Nov 2009, 11:51
by Patriot
Hmmm ...

Hey there battleshooter,
battleshooter wrote:........ I haven't been able to use the mainstream Puppy for ages, but now I finally have high res! ........
Glad to know they helped with the high res ..... now, let's have some more fun with puppy ....


Rgds

Posted: Thu 26 Nov 2009, 14:08
by chrome307
Hi there

Can someone give me some advice regarding my Intel 945G drivers?

This is my current OS:

BrowserLinux 354

Base: PuppyLinux 4.3.1, kernel 2.6.30.5 (SMP)

I would like to have OpenGL support, but am unsure how or which files to download/test this.

Some help would be appreciated!

I can see the Xorg driver in puppy package manager, but I don't understand which other files to grab as none of the refer to my kernel build ( same question as Charlie earlier in the thread ).

Aspire One Puppy?

Posted: Tue 16 Aug 2011, 00:53
by Anniekin
Patriot,

I'm trying to get 3D / opengl to work Aspire One Puppy (AAO).

Do you have any words of wisdom to shed on the subject?

Now this was helpful!

Posted: Thu 08 Dec 2011, 15:44
by mikethompsonuk82
Hey Patriot, really found this a big help, thank the Google gods I found this post! lol. Penis advantage is a nice one.

Posted: Wed 29 Feb 2012, 04:06
by gemera
hi still learning linux basics

i'm trying to get puppy 4.3.1 ( I really like the GUI ) to recognise my intel 82845G/GL integrated card which i believe is part of the 845G chipset.

currently only get 640 by 480

am i right in thinking that the xorg drivers provided here should do the job?

and it would just be a question of trying each to see if it works?

i've tried simply loading the drivers and lib via PET to what seems no apparent effect

is there something else i need to do bar rebooting the computer?


any help appreciated.