podman-desktop icon indicating copy to clipboard operation
podman-desktop copied to clipboard

Fix usability issues and improve interface for podman machine creation

Open MariaLeonova opened this issue 3 weeks ago • 8 comments

UX Description

High Impact

  • Add numerical input fields (or hybrid) for CPU/Memory/Disk.
  • Add helper text/tooltips to advanced settings.
  • Add system capacity indicators for CPU/RAM.
  • Group advanced/optional fields
  • Group related settings with visual containers.

Medium Impact

  • Provide presets for configuration.
  • Improve labeling and microcopy for ambiguous terms.
  • Implement consistent form control styling across all input types.
  • Add clear labels directly associated with form fields.
  • Provide inline validation with helpful error messages.

Low Impact

  • Improve visual distinction between required and optional fields.
  • Provide warnings for sensitive actions (root access / GPU).
Image

Request type

UX analysis/suggestions for improvement

Primary Contact

No response

Deadline for request

No response

MariaLeonova avatar Dec 04 '25 14:12 MariaLeonova

I think this is related to all of our forms, like kind, and other extensions

gastoner avatar Dec 04 '25 15:12 gastoner

You might want to move to standard units for memory and disk size?

Usage:
  podman-remote machine init [options] [NAME]

Options:
      --cpus uint              Number of CPUs (default 4)
      --disk-size uint         Disk size in GiB (default 100)
  -m, --memory uint            Memory in MiB (default 2048)
  • cpus: 4
  • diskSize: 107374182400 bytes
  • memory: 2147483648 bytes

If you are allocating 4 GB, then it will become an awkward 3.725 GiB...

        "podman.factory.machine.cpus": {
          "type": "number",
          "format": "cpu",
          "default": "HOST_HALF_CPU_CORES",
          "minimum": 1,
          "maximum": "HOST_TOTAL_CPU",
          "scope": "ContainerProviderConnectionFactory",
          "description": "CPU(s)",
          "when": "podman.podmanMachineCpuSupported && !podman.isCreateWSLOptionSelected"
        },
        "podman.factory.machine.memory": {
          "type": "number",
          "format": "memory",
          "minimum": 1000000000,
          "default": 4000000000,
          "maximum": "HOST_TOTAL_MEMORY",
          "scope": "ContainerProviderConnectionFactory",
          "step": 500000000,
          "description": "Memory",
          "when": "podman.podmanMachineMemorySupported && !podman.isCreateWSLOptionSelected"
        },
        "podman.factory.machine.diskSize": {
          "type": "number",
          "format": "diskSize",
          "default": 100000000000,
          "minimum": 10000000000,
          "maximum": "HOST_TOTAL_DISKSIZE",
          "step": 500000000,
          "scope": "ContainerProviderConnectionFactory",
          "description": "Disk size",
          "when": "podman.podmanMachineDiskSupported && !podman.isCreateWSLOptionSelected"
        },

EDIT: We talked about this before, but only to make GB be GB and GiB be GiB:

  • https://github.com/podman-desktop/podman-desktop/issues/3062

afbjorklund avatar Dec 04 '25 17:12 afbjorklund

Related: https://github.com/podman-desktop/podman-desktop/issues/13534

MariaLeonova avatar Dec 08 '25 14:12 MariaLeonova

I never see this dialog on Linux (or when using Lima provider), so the usability issues are different.

i.e. the same parameters are given on the CLI, rather than being selected from sliders in the GUI

afbjorklund avatar Dec 08 '25 14:12 afbjorklund

I never see this dialog on Linux (or when using Lima provider), so the usability issues are different.

That's great input. Could you please specify in more details, what issues you experience?

Do you recall what the flow was when you were first doing the onboarding? Did you already have the machine running when installing Podman Desktop?

MariaLeonova avatar Dec 09 '25 14:12 MariaLeonova

First? That was a long time ago, there was no podman machine so I first had to create it... Back then there was no packaging for Ubuntu. Now there is, but only for the older versions

https://packages.ubuntu.com/podman

If I want to run a newer version, I have two alternatives:

  1. I can build it myself, from the source code
  2. I can start a VM, from the command line CLI

There are no packages, and no option to use the GUI

Once installed/started, it shows up in Podman Desktop

  • https://github.com/podman-desktop/podman-desktop/issues/6225

  • https://github.com/podman-desktop/podman-desktop/discussions/5762


There are three steps in the Podman onboarding, before being redirected to the Terminal:

Image Image Image

After those screens, it is command-line parameters all the way. And then "onboarding" exits.

$ podman-remote-static machine init podman-machine-default --cpus 4 --memory 4096 --disk-size 100 --rootful --now
Looking up Podman Machine image at quay.io/podman/machine-os:5.7 to create VM
Image

But back in the GUI, the machine has appeared. That is, the one that we created in the CLI.

Image

(and there you can see the mismatch in units, that I was referring to in my comment above)

afbjorklund avatar Dec 09 '25 16:12 afbjorklund

@afbjorklund that is very helpful, thank you!

MariaLeonova avatar Dec 10 '25 08:12 MariaLeonova

As you probably know, it is being hidden on purpose...

  // We allow creating machines for both macOS and Windows
  // but not Linux. The reasoning being is that podman for Linux is
  // NOT packaged with qemu + kvm by default. So, we don't want to
  // create machines on Linux via Podman Desktop, however we will still support
  // the lifecycle management of one.
  if (extensionApi.env.isMac || extensionApi.env.isWindows) {

In order to not have to support qemu, or podman dependencies.

  • /usr/local/libexec/podman/gvproxy
  • /usr/local/libexec/podman/virtiofsd

I did have to install them manually, same as podman-remote-static.

afbjorklund avatar Dec 10 '25 10:12 afbjorklund