From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60546) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0gNT-0006O0-2k for qemu-devel@nongnu.org; Thu, 23 Feb 2012 16:39:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S0gNR-0005xN-5g for qemu-devel@nongnu.org; Thu, 23 Feb 2012 16:39:03 -0500 Received: from smtp1-g21.free.fr ([212.27.42.1]:42987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0gNQ-0005pz-GJ for qemu-devel@nongnu.org; Thu, 23 Feb 2012 16:39:01 -0500 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Thu, 23 Feb 2012 22:39:18 +0100 Message-Id: <1330033159-15860-1-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [BUG] Multiple graphical consoles are broken (black screen) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , =?UTF-8?q?Herv=C3=A9=20Poussineau?= , Stefano Stabellini Hi, MIPS Magnum machine emulation is quite specific because it instanciates two graphical consoles. This has worked for a while, up to following commit which breaks it badly (qemu crashes): commit 3023f3329d87a6203d03a0e9ccb948772940da96 Author: aliguori Date: Fri Jan 16 19:04:14 2009 +0000 graphical_console_init change (Stefano Stabellini) =20 Patch 5/7 =20 This patch changes the graphical_console_init function to return an allocated DisplayState instead of a QEMUConsole. =20 This patch contains just the graphical_console_init change and few ot= her modifications mainly in console.c and vl.c. It was necessary to move the display frontends (e.g. sdl and vnc) initialization after machine->init in vl.c. =20 This patch does *not* include any required changes to any device, the= se changes come with the following patches. =20 Patch 6/7 =20 This patch changes the QEMUMachine init functions not to take a DisplayState as an argument because is not needed any more; =20 In few places the graphic hardware initialization function was called only if DisplayState was not NULL, now they are always called. Apart from these cases, the rest are all mechanical substitutions. =20 Patch 7/7 =20 This patch updates the graphic device code to use the new graphical_console_init function. =20 As for the previous patch, in few places graphical_console_init was c= alled only if DisplayState was not NULL, now it is always called. Apart from these cases, the rest are all mechanical substitutions. =20 Signed-off-by: Stefano Stabellini Signed-off-by: Anthony Liguori Few commits later, the following commit fixed the crash, but still kept t= he second graphical console unusable: it stays blacks and the window size is= not right. commit 42aa98e8843aa8e3e1f35991f4be63eab2417e94 Author: aliguori Date: Fri Jan 16 21:01:48 2009 +0000 Remove assumption about a single graphic console. =20 This fixes a fault with the jazz_led since it has two graphic console= s. =20 Signed-off-by: Anthony Liguori Following patch is an attempt to work-around the problem, at least for SDL display. I hope someone will be able to pin point the problem, and find the right = solution. To reproduce the problem, run: mips64el-softmmu -M magnum -bios /path/to/NTPROM.raw and try to switch to second console with Ctrl-Alt-2. You should see a sma= ll console with some lines on it. Herv=C3=A9 Poussineau (1): sdl: initialize all graphic consoles console.c | 3 +++ vl.c | 30 +++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) --=20 1.7.9