--- qemu-1.7.0-VTE/configure.orig	2013-12-09 16:36:36.884406900 +0100
+++ qemu-1.7.0-VTE/configure	2013-12-09 16:49:41.814837200 +0100
@@ -258,6 +258,7 @@
 virtio_blk_data_plane=""
 gtk=""
 gtkabi="2.0"
+vte=""
 tpm="no"
 libssh2=""
 vhdx=""
@@ -983,6 +984,10 @@
   ;;
   --with-gtkabi=*) gtkabi="$optarg"
   ;;
+  --disable-vte) vte="no"
+  ;;
+  --enable-vte) vte="yes"
+  ;;
   --enable-tpm) tpm="yes"
   ;;
   --disable-libssh2) libssh2="no"
@@ -1749,33 +1754,45 @@
     gtkpackage="gtk+-$gtkabi"
     if test "$gtkabi" = "3.0" ; then
       gtkversion="3.0.0"
-      vtepackage="vte-2.90"
-      vteversion="0.32.0"
     else
       gtkversion="2.18.0"
-      vtepackage="vte"
-      vteversion="0.24.0"
     fi
     if ! $pkg_config --exists "$gtkpackage >= $gtkversion"; then
         if test "$gtk" = "yes" ; then
             feature_not_found "gtk"
         fi
         gtk="no"
-    elif ! $pkg_config --exists "$vtepackage >= $vteversion"; then
-        if test "$gtk" = "yes" ; then
-            error_exit "libvte not found (required for gtk support)"
-        fi
-        gtk="no"
     else
 	gtk_cflags=`$pkg_config --cflags $gtkpackage`
 	gtk_libs=`$pkg_config --libs $gtkpackage`
+	libs_softmmu="$gtk_libs $libs_softmmu"
+	gtk="yes"
+    fi
+fi
+
+##########################################
+# VTE probe
+if test "$vte" != "no"; then
+    if test "$gtkabi" = "3.0"; then
+       vtepackage="vte-2.90"
+       vteversion="0.32.0"
+    else
+       vtepackage="vte"
+       vteversion="0.24.0"
+    fi
+    if $pkg_config --exists "$vtepackage >= $vteversion"; then
 	vte_cflags=`$pkg_config --cflags $vtepackage`
 	vte_libs=`$pkg_config --libs $vtepackage`
-	libs_softmmu="$gtk_libs $vte_libs $libs_softmmu"
-	gtk="yes"
+        libs_softmmu="$vte_libs $libs_softmmu"
+        vte="yes"
+    elif test "$vte" = "yes"; then
+        feature_not_found "vte"
+    else
+        vte="no"
     fi
 fi
 
+
 ##########################################
 # SDL probe
 
@@ -3724,6 +3741,7 @@
 echo "pixman            $pixman"
 echo "SDL support       $sdl"
 echo "GTK support       $gtk"
+echo "VTE support       $vte"
 echo "curses support    $curses"
 echo "curl support      $curl"
 echo "mingw32 support   $mingw32"
@@ -4028,6 +4046,9 @@
 if test "$gtk" = "yes" ; then
   echo "CONFIG_GTK=y" >> $config_host_mak
   echo "GTK_CFLAGS=$gtk_cflags" >> $config_host_mak
+fi
+if test "$vte" = "yes" ; then
+  echo "CONFIG_VTE=y" >> $config_host_mak
   echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
 fi
 if test "$xen" = "yes" ; then
--- qemu-1.7.0-VTE/i386-softmmu/acpi-dsdt.dsl.i.orig	2013-12-09 19:22:43.117991500 +0100
+++ qemu-1.7.0-VTE/i386-softmmu/acpi-dsdt.dsl.i	2013-12-09 19:22:43.678002700 +0100
@@ -1,4 +1,6 @@
-ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode
+
+/* ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode */
+
 DefinitionBlock (
     "acpi-dsdt.aml",
     "DSDT",
--- qemu-1.7.0-VTE/i386-softmmu/q35-acpi-dsdt.dsl.i.orig	2013-12-09 19:22:54.228213700 +0100
+++ qemu-1.7.0-VTE/i386-softmmu/q35-acpi-dsdt.dsl.i	2013-12-09 19:22:54.808225300 +0100
@@ -1,4 +1,6 @@
-ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
+
+/* ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode */
+
 DefinitionBlock (
     "q35-acpi-dsdt.aml",
     "DSDT",
--- qemu-1.7.0-VTE/i386-softmmu/ssdt-misc.dsl.i.orig	2013-12-09 19:22:51.488158900 +0100
+++ qemu-1.7.0-VTE/i386-softmmu/ssdt-misc.dsl.i	2013-12-09 19:22:52.038169900 +0100
@@ -1,30 +1,50 @@
-ACPI_EXTRACT_ALL_CODE ssdp_misc_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_misc_aml */
+
 DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC", "BXSSDTSUSP", 0x1)
 {
     Scope(\) {
-       ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_start
+       
+/* ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_start */
+
        Name(P0S, 0x12345678)
-       ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_end
+       
+/* ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_end */
+
        Name(P0E, 0x12345678)
-       ACPI_EXTRACT_NAME_BYTE_CONST acpi_pci64_valid
+       
+/* ACPI_EXTRACT_NAME_BYTE_CONST acpi_pci64_valid */
+
        Name(P1V, 0x12)
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_start
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_start */
+
        Name(P1S, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_end
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_end */
+
        Name(P1E, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_length
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_length */
+
        Name(P1L, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
     }
     Scope(\) {
-        ACPI_EXTRACT_NAME_STRING acpi_s3_name
+        
+/* ACPI_EXTRACT_NAME_STRING acpi_s3_name */
+
         Name(_S3, Package(0x04) {
             One,
             One,
             Zero,
             Zero
         })
-        ACPI_EXTRACT_NAME_STRING acpi_s4_name
-        ACPI_EXTRACT_PKG_START acpi_s4_pkg
+        
+/* ACPI_EXTRACT_NAME_STRING acpi_s4_name */
+
+        
+/* ACPI_EXTRACT_PKG_START acpi_s4_pkg */
+
         Name(_S4, Package(0x04) {
             0x2,
             0x2,
@@ -43,7 +63,9 @@
     Scope(\_SB.PCI0.ISA) {
         Device(PEVT) {
             Name(_HID, "QEMU0001")
-            ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest
+            
+/* ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest */
+
             Name(PEST, 0xFFFF)
             OperationRegion(PEOR, SystemIO, PEST, 0x01)
             Field(PEOR, ByteAcc, NoLock, Preserve) {
--- qemu-1.7.0-VTE/i386-softmmu/ssdt-pcihp.dsl.i.orig	2013-12-09 19:22:48.748104100 +0100
+++ qemu-1.7.0-VTE/i386-softmmu/ssdt-pcihp.dsl.i	2013-12-09 19:22:49.328115700 +0100
@@ -1,18 +1,32 @@
-ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml */
+
 DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
 {
     External(\_SB.PCI0, DeviceObj)
     External(\_SB.PCI0.PCEJ, MethodObj)
     Scope(\_SB.PCI0) {
-        ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start
-        ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end
-        ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name
+        
+/* ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start */
+
+        
+/* ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end */
+
+        
+/* ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name */
+
         Device(SAA) {
-            ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id
+            
+/* ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id */
+
             Name(_SUN, 0xAA)
-            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr
+            
+/* ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr */
+
             Name(_ADR, 0xAA0000)
-            ACPI_EXTRACT_METHOD_STRING ssdt_pcihp_ej0
+            
+/* ACPI_EXTRACT_METHOD_STRING ssdt_pcihp_ej0 */
+
             Method(_EJ0, 1) {
                 Return (PCEJ(_SUN))
             }
--- qemu-1.7.0-VTE/i386-softmmu/ssdt-proc.dsl.i.orig	2013-12-09 19:22:46.038049900 +0100
+++ qemu-1.7.0-VTE/i386-softmmu/ssdt-proc.dsl.i	2013-12-09 19:22:46.628061700 +0100
@@ -1,11 +1,21 @@
-ACPI_EXTRACT_ALL_CODE ssdp_proc_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_proc_aml */
+
 DefinitionBlock ("ssdt-proc.aml", "SSDT", 0x01, "BXPC", "BXSSDT", 0x1)
 {
-    ACPI_EXTRACT_PROCESSOR_START ssdt_proc_start
-    ACPI_EXTRACT_PROCESSOR_END ssdt_proc_end
-    ACPI_EXTRACT_PROCESSOR_STRING ssdt_proc_name
+    
+/* ACPI_EXTRACT_PROCESSOR_START ssdt_proc_start */
+
+    
+/* ACPI_EXTRACT_PROCESSOR_END ssdt_proc_end */
+
+    
+/* ACPI_EXTRACT_PROCESSOR_STRING ssdt_proc_name */
+
     Processor(CPAA, 0xAA, 0x00000000, 0x0) {
-        ACPI_EXTRACT_NAME_BYTE_CONST ssdt_proc_id
+        
+/* ACPI_EXTRACT_NAME_BYTE_CONST ssdt_proc_id */
+
         Name(ID, 0xAA)
         Name(_HID, "ACPI0007")
         External(CPMA, MethodObj)
--- qemu-1.7.0-VTE/Makefile.objs.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/Makefile.objs	2013-12-09 16:36:36.931206900 +0100
@@ -19,6 +19,8 @@
 block-obj-y += qemu-coroutine-sleep.o
 block-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
 
+block-obj-$(CONFIG_WIN32) += version.o
+
 ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
 # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
 # only pull in the actual virtio-9p device if we also enabled virtio.
--- qemu-1.7.0-VTE/Makefile.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/Makefile	2013-12-09 16:38:46.645206900 +0100
@@ -147,7 +147,7 @@
 	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,)
 
 pixman/Makefile: $(SRC_PATH)/pixman/configure
-	(cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static)
+	(cd pixman; CFLAGS="$(CFLAGS)  $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static)
 
 $(SRC_PATH)/pixman/configure:
 	(cd $(SRC_PATH)/pixman; autoreconf -v --install)
@@ -174,11 +174,10 @@
 
 bt-host.o: QEMU_CFLAGS += $(BLUEZ_CFLAGS)
 
-$(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc $(BUILD_DIR)/config-host.h | $(BUILD_DIR)/version.lo
+$(BUILD_DIR)/version.o: $(SRC_PATH)/version.rc $(SRC_PATH)/qemu.ico $(BUILD_DIR)/config-host.h | $(BUILD_DIR)/version.lo
 	$(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"  RC    version.o")
-$(BUILD_DIR)/version.lo: $(SRC_PATH)/version.rc $(BUILD_DIR)/config-host.h
+$(BUILD_DIR)/version.lo: $(SRC_PATH)/version.rc $(SRC_PATH)/qemu.ico $(BUILD_DIR)/config-host.h
 	$(call quiet-command,$(WINDRES) -I$(BUILD_DIR) -o $@ $<,"  RC    version.lo")
-
 Makefile: $(version-obj-y) $(version-lobj-y)
 
 ######################################################################
@@ -191,9 +190,9 @@
 
 qemu-img.o: qemu-img-cmds.h
 
-qemu-img$(EXESUF): qemu-img.o $(block-obj-y) libqemuutil.a libqemustub.a
-qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) libqemuutil.a libqemustub.a
-qemu-io$(EXESUF): qemu-io.o $(block-obj-y) libqemuutil.a libqemustub.a
+qemu-img$(EXESUF): qemu-img.o $(block-obj-y) $(version-obj-y) libqemuutil.a libqemustub.a
+qemu-nbd$(EXESUF): qemu-nbd.o $(block-obj-y) $(version-obj-y) libqemuutil.a libqemustub.a
+qemu-io$(EXESUF): qemu-io.o $(block-obj-y) $(version-obj-y) libqemuutil.a libqemustub.a
 
 qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o
 
@@ -341,6 +340,7 @@
 	$(INSTALL_DIR) "$(DESTDIR)$(qemu_confdir)"
 
 install-sysconfig: install-datadir install-confdir
+	$(INSTALL_DATA) $(SRC_PATH)/qemu.ico "$(DESTDIR)$(qemu_confdir)"
 	$(INSTALL_DATA) $(SRC_PATH)/sysconfigs/target/target-x86_64.conf "$(DESTDIR)$(qemu_confdir)"
 
 install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \
@@ -489,11 +489,12 @@
 	makensis $(nsisflags) \
                 $(if $(BUILD_DOCS),-DCONFIG_DOCUMENTATION="y") \
                 $(if $(CONFIG_GTK),-DCONFIG_GTK="y") \
-                -DBINDIR="${INSTDIR}" \
+                -DBINDIR=`cygpath -w "${INSTDIR}"` \
+                -DCONFSUFFIX="/Bios" \
                 $(if $(DLL_PATH),-DDLLDIR="$(DLL_PATH)") \
-                -DSRCDIR="$(SRC_PATH)" \
-                -DOUTFILE="$(INSTALLER)" \
-                $(SRC_PATH)/qemu.nsi
+                -DSRCDIR=`cygpath -w "$(SRC_PATH)"` \
+                -DOUTFILE=`cygpath -w "$(INSTALLER)"` \
+                `cygpath -w $(SRC_PATH)/qemu.nsi`
 	rm -r ${INSTDIR}
 ifdef SIGNCODE
 	$(SIGNCODE) $(INSTALLER)
--- qemu-1.7.0-VTE/qemu.nsi.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/qemu.nsi	2013-12-09 16:36:36.993606900 +0100
@@ -28,6 +28,12 @@
 !ifndef BINDIR
 !define BINDIR nsis.tmp
 !endif
+!ifndef CONFSUFFIX
+!define CONFSUFFIX ""
+!endif
+!ifndef CONFDIR
+!define CONFDIR "${BINDIR}${CONFSUFFIX}"
+!endif
 !ifndef SRCDIR
 !define SRCDIR .
 !endif
@@ -119,13 +125,13 @@
     File "${SRCDIR}\README"
     File "${SRCDIR}\VERSION"
 
-    File "${BINDIR}\*.bmp"
-    File "${BINDIR}\*.bin"
-    File "${BINDIR}\*.dtb"
-    File "${BINDIR}\*.rom"
-    File "${BINDIR}\openbios-*"
+    File "${CONFDIR}\*.bmp"
+    File "${CONFDIR}\*.bin"
+    File "${CONFDIR}\*.dtb"
+    File "${CONFDIR}\*.rom"
+    File "${CONFDIR}\openbios-*"
 
-    File /r "${BINDIR}\keymaps"
+    File /r "${CONFDIR}\keymaps"
 !ifdef CONFIG_GTK
     File /r "${BINDIR}\share"
 !endif
@@ -167,11 +173,12 @@
 !ifdef CONFIG_DOCUMENTATION
 Section "Documentation" SectionDoc
     SetOutPath "$INSTDIR"
-    File "${BINDIR}\qemu-doc.html"
-    File "${BINDIR}\qemu-tech.html"
+    File "${BINDIR}\Doc\qemu-doc.html"
+    File "${BINDIR}\Doc\qemu-tech.html"
+	;; File "${BINDIR}\Doc\*.txt"
     CreateDirectory "$SMPROGRAMS\${PRODUCT}"
-    CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\qemu-doc.html" "" "$INSTDIR\qemu-doc.html" 0
-    CreateShortCut "$SMPROGRAMS\${PRODUCT}\Technical Documentation.lnk" "$INSTDIR\qemu-tech.html" "" "$INSTDIR\qemu-tech.html" 0
+    CreateShortCut "$SMPROGRAMS\${PRODUCT}\User Documentation.lnk" "$INSTDIR\Doc\qemu-doc.html" "" "$INSTDIR\Doc\qemu-doc.html" 0
+    CreateShortCut "$SMPROGRAMS\${PRODUCT}\Technical Documentation.lnk" "$INSTDIR\Doc\qemu-tech.html" "" "$INSTDIR\Doc\qemu-tech.html" 0
 SectionEnd
 !endif
 
@@ -205,19 +212,19 @@
     Delete "$INSTDIR\COPYING.LIB"
     Delete "$INSTDIR\README"
     Delete "$INSTDIR\VERSION"
-    Delete "$INSTDIR\*.bmp"
-    Delete "$INSTDIR\*.bin"
-    Delete "$INSTDIR\*.dll"
-    Delete "$INSTDIR\*.dtb"
-    Delete "$INSTDIR\*.rom"
-    Delete "$INSTDIR\openbios-*"
+    Delete "${CONFDIR}\*.bmp"
+    Delete "${CONFDIR}\*.bin"
+    Delete "${CONFDIR}\*.dll"
+    Delete "${CONFDIR}\*.dtb"
+    Delete "${CONFDIR}\*.rom"
+    Delete "${CONFDIR}\openbios-*"
     Delete "$INSTDIR\qemu-img.exe"
     Delete "$INSTDIR\qemu-io.exe"
     Delete "$INSTDIR\qemu.exe"
     Delete "$INSTDIR\qemu-system-*.exe"
-    Delete "$INSTDIR\qemu-doc.html"
-    Delete "$INSTDIR\qemu-tech.html"
-    RMDir /r "$INSTDIR\keymaps"
+    Delete "$INSTDIR\Doc\qemu-doc.html"
+    Delete "$INSTDIR\Doc\qemu-tech.html"
+    RMDir /r "${CONFDIR}\keymaps"
     RMDir /r "$INSTDIR\share"
     ; Remove generated files
     Delete "$INSTDIR\stderr.txt"
--- qemu-1.7.0-VTE/rules.mak.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/rules.mak	2013-12-09 16:36:37.009206900 +0100
@@ -24,7 +24,7 @@
 %.o: %.c
 	$(call quiet-command,$(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<,"  CC    $(TARGET_DIR)$@")
 %.o: %.rc
-	$(call quiet-command,$(WINDRES) -I. -o $@ $<,"  RC    $(TARGET_DIR)$@")
+	$(call quiet-command,$(WINDRES) -I. -o  '$(shell cygpath -w $@)' '$(shell cygpath -w $<)',"  RC    $(TARGET_DIR)$@")
 
 ifeq ($(LIBTOOL),)
 LINK = $(call quiet-command,$(CC) $(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ \
@@ -35,7 +35,7 @@
 %.lo: %.c
 	$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC $(CC) $(QEMU_INCLUDES) $(QEMU_CFLAGS) $(QEMU_DGFLAGS) $(CFLAGS) -c -o $@ $<,"  lt CC $@")
 %.lo: %.rc
-	$(call quiet-command,$(LIBTOOL) --mode=compile --tag=RC $(WINDRES) -I. -o $@ $<,"lt RC   $(TARGET_DIR)$@")
+	$(call quiet-command,$(LIBTOOL) --mode=compile --tag=RC $(WINDRES) -I. -o '$(shell cygpath -w $@)' '$(shell cygpath -w $<)',"lt RC   $(TARGET_DIR)$@")
 %.lo: %.dtrace
 	$(call quiet-command,$(LIBTOOL) --mode=compile --tag=CC dtrace -o $@ -G -s $<, " lt GEN $(TARGET_DIR)$@")
 
--- qemu-1.7.0-VTE/ui/gtk.c.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/ui/gtk.c	2013-12-10 19:45:20.729726200 +0100
@@ -34,6 +34,10 @@
 #define GETTEXT_PACKAGE "qemu"
 #define LOCALEDIR "po"
 
+#ifdef _WIN32
+# define _WIN32_WINNT 0x0601 /* needed to get definition of MAPVK_VK_TO_VSC */
+#endif
+
 #include "qemu-common.h"
 
 #ifdef CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
@@ -50,7 +54,9 @@
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n.h>
 #include <locale.h>
+#if defined(CONFIG_VTE)
 #include <vte/vte.h>
+#endif
 #include <math.h>
 
 #include "ui/console.h"
@@ -60,17 +66,17 @@
 #include "keymaps.h"
 #include "sysemu/char.h"
 
-//#define DEBUG_GTK
-
-#ifdef DEBUG_GTK
-#define DPRINTF(fmt, ...) printf(fmt, ## __VA_ARGS__)
-#else
-#define DPRINTF(fmt, ...) do { } while (0)
+#if !defined(CONFIG_VTE)
+# define VTE_CHECK_VERSION(a, b, c) 0
 #endif
 
 #define MAX_VCS 10
 
 
+#ifndef MAPVK_VK_TO_VSC
+#define MAPVK_VK_TO_VSC     0
+#endif
+
 /* Compatibility define to let us build on both Gtk2 and Gtk3 */
 #if GTK_CHECK_VERSION(3, 0, 0)
 static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
@@ -302,7 +308,6 @@
     int fbw, fbh;
     int ww, wh;
 
-    DPRINTF("update(x=%d, y=%d, w=%d, h=%d)\n", x, y, w, h);
 
     if (s->convert) {
         pixman_image_composite(PIXMAN_OP_SRC, s->ds->image, NULL, s->convert,
@@ -396,8 +401,6 @@
     GtkDisplayState *s = container_of(dcl, GtkDisplayState, dcl);
     bool resized = true;
 
-    DPRINTF("resize(width=%d, height=%d)\n",
-            surface_width(surface), surface_height(surface));
 
     if (s->surface) {
         cairo_surface_destroy(s->surface);
@@ -713,11 +716,21 @@
 {
     GtkDisplayState *s = opaque;
     int gdk_keycode;
-    int qemu_keycode;
     int i;
 
     gdk_keycode = key->hardware_keycode;
 
+#ifdef _WIN32
+    /* MapVirtualKey doesn't return scancode with needed higher byte */
+    UINT qemu_keycode = MapVirtualKey(gdk_keycode, MAPVK_VK_TO_VSC);
+    switch (qemu_keycode) {
+    case 103:   /* alt gr */
+        qemu_keycode = 56 | SCANCODE_GREY;
+        break;
+    }
+#else
+    int qemu_keycode;
+
     if (gdk_keycode < 9) {
         qemu_keycode = 0;
     } else if (gdk_keycode < 97) {
@@ -731,10 +744,7 @@
     } else {
         qemu_keycode = 0;
     }
-
-    DPRINTF("translated GDK keycode %d to QEMU keycode %d (%s)\n",
-            gdk_keycode, qemu_keycode,
-            (key->type == GDK_KEY_PRESS) ? "down" : "up");
+#endif
 
     for (i = 0; i < ARRAY_SIZE(modifier_keycode); i++) {
         if (qemu_keycode == modifier_keycode[i]) {
@@ -1063,6 +1073,7 @@
         gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(s->vga_item), TRUE);
     } else {
         VirtualConsole *vc = &s->vc[arg2 - 1];
+#if defined(CONFIG_VTE)
         VteTerminal *term = VTE_TERMINAL(vc->terminal);
         int width, height;
 
@@ -1071,6 +1082,10 @@
 
         gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(vc->menu_item), TRUE);
         gtk_widget_set_size_request(vc->terminal, width, height);
+#else
+        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(vc->menu_item), TRUE);
+        gtk_widget_set_size_request(vc->terminal, 640, 480);
+#endif
     }
 
     gtk_widget_set_sensitive(s->grab_item, on_vga);
@@ -1116,7 +1131,7 @@
 {
     VirtualConsole *vc = chr->opaque;
 
-    return write(vc->fd, buf, len);
+    return vc ? write(vc->fd, buf, len) : len;
 }
 
 static int nb_vcs;
@@ -1141,6 +1156,7 @@
     register_vc_handler(gd_vc_handler);
 }
 
+#if defined(CONFIG_VTE)
 static gboolean gd_vc_in(GIOChannel *chan, GIOCondition cond, void *opaque)
 {
     VirtualConsole *vc = opaque;
@@ -1156,10 +1172,12 @@
 
     return TRUE;
 }
+#endif
 
 static GSList *gd_vc_init(GtkDisplayState *s, VirtualConsole *vc, int index, GSList *group,
                           GtkWidget *view_menu)
 {
+#if defined(CONFIG_VTE)
     const char *label;
     char buffer[32];
     char path[32];
@@ -1167,9 +1185,11 @@
     VtePty *pty;
 #endif
     GIOChannel *chan;
+#if defined(CONFIG_VTE)
     GtkWidget *scrolled_window;
     GtkAdjustment *vadjustment;
     int master_fd, slave_fd;
+#endif
 
     snprintf(buffer, sizeof(buffer), "vc%d", index);
     snprintf(path, sizeof(path), "<QEMU>/View/VC%d", index);
@@ -1210,12 +1230,14 @@
 
     vc->fd = slave_fd;
     vc->chr->opaque = vc;
+#if defined(CONFIG_VTE)
     vc->scrolled_window = scrolled_window;
 
     gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vc->scrolled_window),
                                    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
     gtk_notebook_append_page(GTK_NOTEBOOK(s->notebook), scrolled_window, gtk_label_new(label));
+#endif
     g_signal_connect(vc->menu_item, "activate",
                      G_CALLBACK(gd_menu_switch_vc), s);
 
@@ -1229,6 +1251,7 @@
     chan = g_io_channel_unix_new(vc->fd);
     g_io_add_watch(chan, G_IO_IN, gd_vc_in, vc);
 
+#endif /* CONFIG_GTK */
     return group;
 }
 
--- qemu-1.7.0-VTE/ui/vnc-enc-tight.c.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/ui/vnc-enc-tight.c	2013-12-09 16:36:37.024806900 +0100
@@ -50,6 +50,8 @@
 #include "vnc-enc-tight.h"
 #include "vnc-palette.h"
 
+typedef unsigned int uint;
+
 /* Compression level stuff. The following array contains various
    encoder parameters for each of 10 compression levels (0..9).
    Last three parameters correspond to JPEG quality levels (0..9). */
--- qemu-1.7.0-VTE/version.rc.orig	2013-11-27 23:15:55.000000000 +0100
+++ qemu-1.7.0-VTE/version.rc	2013-12-09 16:36:37.040406900 +0100
@@ -1,6 +1,7 @@
 #include <winver.h>
 #include "config-host.h"
 
+500 ICON "qemu.ico"
 VS_VERSION_INFO VERSIONINFO
 FILEVERSION CONFIG_FILEVERSION
 PRODUCTVERSION CONFIG_PRODUCTVERSION
--- qemu-1.7.0-VTE/x86_64-softmmu/acpi-dsdt.dsl.i.orig	2013-12-09 19:57:38.594846700 +0100
+++ qemu-1.7.0-VTE/x86_64-softmmu/acpi-dsdt.dsl.i	2013-12-09 19:57:39.366863900 +0100
@@ -1,4 +1,6 @@
-ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode
+
+/* ACPI_EXTRACT_ALL_CODE AcpiDsdtAmlCode */
+
 DefinitionBlock (
     "acpi-dsdt.aml",
     "DSDT",
--- qemu-1.7.0-VTE/x86_64-softmmu/q35-acpi-dsdt.dsl.i.orig	2013-12-09 19:57:52.521144900 +0100
+++ qemu-1.7.0-VTE/x86_64-softmmu/q35-acpi-dsdt.dsl.i	2013-12-09 19:57:53.231159100 +0100
@@ -1,4 +1,6 @@
-ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode
+
+/* ACPI_EXTRACT_ALL_CODE Q35AcpiDsdtAmlCode */
+
 DefinitionBlock (
     "q35-acpi-dsdt.aml",
     "DSDT",
--- qemu-1.7.0-VTE/x86_64-softmmu/ssdt-misc.dsl.i.orig	2013-12-09 19:57:49.129075300 +0100
+++ qemu-1.7.0-VTE/x86_64-softmmu/ssdt-misc.dsl.i	2013-12-09 19:57:49.829089300 +0100
@@ -1,30 +1,50 @@
-ACPI_EXTRACT_ALL_CODE ssdp_misc_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_misc_aml */
+
 DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC", "BXSSDTSUSP", 0x1)
 {
     Scope(\) {
-       ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_start
+       
+/* ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_start */
+
        Name(P0S, 0x12345678)
-       ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_end
+       
+/* ACPI_EXTRACT_NAME_DWORD_CONST acpi_pci32_end */
+
        Name(P0E, 0x12345678)
-       ACPI_EXTRACT_NAME_BYTE_CONST acpi_pci64_valid
+       
+/* ACPI_EXTRACT_NAME_BYTE_CONST acpi_pci64_valid */
+
        Name(P1V, 0x12)
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_start
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_start */
+
        Name(P1S, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_end
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_end */
+
        Name(P1E, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
-       ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_length
+       
+/* ACPI_EXTRACT_NAME_BUFFER8 acpi_pci64_length */
+
        Name(P1L, Buffer() { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 })
     }
     Scope(\) {
-        ACPI_EXTRACT_NAME_STRING acpi_s3_name
+        
+/* ACPI_EXTRACT_NAME_STRING acpi_s3_name */
+
         Name(_S3, Package(0x04) {
             One,
             One,
             Zero,
             Zero
         })
-        ACPI_EXTRACT_NAME_STRING acpi_s4_name
-        ACPI_EXTRACT_PKG_START acpi_s4_pkg
+        
+/* ACPI_EXTRACT_NAME_STRING acpi_s4_name */
+
+        
+/* ACPI_EXTRACT_PKG_START acpi_s4_pkg */
+
         Name(_S4, Package(0x04) {
             0x2,
             0x2,
@@ -43,7 +63,9 @@
     Scope(\_SB.PCI0.ISA) {
         Device(PEVT) {
             Name(_HID, "QEMU0001")
-            ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest
+            
+/* ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest */
+
             Name(PEST, 0xFFFF)
             OperationRegion(PEOR, SystemIO, PEST, 0x01)
             Field(PEOR, ByteAcc, NoLock, Preserve) {
--- qemu-1.7.0-VTE/x86_64-softmmu/ssdt-pcihp.dsl.i.orig	2013-12-09 19:57:45.849009700 +0100
+++ qemu-1.7.0-VTE/x86_64-softmmu/ssdt-pcihp.dsl.i	2013-12-09 19:57:46.609024900 +0100
@@ -1,18 +1,32 @@
-ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_pcihp_aml */
+
 DefinitionBlock ("ssdt-pcihp.aml", "SSDT", 0x01, "BXPC", "BXSSDTPCIHP", 0x1)
 {
     External(\_SB.PCI0, DeviceObj)
     External(\_SB.PCI0.PCEJ, MethodObj)
     Scope(\_SB.PCI0) {
-        ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start
-        ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end
-        ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name
+        
+/* ACPI_EXTRACT_DEVICE_START ssdt_pcihp_start */
+
+        
+/* ACPI_EXTRACT_DEVICE_END ssdt_pcihp_end */
+
+        
+/* ACPI_EXTRACT_DEVICE_STRING ssdt_pcihp_name */
+
         Device(SAA) {
-            ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id
+            
+/* ACPI_EXTRACT_NAME_BYTE_CONST ssdt_pcihp_id */
+
             Name(_SUN, 0xAA)
-            ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr
+            
+/* ACPI_EXTRACT_NAME_DWORD_CONST ssdt_pcihp_adr */
+
             Name(_ADR, 0xAA0000)
-            ACPI_EXTRACT_METHOD_STRING ssdt_pcihp_ej0
+            
+/* ACPI_EXTRACT_METHOD_STRING ssdt_pcihp_ej0 */
+
             Method(_EJ0, 1) {
                 Return (PCEJ(_SUN))
             }
--- qemu-1.7.0-VTE/x86_64-softmmu/ssdt-proc.dsl.i.orig	2013-12-09 19:57:42.028918900 +0100
+++ qemu-1.7.0-VTE/x86_64-softmmu/ssdt-proc.dsl.i	2013-12-09 19:57:42.850937900 +0100
@@ -1,11 +1,21 @@
-ACPI_EXTRACT_ALL_CODE ssdp_proc_aml
+
+/* ACPI_EXTRACT_ALL_CODE ssdp_proc_aml */
+
 DefinitionBlock ("ssdt-proc.aml", "SSDT", 0x01, "BXPC", "BXSSDT", 0x1)
 {
-    ACPI_EXTRACT_PROCESSOR_START ssdt_proc_start
-    ACPI_EXTRACT_PROCESSOR_END ssdt_proc_end
-    ACPI_EXTRACT_PROCESSOR_STRING ssdt_proc_name
+    
+/* ACPI_EXTRACT_PROCESSOR_START ssdt_proc_start */
+
+    
+/* ACPI_EXTRACT_PROCESSOR_END ssdt_proc_end */
+
+    
+/* ACPI_EXTRACT_PROCESSOR_STRING ssdt_proc_name */
+
     Processor(CPAA, 0xAA, 0x00000000, 0x0) {
-        ACPI_EXTRACT_NAME_BYTE_CONST ssdt_proc_id
+        
+/* ACPI_EXTRACT_NAME_BYTE_CONST ssdt_proc_id */
+
         Name(ID, 0xAA)
         Name(_HID, "ACPI0007")
         External(CPMA, MethodObj)