Re: [kvm-devel] [PATCH] fix widescreen resolution issues (v2)

2008-02-22 Thread Arne Brutschy
Hi all,

On Fr, 2008-02-22 at 03:11 +0100, Andreas Winkelbauer wrote:
 I found out what crashed kvm when I increased VGA_RAM_SIZE in pc.h. The 
 crash was caused by a really _dirty_ hack in a kvm specific part of 
 vga.c (it took me at least an hour to find this amazing piece of code... 
 at least the HACK ALERT was a good hint ;-) ).
Ow, that really does qualify as a dirty hack. :) Thanks for finding
that! I currently don't have the time to skim through pages of code, so
sorry for my non-involvement on this issue...

 @Arne: Could you please test the patch with your setup? I hope it works 
 this time...
Yesno. It does (at least kvm does not crash), but it shows the same
dialog problems as reported by Leslie:

 I've attached the patch. It works for me (tested with windows xp as 
 guest os @ 1680x1050). As always, please test the patch. I'd highly 
 appreciate it if somebody could test it with linux as guest os.

BTW, Leslie: Which patch did you use? I attached a second patch as
Andreas forgot to include the changes in hw/pc.h.

Cheers  Good morning to the europeans ;)
Arne
diff -Naur kvm-61.orig/qemu/hw/pc.h kvm-61/qemu/hw/pc.h
--- kvm-61.orig/qemu/hw/pc.h	2008-02-19 15:58:28.0 +0100
+++ kvm-61/qemu/hw/pc.h	2008-02-21 11:52:36.0 +0100
@@ -108,9 +108,9 @@
 /* vga.c */
 
 #ifndef TARGET_SPARC
-#define VGA_RAM_SIZE (8192 * 1024)
+#define VGA_RAM_SIZE (16 * 1024 * 1024)
 #else
-#define VGA_RAM_SIZE (9 * 1024 * 1024)
+#define VGA_RAM_SIZE (17 * 1024 * 1024)
 #endif
 
 int isa_vga_init(DisplayState *ds, uint8_t *vga_ram_base,
diff -Naur kvm-61.orig/qemu/hw/vga.c kvm-61/qemu/hw/vga.c
--- kvm-61.orig/qemu/hw/vga.c	2008-02-19 15:58:28.0 +0100
+++ kvm-61/qemu/hw/vga.c	2008-02-22 10:07:14.0 +0100
@@ -1438,7 +1438,7 @@
 long page0, page1, page_min, page_max;
 vga_draw_line_func *vga_draw_line;
 /* HACK ALERT */
-#define VGA_BITMAP_SIZE ((8*1024*1024) / 4096 / 8 / sizeof(long))
+#define VGA_BITMAP_SIZE ((VGA_RAM_SIZE) / 4096 / 8 / sizeof(long))
 unsigned long bitmap[VGA_BITMAP_SIZE];
 #ifndef TARGET_IA64
 int r;
diff -Naur kvm-61.orig/qemu/hw/vga_int.h kvm-61/qemu/hw/vga_int.h
--- kvm-61.orig/qemu/hw/vga_int.h	2008-02-19 15:58:28.0 +0100
+++ kvm-61/qemu/hw/vga_int.h	2008-02-21 10:54:48.0 +0100
@@ -30,8 +30,8 @@
 /* bochs VBE support */
 #define CONFIG_BOCHS_VBE
 
-#define VBE_DISPI_MAX_XRES  1600
-#define VBE_DISPI_MAX_YRES  1200
+#define VBE_DISPI_MAX_XRES  2560
+#define VBE_DISPI_MAX_YRES  1600
 #define VBE_DISPI_MAX_BPP   32
 
 #define VBE_DISPI_INDEX_ID  0x0
diff -Naur kvm-61.orig/vgabios/vbetables-gen.c kvm-61/vgabios/vbetables-gen.c
--- kvm-61.orig/vgabios/vbetables-gen.c	2008-02-19 15:58:28.0 +0100
+++ kvm-61/vgabios/vbetables-gen.c	2008-02-21 10:54:48.0 +0100
@@ -2,7 +2,7 @@
 #include stdlib.h
 #include stdio.h
 
-#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8
+#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 16
 
 typedef struct {
 int width;
@@ -13,60 +13,69 @@
 
 ModeInfo modes[] = {
 /* standard VESA modes */
-{ 640, 400, 8  , 0x100},
-{ 640, 480, 8  , 0x101},
-{ 800, 600, 4  , 0x102},
-{ 800, 600, 8  , 0x103},
-{ 1024, 768, 4 , 0x104},
-{ 1024, 768, 8 , 0x105},
-{ 1280, 1024, 4, 0x106},
-{ 1280, 1024, 8, 0x107},
+{ 640, 400, 8, 0x100},
+{ 640, 480, 8, 0x101},
+{ 800, 600, 4, 0x102},
+{ 800, 600, 8, 0x103},
+{ 1024, 768, 4   , 0x104},
+{ 1024, 768, 8   , 0x105},
+{ 1280, 1024, 4  , 0x106},
+{ 1280, 1024, 8  , 0x107},
 { 320, 200, 15   , 0x10D},
-{ 320, 200, 16, 0x10E},
-{ 320, 200, 24, 0x10F},
+{ 320, 200, 16   , 0x10E},
+{ 320, 200, 24   , 0x10F},
 { 640, 480, 15   , 0x110},
-{ 640, 480, 16, 0x111},
-{ 640, 480, 24, 0x112},
+{ 640, 480, 16   , 0x111},
+{ 640, 480, 24   , 0x112},
 { 800, 600, 15   , 0x113},
-{ 800, 600, 16, 0x114},
-{ 800, 600, 24, 0x115},
+{ 800, 600, 16   , 0x114},
+{ 800, 600, 24   , 0x115},
 { 1024, 768, 15  , 0x116},
-{ 1024, 768, 16   , 0x117},
-{ 1024, 768, 24   , 0x118},
+{ 1024, 768, 16  , 0x117},
+{ 1024, 768, 24  , 0x118},
 { 1280, 1024, 15 , 0x119},
-{ 1280, 1024, 16  , 0x11A},
-{ 1280, 1024, 24 

Re: [kvm-devel] [PATCH] fix widescreen resolution issues (v2)

2008-02-22 Thread Andreas Winkelbauer
hi,

 @Arne: Could you please test the patch with your setup? I hope it works 
 this time...
 Yesno. It does (at least kvm does not crash), but it shows the same
 dialog problems as reported by Leslie:

I'm quite sure that this issue isn't related to the widescreen fixes. 
This visual bug seems to be around since kvm-60 or so and has been 
verified by some guys (including me) also at lower resolutions like 
1400x1050.

See this post:
http://article.gmane.org/gmane.comp.emulators.kvm.devel/13409

You could try using -no-kvm or an older kvm release for testing.

cheers,
Andi

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] fix widescreen resolution issues (v2)

2008-02-21 Thread Leslie Mann
Andreas Winkelbauer andreas.winkelbauer at gmx.at writes:

 
 hi,
 
 I found out what crashed kvm when I increased VGA_RAM_SIZE in pc.h. The 
 crash was caused by a really _dirty_ hack in a kvm specific part of 
 vga.c (it took me at least an hour to find this amazing piece of code... 
 at least the HACK ALERT was a good hint  ).
 
 I've attached the patch. It works for me (tested with windows xp as 
 guest os @ 1680x1050). As always, please test the patch. I'd highly 
 appreciate it if somebody could test it with linux as guest os.
 

Patches get me running up to 1920 x 1200 using WinXP guest!

Now that I can run higher resolutions I am seeing a screen corruption issue on
resolutions greater than 1600x1200.  Property dialogs are the easiest way to 
see the issue, a set of thin horizontal bands through the dialog with the 
desktop visible.  On certain areas of the screen the mouse pointer will also
show banding. 

Les


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel


Re: [kvm-devel] [PATCH] fix widescreen resolution issues (v2)

2008-02-21 Thread Avi Kivity
Andreas Winkelbauer wrote:
 hi,

 I found out what crashed kvm when I increased VGA_RAM_SIZE in pc.h. 
 The crash was caused by a really _dirty_ hack in a kvm specific part 
 of vga.c (it took me at least an hour to find this amazing piece of 
 code... at least the HACK ALERT was a good hint ;-) ).

 I've attached the patch. It works for me (tested with windows xp as 
 guest os @ 1680x1050). As always, please test the patch. I'd highly 
 appreciate it if somebody could test it with linux as guest os.

 @Arne: Could you please test the patch with your setup? I hope it 
 works this time...


The patch doesn't include the change to VGA_RAM_SIZE!  How can this work?

Please send separate patches for the bios and qemu.

-- 
Do not meddle in the internals of kernels, for they are subtle and quick to 
panic.


-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel