From 4d18727ffe889d42836f0ce80d5f7ed81018a0d7 Mon Sep 17 00:00:00 2001 From: Maciej Wolny Date: Thu, 10 May 2018 11:53:55 +0100 Subject: [PATCH] qemu_command: Move SDL command line building into helper Create a function called `qemuBuildGraphicsSDLCommandLine` which is called from qemuBuildGraphicsCommandLine. Signed-off-by: Maciej Wolny Reviewed-by: John Ferlan --- src/qemu/qemu_command.c | 49 ++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 0727361f19..69a13805a8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7610,6 +7610,34 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, } +static int +qemuBuildGraphicsSDLCommandLine(virQEMUDriverConfigPtr cfg ATTRIBUTE_UNUSED, + virCommandPtr cmd, + virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED, + virDomainGraphicsDefPtr graphics) +{ + if (graphics->data.sdl.xauth) + virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth); + if (graphics->data.sdl.display) + virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.display); + if (graphics->data.sdl.fullscreen) + virCommandAddArg(cmd, "-full-screen"); + + /* If using SDL for video, then we should just let it + * use QEMU's host audio drivers, possibly SDL too + * User can set these two before starting libvirtd + */ + virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL); + virCommandAddEnvPassBlockSUID(cmd, "SDL_AUDIODRIVER", NULL); + + /* New QEMU has this flag to let us explicitly ask for + * SDL graphics. This is better than relying on the + * default, since the default changes :-( */ + virCommandAddArg(cmd, "-sdl"); + return 0; +} + + static int qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg, virCommandPtr cmd, @@ -7989,26 +8017,7 @@ qemuBuildGraphicsCommandLine(virQEMUDriverConfigPtr cfg, { switch (graphics->type) { case VIR_DOMAIN_GRAPHICS_TYPE_SDL: - if (graphics->data.sdl.xauth) - virCommandAddEnvPair(cmd, "XAUTHORITY", graphics->data.sdl.xauth); - if (graphics->data.sdl.display) - virCommandAddEnvPair(cmd, "DISPLAY", graphics->data.sdl.display); - if (graphics->data.sdl.fullscreen) - virCommandAddArg(cmd, "-full-screen"); - - /* If using SDL for video, then we should just let it - * use QEMU's host audio drivers, possibly SDL too - * User can set these two before starting libvirtd - */ - virCommandAddEnvPassBlockSUID(cmd, "QEMU_AUDIO_DRV", NULL); - virCommandAddEnvPassBlockSUID(cmd, "SDL_AUDIODRIVER", NULL); - - /* New QEMU has this flag to let us explicitly ask for - * SDL graphics. This is better than relying on the - * default, since the default changes :-( */ - virCommandAddArg(cmd, "-sdl"); - - break; + return qemuBuildGraphicsSDLCommandLine(cfg, cmd, qemuCaps, graphics); case VIR_DOMAIN_GRAPHICS_TYPE_VNC: return qemuBuildGraphicsVNCCommandLine(cfg, cmd, qemuCaps, graphics); -- GitLab