SDL2 UI sends a NULL to sdl_grab_start if fullscreen, which crashes in ui/sdl2.c: if (full_screen) { gui_fullscreen = 1; sdl_grab_start(0); } Is sent, but no null checks are made in sdl_grab_start (its assumed to be an allocated pointer). So a crash happens if you start qemu -full-screen. It should at lease send the first [0] of the newly allocated sdl2_console through. Quickly looking around should look something like: if (full_screen) { gui_fullscreen = 1; sdl_grab_start(&sdl2_console[0]); } The NULL pointer check has been added here: http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f2335791fd0ceb2f9e3