summaryrefslogtreecommitdiffstats
path: root/initramfs
diff options
context:
space:
mode:
authorDirk von Suchodoletz2007-12-08 20:17:07 +0100
committerDirk von Suchodoletz2007-12-08 20:17:07 +0100
commit6d120c66bdf031ccf35a0f54ca4c7da164187951 (patch)
tree815a4294689ba95d980f5a53182fd172e83e0842 /initramfs
parentTool for patching Intel chip video BIOS. (diff)
downloadcore-6d120c66bdf031ccf35a0f54ca4c7da164187951.tar.gz
core-6d120c66bdf031ccf35a0f54ca4c7da164187951.tar.xz
core-6d120c66bdf031ccf35a0f54ca4c7da164187951.zip
This should setup proper X screen resolutions on machines with Intel based
graphic adaptors (non vesa modes) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1427 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initramfs')
-rwxr-xr-xinitramfs/initrd-stuff/bin/hwautocfg14
-rw-r--r--initramfs/initrd-stuff/usr/share/hwdata/pcitable2
-rwxr-xr-xinitramfs/mkdxsinitrd5
3 files changed, 14 insertions, 7 deletions
diff --git a/initramfs/initrd-stuff/bin/hwautocfg b/initramfs/initrd-stuff/bin/hwautocfg
index 7512718f..a9029575 100755
--- a/initramfs/initrd-stuff/bin/hwautocfg
+++ b/initramfs/initrd-stuff/bin/hwautocfg
@@ -267,10 +267,16 @@ if [ ! -f /rootfs${D_XF86CONFFILE#/mnt} ] ; then
error "${xcfg_keyb}" nonfatal
fi
sed "s/XKEYBOARD/${XKEYBOARD}/" -i $xfc
- # check for kind of xorg module used
- # if intel
- # 915resolution -l|sed -n "/32 bits/p" > /tmp/ires
- # match existing and set missing resolutions
+ # check for kind of xorg module used and patch the i8,9XX VGA BIOS if needed
+ if strinfile '"i810"' $xfc && [ -f /tmp/res ] ; then
+ highres=$(sort -run /tmp/res|grep -i x -m 1)
+ 915resolution -l|sed -n "s/Mode //;/32 bits/p" > /tmp/915res
+ strinfile ${highres} /tmp/915res || {
+ 915resolution $(grep -i x -m 1 /tmp/915res|sed "s/\ :.*//") $(echo \
+ $highres|sed "s/x/\ /") 2>&1 >/dev/null;
+ # for some reason that does not work for a Dell laptop with i855 chipset
+ 915resolution 3c $(echo $highres|sed "s/x/\ /") 2>&1 >/dev/null; }
+ fi
fi
# if any new device appeared up to now
diff --git a/initramfs/initrd-stuff/usr/share/hwdata/pcitable b/initramfs/initrd-stuff/usr/share/hwdata/pcitable
index 5025e09f..d17a423a 100644
--- a/initramfs/initrd-stuff/usr/share/hwdata/pcitable
+++ b/initramfs/initrd-stuff/usr/share/hwdata/pcitable
@@ -7220,7 +7220,7 @@
0x8086 0x357b "unknown" "Intel Corp.|82835 Integrated Graphics Device"
0x8086 0x3580 "intel-agp" "Intel Corp.|852GM Host-Hub Interface Bridge"
0x8086 0x3581 "unknown" "Intel Corp.|82852GME/PM Virtual PCI to AGP Bridge"
-0x8086 0x3582 "Card:Intel 85x" "Intel Corp.|852GM/852GME/855GM/855GME Chipset Graphics Controller"
+0x8086 0x3582 "Card:Intel 855" "Intel Corp.|852GM/852GME/855GM/855GME Chipset Graphics Controller"
0x8086 0x3584 "unknown" "Intel Corp.|852GM System Memory Controller"
0x8086 0x3585 "unknown" "Intel Corp.|852GM Configuration Process"
0x8086 0x3590 "e752x_edac" "Intel Corp.|Server Memory Controller Hub"
diff --git a/initramfs/mkdxsinitrd b/initramfs/mkdxsinitrd
index 45355660..46225024 100755
--- a/initramfs/mkdxsinitrd
+++ b/initramfs/mkdxsinitrd
@@ -401,11 +401,12 @@ else
ARCH=i586
fi
-# copy the proper busybox, ddcprobe depending on architecture (i586 for 32bit
-# and x86_64 for 64bit)
+# copy the proper busybox, ddcprobe, 915resolution depending on architecture
+# (i586 for 32bit and x86_64 for 64bit)
# fixme: At the moment the busybox does not support ext2 filesystem tools
cp ${SLX_SHARE_PATH}/busybox/busybox.${ARCH} ${INSTDIR}/bin/busybox
cp ${SLX_SHARE_PATH}/ramfstools/ddcprobe.${ARCH} ${INSTDIR}/bin/ddcprobe
+cp ${SLX_SHARE_PATH}/ramfstools/915resolution.${ARCH} ${INSTDIR}/bin/915resolution
slxldd --root-path=${ROOTDIR} ${INSTDIR}/bin/busybox >>${INSTDIR}/tmp/libraries
for bbins in [ ar arping ash bunzip2 cat chmod chown chroot cp cpio cut \
date dd df dmesg du echo env expr fdisk free grep gunzip hwclock \