From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NBaVt-0004WW-IK for qemu-devel@nongnu.org; Fri, 20 Nov 2009 15:55:29 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NBaVo-0004UD-Od for qemu-devel@nongnu.org; Fri, 20 Nov 2009 15:55:29 -0500 Received: from [199.232.76.173] (port=57368 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NBaVo-0004U5-DU for qemu-devel@nongnu.org; Fri, 20 Nov 2009 15:55:24 -0500 Received: from moutng.kundenserver.de ([212.227.126.171]:51290) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NBaVn-000780-Gj for qemu-devel@nongnu.org; Fri, 20 Nov 2009 15:55:24 -0500 Message-ID: <4B070234.9010200@mail.berlios.de> Date: Fri, 20 Nov 2009 21:55:16 +0100 From: Stefan Weil MIME-Version: 1.0 Subject: [Qemu-devel] [BUG] Displaying VGA framebuffer on SDL does not work correctly Content-Type: multipart/mixed; boundary="------------040305020303040103040201" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefano Stabellini , Anthony Liguori , Aurelien Jarno Cc: QEMU Developers This is a multi-part message in MIME format. --------------040305020303040103040201 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit VGA framebuffer shows very strange behaviour with QEMU's SDL display: I run qemu with my harddisk which contains a debian grub2 bootloader. grub2 is configured to display a 1280x1024 png background image (moreblue-orbit-grub.png resized to my monitor resolution). i386-softmmu/qemu /dev/sda -enable-kvm -enable-kvm is just to get more speed (without, it takes longer to see the bug). Running like this gives random results: sometimes, the png is shown correctly, sometimes not. But you will always get a bad display when you resize the QEMU window while in grub's boot menu (a screenshot is appended). git bisect detects this commit: 0bd8246bfec1dfb2eb959f52db535572c0260f4c is first bad commit commit 0bd8246bfec1dfb2eb959f52db535572c0260f4c Author: Stefano Stabellini Date: Mon Aug 3 16:14:39 2009 +0100 vga: do not resize the screen on hw_invalidate Hi all, currently vga always resizes the screen when vga_hw_invalidate is called while this is not required and all the other graphic emulators don't. This patch fixes it, making vga invalidate behaviour consistent with the other emulated devices. Signed-off-by: Stefano Stabellini Signed-off-by: Anthony Liguori Reverting it fixes the bug. As this is already the second bug caused by the same commit and it is also part of a stable version, I recommend reverting it (then there is more time to look for a better solution). Regards, Stefan Weil --------------040305020303040103040201 Content-Type: image/jpeg; name="grub-with-qemu.jpg" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="grub-with-qemu.jpg" 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 Uyqiod7KwWGxUgUiNAV0lcrYU1/bG1U4z8+7+VvpSnd4ftG/lb6Up3eH7ST/AFifQv8AiU18 ZWW9OpMVrHXyMWEiIqyVMcmJynPR3NhRYr3tciRMaSbOWNVxy/cojfyt9KU7vD9o38rfSlO7 w/aPLEelX86lTe5yUqI2+crlRKKzKqzX/tnNSEbFg2bHPiOV73ue9t7NXTVeJON3EhRW/lb6 Up3eH7Rv5W+lKd3h+0eSPgv6JSYcWjPgWsaHDiStGtYqK5PdVZZOWSkrSoaw4MJIsVsGEs2w mw1Rq4pcmRJ5CgN/K30pTu8P2jfyt9KU7vD9o8sfBc9at/8AyKY6SpNj3SX4zUHwtx9OplMq qvUpVLjx72Cy9tYiulO+yTBu7iyGO6Dwfc99Mv2wz4U+53QuD7nvpl+2GfBq52RqIq/FTjz/ AEMwYXz/AGZNy5ceQhYiouJJ9aGKKbAYq5ZIrUReviDVcqTVsl5JgZAxVVSUknjx4wqqmRJ4 +UDIGCOWSTSSquRVJV0v5llAyBE+Lj5DC+dNPZTGnKCmwEJkAEggAQ9qPSSrIxWC1Yd4qrIz ALYMhNY9XIqzVJYyVZNZ3zv5MgC5ReY0W+d/Icxr0k7Gk5kgAiIiIiZEJIAEggASCABIIAEg gASCABIIAEggASCCEyBGQINLmsV6Thw1VVyulMK3g57OHfSsIf8AwReMtFbZwZTySSfEWlp0 g0WcOX+SxV/ZMZLYcJzZ2UPqRCUU3A0WcLJZMnyKiBYcNP8Ass/hBSU3g0WcJWotlDypPEgW FDRJ2UPLyIKWm8HOrIcp2MLJPiyBGQlciJDhT40xYhRToBqSDCl/lM1UFjCzTNVAjaDVYws0 zVQWMLNM1UAzc1r0k5JoRZsvb2WKc8pjYws0zVQWMLNM1UC2zaxrVmiSUizZNVVqKqmNjCzT NVBYws0zVQJbKzZNFljTIZSRUycczXYws0zVQWMLNM1UA2g1WMLNM1UFjCzTNVANoNVjCzTN VBYws0zVQDaDVYws0zVQWMLNM1UA2g1WMLNM1UFjCzTNVANoNVjCzTNVBYws0zVQDaDVYws0 zVQWMLNM1UA2iZqsYWaZqoLGFmmaqAbZiZqsYWaZqoLGFmmaqAbZiZqsYWaZqoZMRGtk1ERO RAPt7heCroPks/MC4Xgq6D5MP8wd+P5ght3QuD7nvpl+2GV/EVL9qKjVyzm6SoWBuhcH3PfT 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 rGKyjviwGIkr516iqiIk5TXEC6iKTt//2Q== --------------040305020303040103040201--