summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xinitramfs/initrd-stuff/bin/hwautocfg14
-rw-r--r--initramfs/initrd-stuff/usr/share/hwdata/pcitable2
-rwxr-xr-xinitramfs/mkdxsinitrd5
4 files changed, 15 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index ad0d40f5..c3fca761 100644
--- a/Makefile
+++ b/Makefile
@@ -201,7 +201,7 @@ supported."; \
tar -xp -C $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/themes; cd ..; \
cp -pP tools/busybox{,.links,.x86_64,.i586} \
$(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/busybox/; \
- cp -pP tools/ddcprobe{,.x86_64,.i586} \
+ cp -pP tools/{ddcprobe,915resolution}{,.x86_64,.i586} \
$(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/ramfstools; \
cp -p tools/splashy{,_update} $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/splashy/; \
cp -p tools/mksquashfs $(SLX_BUILD_PATH)$(SLX_BASE_PATH)/share/squashfs/; \
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 \