Updated Intel & VIA kernel modules for k2.6.21.7 and k2.6.25
Posted: Fri 10 Jul 2009, 01:52
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
.=.
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
.=.