aboutsummaryrefslogtreecommitdiffstats
path: root/com32/lib/sys/vesa/initvesa.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-01-22 12:21:37 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-01-22 17:36:04 -0800
commit5d4ade0221c2387345d0a82422866bb8b937cb09 (patch)
tree9143768aec9e3fb384ec2bb664361a35f401c804 /com32/lib/sys/vesa/initvesa.c
parent2219c1192672effd3d8ad878aba93b543608c9f4 (diff)
downloadsyslinux-5d4ade0221c2387345d0a82422866bb8b937cb09.tar.gz
syslinux-5d4ade0221c2387345d0a82422866bb8b937cb09.tar.xz
syslinux-5d4ade0221c2387345d0a82422866bb8b937cb09.zip
vesa: allow arbitrary resolutions on some Intel chipsets
Add some code from the tool "915resolution" to allow arbitrary resolutions to be set on some Intel chipsets. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'com32/lib/sys/vesa/initvesa.c')
-rw-r--r--com32/lib/sys/vesa/initvesa.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/com32/lib/sys/vesa/initvesa.c b/com32/lib/sys/vesa/initvesa.c
index f1224a17..0a436f4c 100644
--- a/com32/lib/sys/vesa/initvesa.c
+++ b/com32/lib/sys/vesa/initvesa.c
@@ -318,8 +318,13 @@ int __vesacon_init(int x, int y)
return 10;
rv = vesacon_set_mode(x, y);
- if (rv)
- return rv;
+ if (rv) {
+ /* Try to see if we can just patch the BIOS... */
+ if (__vesacon_i915resolution(x, y))
+ return rv;
+ if (vesacon_set_mode(x, y))
+ return rv;
+ }
init_text_display();