From f207051b488083ee9f4ddfbbacfdeff2212c586c Mon Sep 17 00:00:00 2001 From: Corey Hemminger Date: Fri, 31 Jan 2025 12:16:26 -0600 Subject: [PATCH 1/2] Add qemuramfb gfx option Needed for best video performance with Arm64 machines --- builder/virtualbox/iso/builder.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/builder/virtualbox/iso/builder.go b/builder/virtualbox/iso/builder.go index 1893c44c..67c0981e 100644 --- a/builder/virtualbox/iso/builder.go +++ b/builder/virtualbox/iso/builder.go @@ -85,6 +85,7 @@ type Config struct { // When set to vboxvga, the graphics controller is VirtualBox VGA. This is the default. // When set to vboxsvga, the graphics controller is VirtualBox SVGA. // When set to vmsvga, the graphics controller is VMware SVGA. + // When set to qemuramfb, The graphics controller is Qemu based. // When set to none, the graphics controller is disabled. GfxController string `mapstructure:"gfx_controller" required:"false"` // The VRAM size to be used. By default, this is 4 MiB. @@ -275,11 +276,11 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, []string, error) { b.config.GfxController = "vboxvga" } switch b.config.GfxController { - case "vboxvga", "vboxsvga", "vmsvga", "none": + case "vboxvga", "vboxsvga", "vmsvga", "none", "qemuramfb": // do nothing default: errs = packersdk.MultiErrorAppend( - errs, errors.New("Graphics controller type can only be vboxvga, vboxsvga, vmsvga, none")) + errs, errors.New("Graphics controller type can only be vboxvga, vboxsvga, vmsvga, qemuramfb, none")) } if b.config.GfxVramSize == 0 { From 574d1581eb1fc6b327157a5e3b8b3041fd35eaa7 Mon Sep 17 00:00:00 2001 From: Corey Hemminger Date: Fri, 31 Jan 2025 12:21:56 -0600 Subject: [PATCH 2/2] update web docs --- .web-docs/components/builder/iso/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.web-docs/components/builder/iso/README.md b/.web-docs/components/builder/iso/README.md index 868588bd..3e9b4dab 100644 --- a/.web-docs/components/builder/iso/README.md +++ b/.web-docs/components/builder/iso/README.md @@ -108,6 +108,7 @@ necessary for this build to succeed and can be found further down the page. When set to vboxvga, the graphics controller is VirtualBox VGA. This is the default. When set to vboxsvga, the graphics controller is VirtualBox SVGA. When set to vmsvga, the graphics controller is VMware SVGA. + When set to qemuramfb, the graphics controller is Qemu based. When set to none, the graphics controller is disabled. - `gfx_vram_size` (uint) - The VRAM size to be used. By default, this is 4 MiB.