@@ -40,6 +40,8 @@ type Driver struct {
4040 DiskSize int
4141 CPU int
4242 Program string
43+ Display bool
44+ DisplayType string
4345 Nographic bool
4446 VirtioDrives bool
4547 Network string
@@ -84,6 +86,15 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
8486 Usage : "Name of program to run" ,
8587 Value : "qemu-system-x86_64" ,
8688 },
89+ mcnflag.BoolFlag {
90+ Name : "qemu-display" ,
91+ Usage : "Display video output" ,
92+ },
93+ mcnflag.StringFlag {
94+ EnvVar : "QEMU_DISPLAY_TYPE" ,
95+ Name : "qemu-display-type" ,
96+ Usage : "Select type of display" ,
97+ },
8798 mcnflag.BoolFlag {
8899 Name : "qemu-nographic" ,
89100 Usage : "Use -nographic instead of -display none" ,
@@ -191,6 +202,8 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
191202 d .DiskSize = flags .Int ("qemu-disk-size" )
192203 d .CPU = flags .Int ("qemu-cpu-count" )
193204 d .Program = flags .String ("qemu-program" )
205+ d .Display = flags .Bool ("qemu-display" )
206+ d .DisplayType = flags .String ("qemu-display-type" )
194207 d .Nographic = flags .Bool ("qemu-nographic" )
195208 d .VirtioDrives = flags .Bool ("qemu-virtio-drives" )
196209 d .Network = flags .String ("qemu-network" )
@@ -431,14 +444,24 @@ func (d *Driver) Start() error {
431444
432445 var startCmd []string
433446
434- if d .Nographic {
435- startCmd = append (startCmd ,
436- "-nographic" ,
437- )
447+ if d .Display {
448+ if d .DisplayType != "" {
449+ startCmd = append (startCmd ,
450+ "-display" , d .DisplayType ,
451+ )
452+ } else {
453+ // Use the default graphic output
454+ }
438455 } else {
439- startCmd = append (startCmd ,
440- "-display" , "none" ,
441- )
456+ if d .Nographic {
457+ startCmd = append (startCmd ,
458+ "-nographic" ,
459+ )
460+ } else {
461+ startCmd = append (startCmd ,
462+ "-display" , "none" ,
463+ )
464+ }
442465 }
443466
444467 startCmd = append (startCmd ,
0 commit comments