Skip to content

Instantly share code, notes, and snippets.

@denji
Created August 24, 2025 15:13
Show Gist options
  • Select an option

  • Save denji/4dc6d508550014582814ba2ed692b77f to your computer and use it in GitHub Desktop.

Select an option

Save denji/4dc6d508550014582814ba2ed692b77f to your computer and use it in GitHub Desktop.
VMware/ESXi .vmx Configuration Parameters

VMware VMX Configuration Parameters - Documentation

⚠️ WARNING: USE AT YOUR OWN RISK
These parameters are largely undocumented and unsupported by VMware. Always backup your .vmx files before making changes and test in non-production environments first.

Table of Contents

File Format and Structure

VMX files use a simple key-value pair format:

key = "value"
# Comments start with #

Basic File Properties

.encoding = "UTF-8"                    # File encoding format
config.version = "8"                   # Configuration file version
virtualHW.version = "19"               # Virtual hardware version (affects available features)

Basic Virtual Machine Configuration

Virtual Machine Identity

displayName = "My Virtual Machine"     # Display name in VMware interface
guestOS = "windows10-64"               # Guest OS identifier (affects default hardware)
uuid.bios = "56 4d 9b ef ac d9 85 e6-42 7c 86 a0 78 6e 74 21"    # BIOS UUID
uuid.location = "56 4d 9b ef ac d9 85 e6-42 7c 86 a0 78 6e 74 21" # Location UUID

Memory Configuration

memSize = "8192"                       # RAM in MB allocated to VM
memory.hotadd = "TRUE"                 # Enable memory hot-add while VM is running
memory.hotremove = "TRUE"              # Enable memory hot-remove while VM is running
memory.maxsize = "16384"               # Maximum memory size limit in MB
memory.minsize = "512"                 # Minimum memory size limit in MB
mem.hotadd = "TRUE"                    # Alternative memory hot-add setting

CPU Configuration

numvcpus = "4"                         # Number of virtual CPU cores
vcpu.hotadd = "TRUE"                   # Enable CPU hot-add while VM is running
vcpu.hotremove = "TRUE"                # Enable CPU hot-remove while VM is running
cpuid.coresPerSocket = "2"             # CPU cores per socket (affects NUMA topology)

Hardware Configuration

BIOS Settings

bios.bootDelay = "5000"                # Boot delay in milliseconds before starting OS
bios.forceSetupOnce = "TRUE"           # Force BIOS setup screen on next boot
bios.bootOrder = "cdrom,hdd"           # Device boot order priority
bios.bootRetry.enabled = "TRUE"        # Enable boot retry on failure
bios.bootRetry.delay = "10000"         # Boot retry delay in milliseconds
bios.hddOrder = "scsi0:0"              # Hard disk boot order specification
bios440.filename = "bios440.rom"       # Use custom BIOS ROM file

Chipset Configuration

chipset.onlineStandby = "FALSE"        # Disable online standby power management
chipset.useAcpiBattery = "TRUE"        # Enable ACPI battery support for laptops
chipset.useApmBattery = "FALSE"        # Disable APM battery (legacy power management)
chipset.useHotButtons = "TRUE"         # Enable hardware hot buttons support
chipset.version = "piix4"              # Chipset type (piix4 is most compatible)

PCI Configuration

pciBridge.present = "TRUE"             # Enable PCI bridge for additional slots
pci.pciSlotNumber = "16"               # PCI slot assignment for devices
pci.allowPassthrough = "TRUE"          # Allow PCI device passthrough to guest

USB Configuration (Combined .present + .enable pattern)

# USB Controller Base Configuration
usb.present = "TRUE"                   # Enable USB controller presence
usb.generic.allowHID = "TRUE"          # Allow Human Interface Devices
usb.generic.autoconnect = "FALSE"      # Disable automatic USB device connection
usb.restrictions.defaultAllow = "TRUE" # Allow USB devices by default
usb.analyzer.enable = "FALSE"          # Disable USB traffic analyzer
usb.ccid.disable = "FALSE"             # Enable smart card (CCID) support

# Enhanced USB Host Controller
ehci.present = "TRUE"                  # Enable Enhanced USB controller (USB 2.0)

# USB Virtual Device Configuration
usb.vusb.present = "TRUE"              # Enable virtual USB device support
usb.vusb.enable = "TRUE"               # Activate virtual USB functionality

Performance and Optimization

GUI and Interface Settings

# Host Display Scaling and Fullscreen
gui.applyHostDisplayScalingToGuest = "TRUE"    # Apply host DPI scaling to guest display
gui.fullscreenAtPowerOn = "TRUE"               # Launch VM in fullscreen mode automatically
gui.viewModeAtPowerOn = "fullscreen"           # Set initial view mode (windowed/fullscreen)

# Auto-fit and Scaling Preferences
pref.autoFit = "FALSE"                         # Disable automatic window fitting
pref.autoFitGuestToWindow = "FALSE"            # Disable guest resolution to window size fitting
pref.autoFitFullScreen = "stretchGuestToHost"  # Stretch guest display in fullscreen mode
pref.motionGrab = "FALSE"                      # Disable automatic mouse capture
pref.motionUngrab = "FALSE"                    # Disable automatic mouse release

# Toolbar and Interface Settings
pref.vmplayer.fullscreen.autohide = "TRUE"     # Auto-hide toolbar in fullscreen mode
pref.fullscreen.toolbarpixels = "0"            # Minimize toolbar size (0 = invisible)
pref.vmplayer.fullscreen.nobar = "TRUE"        # Completely hide toolbar in fullscreen
pref.vmplayer.deviceBarToplevel = "TRUE"       # Keep toolbar at top level
pref.vmplayer.exit.vmAction = "poweroff"       # Action when closing VMware Player

Software Updates and Data Collection

# Disable Automatic Updates and Telemetry
installerDefaults.autoSoftwareUpdateEnabled = "FALSE"  # Disable auto-updates
installerDefaults.componentDownloadEnabled = "FALSE"   # Disable component downloads
installerDefaults.dataCollectionEnabled = "FALSE"      # Disable data collection/telemetry
pref.autoSoftwareUpdatePermission = "deny"             # Deny update permissions
pref.vmplayer.dataCollectionEnabled = "FALSE"          # Disable VMware Player telemetry
tools.upgrade.policy = "manual"                        # Set VMware Tools upgrade to manual

Priority and CPU Scheduling

# System Priority Settings
Priority.grabbed = "high"              # High priority when VM has focus
Priority.ungrabbed = "low"             # Low priority when VM loses focus

# Advanced CPU Scheduling
sched.cpu.latencySensitivity = "high"  # Low-latency CPU scheduling (normal/low/high)
cpuid.numSMT = "2"                     # SMT (Simultaneous Multithreading) threads per core
sched.cpu.affinity = "0-3"             # Bind VM to specific CPU cores (0-3)
sched.cpu.min = "0"                    # Minimum CPU allocation percentage
sched.cpu.max = "unlimited"            # Maximum CPU allocation limit
sched.cpu.shares = "normal"            # CPU shares priority (low/normal/high)

Memory Management

# Memory Optimization Settings
mainMem.useNamedFile = "FALSE"         # Disable named memory file creation
mainMem.backing = "swap"               # Memory backing store type (swap/file)
mainMem.partialLazySave = "TRUE"       # Enable partial lazy save for snapshots
mainMem.partialLazyRestore = "TRUE"    # Enable partial lazy restore from snapshots
MemTrimRate = "0"                      # Disable memory trimming (0 = disabled)
MemAllowAutoScaleDown = "FALSE"        # Prevent automatic memory scaling down
sched.mem.pshare.enable = "FALSE"      # Disable transparent page sharing
prefvmx.useRecommendedLockedMemSize = "TRUE"  # Use recommended locked memory size
prefvmx.minVmMemPct = "100"           # Minimum VM memory percentage

# Memory Scheduling
sched.mem.min = "0"                    # Minimum memory reservation in MB
sched.mem.max = "unlimited"            # Maximum memory limit
sched.mem.shares = "normal"            # Memory shares priority (low/normal/high)

Advanced Display and Graphics Settings

# High-Performance Graphics Settings
mks.vsync = "TRUE"                              # Enable VSync to reduce screen tearing
mks.updateCoalescePeriodUS = "0"                # Reduce display latency (0 = immediate updates)
mks.skipHookTimeoutCheck = "TRUE"               # Skip timeout checks for better responsiveness
mks.requireHardwareRenderer = "TRUE"            # Force hardware-accelerated rendering
mks.allowAcceleratedRenderers = "TRUE"          # Allow GPU-accelerated renderers

# FPS and Refresh Rate Controls
mks.maxRefreshRate = "120"                      # Maximum refresh rate in Hz
mks.lowCompositingFPS = "60"                    # Minimum compositing frame rate
mks.maxCompositingFPS = "120"                   # Maximum compositing frame rate

# Advanced Mouse and Input Settings
mks.gamingMouse.policy = "gaming"               # Optimize mouse for gaming (reduces lag)
mks.keyboardFilter = "require"                  # Require keyboard input filtering
mks.disableTypematic = "TRUE"                   # Disable key repeat in guest OS
mks.disableRemoteClientTypematic = "TRUE"       # Disable remote client key repeat
mks.useDirectInput = "TRUE"                     # Use DirectInput for better input responsiveness

# OpenGL Optimization Settings
mks.gl.magFilter = "0x2600"                     # GL_NEAREST for sharper texture scaling
mks.gl.minFilter = "0x2600"                     # GL_NEAREST for sharper texture scaling
mks.gl.doubleBuffer = "TRUE"                    # Enable double buffering
mks.gl.fbo = "TRUE"                            # Use Frame Buffer Objects
mks.gl.useFBTexture = "TRUE"                   # Use framebuffer textures
mks.gl.dontLogErrors = "TRUE"                  # Reduce OpenGL logging overhead
mks.gl.noTimeInfo = "TRUE"                     # Disable OpenGL timing logs
mks.gl.allowBlacklistedDrivers = "TRUE"        # Override driver blacklist (Intel/Mesa)

Renderer-Specific Settings (Mutually Exclusive)

# Graphics Renderer Selection (choose only ONE)
mks.enableD3DRenderer = "FALSE"                # Direct3D renderer
mks.enableDX8Renderer = "FALSE"                # DirectX 8 renderer  
mks.enableDX9Renderer = "FALSE"                # DirectX 9 renderer
mks.enableDX10Renderer = "FALSE"               # DirectX 10 renderer
mks.enableDX11Renderer = "TRUE"                # DirectX 11 renderer (recommended for Windows)
mks.enableDX12Renderer = "FALSE"               # DirectX 12 renderer (newest, may be unstable)
mks.enableGLRenderer = "FALSE"                 # OpenGL renderer (good for Linux)
mks.enableVulkanRenderer = "FALSE"             # Vulkan renderer (best performance, if supported)

# Renderer Stability Settings
mks.d3d.disableFlips = "TRUE"                  # Disable D3D presentation flips
mks.dx11.disableFlips = "TRUE"                 # Disable DX11 presentation flips
mks.dx12.disableFlips = "TRUE"                 # Disable DX12 presentation flips

# GPU Vendor Specification (for multi-GPU systems)
mks.dx11.vendorID = "0x10DE"                   # Force specific GPU (0x8086=Intel, 0x10DE=Nvidia, 0x1002=AMD)
mks.vk.forceDevice = "NVIDIA"                  # Force specific Vulkan device by name
mks.vk.allowUnsupportedDevices = "TRUE"        # Allow unsupported Vulkan devices

Presentation Layer Settings

# Linux-Specific Presentation (mutually exclusive)
mks.enableX11Presentation = "FALSE"            # X11 presentation layer
mks.enableVulkanPresentation = "TRUE"          # Vulkan presentation (recommended for Linux)

# Windows-Specific Presentation
mks.dx11.enableModernPresentation = "TRUE"     # Modern DX11 presentation mode
mks.dx11.waitForQueryYieldMS = "1"             # GPU query yield timeout in milliseconds

Advanced Hardware Features

# Modern CPU and Hardware Features
vhu.enable = "TRUE"                   # Enable VT-x/AMD-V host features
vpmc.enable = "TRUE"                  # Virtualized Performance Counters
mce.enable = "TRUE"                   # Machine Check Exception support
vmGenCounter.enable = "FALSE"         # VM generation counter (disable for stealth)
ulm.disableMitigations = "TRUE"       # Disable CPU side-channel attack mitigations

# Enhanced Storage Features
scsi0:0.virtualSSD = "TRUE"           # Present disk as SSD to guest OS
ide0:0.virtualSSD = "TRUE"            # Present IDE disk as SSD to guest OS
sata0.present = "TRUE"                # Enable SATA controller

# Additional Device Support
hpet0.present = "TRUE"                # High Precision Event Timer
serial0.present = "TRUE"              # Serial port support

VMCI and Communication Interface

# Virtual Machine Communication Interface
vmci.available = "TRUE"               # Enable VMCI availability
vmci.filter.enable = "FALSE"          # Disable VMCI filtering for performance
vmci0.present = "TRUE"                # VMCI device presence
vmci0.unrestricted = "TRUE"           # Unrestricted VMCI access

Anti-Detection and VM Stealth

# Hide VM Characteristics from Guest OS
hypervisor.cpuid.v0 = "FALSE"         # Hide hypervisor CPUID leaf 0
hypervisor.cpuid.v1 = "FALSE"         # Hide hypervisor CPUID leaf 1
hypervisor.cpuid.v2 = "FALSE"         # Hide hypervisor CPUID leaf 2  
hypervisor.cpuid.v3 = "FALSE"         # Hide hypervisor CPUID leaf 3

# Pass-through Host Hardware Information
hw.model.reflectHost = "TRUE"         # Reflect host hardware model to guest
smbios.reflectHost = "TRUE"           # Reflect host SMBIOS information
smbios.useShortSerialNumber = "TRUE"  # Use short serial numbers
serialNumber.reflectHost = "TRUE"     # Reflect host serial number

Sound and Audio Optimization

# High-Quality Audio Settings
sound.present = "TRUE"                # Enable sound card
sound.autoDetect = "TRUE"             # Auto-detect host audio devices
sound.virtualDev = "hdaudio"          # Use HD Audio device (best quality)
sound.fileName = "-1"                 # Use default host audio device
sound.opl3.enabled = "TRUE"           # Enable OPL3 FM synthesis
sound.mpu401.host = "TRUE"            # Enable MPU-401 MIDI interface

# Linux Host ALSA-Specific Audio
sound.fileName = "surround51:CARD=Live,DEV=0"  # Specific ALSA 5.1 surround device
sound.fileName = "front:CARD=Live,DEV=0"       # ALSA front speakers only
sound.autodetect = "FALSE"                     # Disable audio auto-detection

Advanced System Settings

# System Behavior and Compatibility
paevm = "TRUE"                        # Enable PAE for >4GB memory on 32-bit guests
devices.hotplug = "FALSE"             # Disable device hot-plugging
suspend.disabled = "TRUE"             # Disable suspend functionality
tools.syncTime = "FALSE"              # Disable automatic time synchronization

# Sensor Management
sensor.location = "disabled"          # Disable GPS location sensors
sensor.orientation = "disabled"       # Disable orientation sensors

# VMware-Specific Optimizations
vmmon.disableHostParameters = "TRUE"  # Fix host memory allocation issues
vmx.buildType = "release"             # Use release build (not debug)
vmx.scoreboard.enabled = "FALSE"      # Disable scoreboard files creation

Security and Isolation

Tool Isolation

isolation.tools.copy.disable = "TRUE"           # Disable copy operation from host to guest
isolation.tools.paste.disable = "TRUE"          # Disable paste operation from host to guest
isolation.tools.dnd.disable = "TRUE"            # Disable drag & drop between host and guest
isolation.tools.diskShrink.disable = "TRUE"     # Disable disk shrink operation
isolation.tools.diskWiper.disable = "TRUE"      # Disable disk wiping tools
isolation.tools.hgfs.disable = "TRUE"           # Disable Host Guest File System (shared folders)

Device Isolation

isolation.device.connectable.disable = "TRUE"   # Disable runtime device connection
isolation.device.edit.disable = "TRUE"          # Disable device configuration editing

VIX Security (VMware Infrastructure API)

isolation.tools.vixMessage.disable = "TRUE"     # Disable VIX API messages
Guest.Command.Enabled = "FALSE"                  # Disable guest command execution

Monitor Control

isolation.monitor.control.disable = "TRUE"      # Disable monitor resolution control
monitor_control.disable_mmu_largepages = "TRUE" # Disable MMU large pages

Networking Configuration

Ethernet Configuration

ethernet0.present = "TRUE"              # Enable primary network adapter
ethernet0.connectionType = "nat"        # Connection type (nat/bridged/hostonly/custom)
ethernet0.virtualDev = "e1000e"         # Virtual network device type
ethernet0.addressType = "generated"     # MAC address type (generated/static)
ethernet0.generatedAddress = "00:0c:29:xx:xx:xx" # Generated MAC address
ethernet0.startConnected = "TRUE"       # Connect network on VM startup
ethernet0.noPromisc = "TRUE"            # Prevent promiscuous mode
ethernet0.noForgedSrcAddr = "TRUE"      # Prevent MAC address spoofing

# High-Performance Network Adapter
ethernet0.virtualDev = "vmxnet3"        # VMware paravirtualized network adapter (best performance)

Storage and Disk Management

SCSI Configuration

scsi0.present = "TRUE"                  # Enable SCSI controller
scsi0.virtualDev = "lsilogic"          # SCSI adapter type (lsilogic/buslogic/pvscsi)
scsi0.sharedBus = "none"               # Shared bus setting (none/virtual/physical)

# High-Performance Storage Controllers
scsi0.virtualDev = "pvscsi"            # VMware Paravirtual SCSI (best I/O performance)
scsi0.virtualDev = "lsisas1068"        # LSI SAS adapter for compatibility

Hard Disk Configuration

scsi0:0.present = "TRUE"               # Enable primary disk
scsi0:0.fileName = "disk.vmdk"         # Virtual disk file name
scsi0:0.deviceType = "scsi-hardDisk"   # Device type specification
scsi0:0.mode = "persistent"            # Disk mode (persistent/nonpersistent)
scsi0:0.virtualSSD = "TRUE"            # Present disk as SSD to guest OS

CD/DVD Configuration

ide1:0.present = "TRUE"                # Enable CD/DVD drive
ide1:0.deviceType = "cdrom-image"      # Device type (cdrom-image/cdrom-raw)
ide1:0.fileName = "image.iso"          # ISO image file path
ide1:0.startConnected = "FALSE"        # Start with drive disconnected

Floppy Configuration

floppy0.present = "TRUE"               # Enable floppy drive
floppy0.fileName = "floppy.flp"        # Floppy image file
floppy0.startConnected = "FALSE"       # Start with floppy disconnected

Disk Geometry and Advanced Storage

# Disk Geometry Settings
geometry.cylinders = "1024"           # Number of cylinders (legacy)
geometry.heads = "16"                 # Number of heads (legacy)
geometry.sectors = "63"               # Sectors per track (legacy)

# AIO (Asynchronous I/O) Settings
aiomgr.numThreads = "4"               # Number of AIO threads for disk operations
aiomgr.unbuf = "TRUE"                 # Use unbuffered I/O operations

# Change Block Tracking (for backup solutions)
cbtmotion.filter.disable = "FALSE"    # Enable CBT filter
cbtmotion.maxIters = "100"            # Maximum CBT iterations

Input Devices

Advanced Mouse Configuration for Extra Buttons

# Enhanced Mouse Support (Combined .present + .enable pattern)
mouse.present = "FALSE"                # Disable legacy PS/2 mouse
mouse.vusb.present = "TRUE"            # Enable virtual USB mouse device
mouse.vusb.enable = "TRUE"             # Activate USB mouse functionality
mouse.vusb.useBasicMouse = "FALSE"     # Use advanced mouse features (extra buttons)
vmmouse.present = "TRUE"               # Keep VMware mouse integration

# USB Mouse Device Identification
mouse.vusb.idVendor = "0x0000"         # USB vendor ID (0x0000 = auto-detect)
mouse.vusb.idProduct = "0x0000"        # USB product ID (0x0000 = auto-detect)

Touchpad and Input Device Settings

# Touchpad Configuration for VMware Guests
touchpad.general.enable = "TRUE"            # Enable touchpad support
touchpad.general.motionSpeed = "50"         # Touchpad motion speed (1-100)
touchpad.general.verticalScrolling = "TRUE" # Enable vertical scrolling
touchpad.tapping.tapToClick = "TRUE"        # Enable tap-to-click
touchpad.tapping.speed = "medium"           # Tapping speed (slow/medium/fast)

# TrackPoint Settings (for ThinkPad-style pointing sticks)
trackpoint.general.enable = "TRUE"          # Enable TrackPoint support
trackpoint.general.enableButtons = "TRUE"   # Enable TrackPoint buttons

Keyboard Configuration

# Keyboard Device Settings (Combined .present + .enable pattern)
keyboard.present = "TRUE"              # Enable keyboard device
keyboard.vusb.present = "TRUE"         # Enable virtual USB keyboard
keyboard.vusb.enable = "TRUE"          # Activate USB keyboard functionality
keyboard.allowBothIRQs = "FALSE"       # IRQ handling for keyboard
keyboard.typematicMinDelay = "2000000" # Key repeat delay in microseconds

Display and Graphics

SVGA Configuration

svga.present = "TRUE"                  # Enable SVGA graphics adapter
svga.vramSize = "268435456"           # Video RAM size in bytes (256MB)
svga.autodetect = "TRUE"              # Auto-detect graphics capabilities
svga.maxWidth = "2560"                # Maximum display width
svga.maxHeight = "1600"               # Maximum display height
svga.3d.enabled = "TRUE"              # Enable 3D acceleration support
svga.enableGMR = "TRUE"               # Enable Guest Memory Regions
svga.enableScreenObject = "TRUE"       # Enable screen objects support

3D Acceleration

mks.enable3d = "TRUE"                 # Enable 3D graphics acceleration
mks.forceDiscreteGPU = "TRUE"         # Force use of discrete GPU (not integrated)

Virtualization Features

Nested Virtualization

vhv.enable = "TRUE"                   # Enable nested virtualization (Intel VT-x/AMD-V)
vvtd.enable = "TRUE"                  # Enable virtual VT-d (IOMMU virtualization)
vmx.allowNested = "TRUE"              # Allow nested virtual machines
featMask.vm.hv.capable = "Min:1"     # Hardware virtualization capability mask

CPU Features and Masking

cpuid.enable_vmx = "TRUE"             # Enable VMX instructions in guest
cpuid.enable_svm = "TRUE"             # Enable SVM instructions in guest (AMD)
cpuid.disable_vme = "FALSE"           # Virtual Mode Extensions support
cpuid.disable_mca = "FALSE"           # Machine Check Architecture support

Fault Tolerance and High Availability

replay.allowBTOnly = "TRUE"           # Enable record/replay functionality
ft.secondary = "TRUE"                 # Enable fault tolerance (secondary VM)

Debugging and Troubleshooting

Logging Configuration

log.fileName = "vmware.log"           # Log file name and location
log.append = "TRUE"                   # Append to existing log file
log.keep = "10"                       # Number of log files to retain
log.rotateSize = "100000"             # Log rotation size in bytes

Debug Settings

vmx.buildType = "debug"               # Enable debug build mode
debug.vmss = "TRUE"                   # Enable VMSS (VM Suspend State) debugging
checkpoint.vmState = "TRUE"           # Enable checkpoint state debugging

Performance Analysis

monitor_control.log_vmsample = "TRUE" # Enable VM performance sampling

Power Management

Power Operation Types

powerType.powerOff = "soft"           # Soft power off (ACPI shutdown)
powerType.powerOn = "soft"            # Soft power on  
powerType.suspend = "soft"            # Soft suspend (ACPI sleep)
powerType.reset = "soft"              # Soft reset (ACPI restart)

Suspend and Resume Settings

suspend.disabled = "FALSE"            # Enable suspend functionality
checkpoint.vmState = "FALSE"          # Disable checkpoint state saving

Advanced System Features

Time Synchronization

time.synchronize.continue = "FALSE"           # Continue time sync during normal operation
time.synchronize.restore = "TRUE"             # Sync time when restoring from snapshot
time.synchronize.resume.disk = "TRUE"         # Sync time when resuming from disk
time.synchronize.shrink = "TRUE"              # Sync time during disk shrink operations
time.synchronize.tools.enable = "TRUE"        # Enable VMware Tools time synchronization
time.synchronize.tools.startup = "TRUE"       # Sync time at guest OS startup
tools.syncTime = "TRUE"                       # Enable time synchronization via VMware Tools

Host CPU Frequency and Clock Management

host.cpukHz = "3000000"                # Host CPU frequency in KHz (e.g., 3GHz)
host.noTSC = "TRUE"                    # Disable Time Stamp Counter usage
ptsc.noTSC = "TRUE"                    # Keep guest clock accurate when TSC is unreliable

Unity Mode (VMware Fusion/Workstation Pro)

unity.allowAppWindows = "TRUE"        # Allow individual application windows
unity.customColor = "000000"          # Custom window decoration color
unity.enableLaunchMenu = "TRUE"       # Enable Unity launch menu
unity.showBorders = "TRUE"            # Show window borders in Unity mode
unity.showBadges = "TRUE"             # Show application badges

Shared Folders (HGFS)

sharedFolder.maxNum = "10"             # Maximum number of shared folders
sharedFolder0.present = "TRUE"         # Enable shared folder 0
sharedFolder0.enabled = "TRUE"         # Activate shared folder
sharedFolder0.readAccess = "TRUE"      # Allow read access
sharedFolder0.writeAccess = "TRUE"     # Allow write access
sharedFolder0.hostPath = "/path/to/folder" # Host system path
sharedFolder0.guestName = "shared"     # Name visible in guest OS

Migration and Live Motion Settings

migrate.hostlog = "migrate.log"        # Migration operation log file
migration.dataTimeout = "2000"         # Data transfer timeout in seconds
migration.maxSwitchoverSeconds = "100" # Maximum switchover time for live migration

Snapshot Configuration

snapshot.maxSnapshots = "100"          # Maximum number of snapshots to retain
snapshot.periodicScreenshots = "TRUE"  # Enable periodic screenshot capture
snapshot.action = "keep"               # Snapshot retention action (keep/delete)

NUMA Configuration

numa.nodeAffinity = "0"               # Bind VM to specific NUMA node
numa.vcpu.preferHT = "TRUE"           # Prefer hyperthreading cores
numa.mem.interleave = "FALSE"         # Disable memory interleaving across nodes

Remote Display (VNC)

RemoteDisplay.vnc.enabled = "TRUE"     # Enable VNC remote access
RemoteDisplay.vnc.port = "5900"        # VNC listening port
RemoteDisplay.vnc.password = "password" # VNC access password
RemoteDisplay.vnc.keyMap = "en-us"     # Keyboard mapping for VNC

Guest Information Variables

guestinfo.hostname = "guest-vm"        # Set guest hostname variable
guestinfo.ip = "192.168.1.100"        # Set guest IP address variable

Memory Management Advanced Settings

# Memory Holes and PCI Configuration
pciHole.start = "3072"                # PCI memory hole start address in MB
pciHole.use512MB = "FALSE"            # Use 512MB PCI hole
pciHole.use1GB = "FALSE"              # Use 1GB PCI hole

# Main Memory Advanced Settings
mainMem.checklow1M = "TRUE"           # Check low 1MB memory region
mainMem.dmaStress = "FALSE"           # Disable DMA stress testing
mainMem.lazyPageWalkers = "TRUE"      # Enable lazy page walker optimization

Roaming VM Configuration

roamingVM.enabled = "FALSE"           # Enable roaming VM functionality
roamingVM.exitBehavior = "prompt"     # Exit behavior when roaming (prompt/auto)

Host-Specific Configurations

Linux Host Optimizations

# Memory Management for Linux Hosts
MemTrimRate = "0"                     # Disable memory trimming on Linux
sched.mem.pshare.enable = "FALSE"     # Disable transparent page sharing

# Graphics Optimizations for Linux
mks.gl.allowBlacklistedDrivers = "TRUE"    # Override Intel/Mesa driver blacklist
mks.enableX11Presentation = "FALSE"        # Disable X11 presentation layer
mks.enableVulkanPresentation = "TRUE"      # Use Vulkan presentation on Linux

# ALSA Audio Configuration for Linux
sound.fileName = "surround51:CARD=Live,DEV=0"  # 5.1 surround sound via ALSA
sound.fileName = "front:CARD=Live,DEV=0"       # Front stereo speakers only
sound.autodetect = "FALSE"                     # Force manual ALSA device selection

Windows Host Optimizations

# DirectX Renderer Optimizations
mks.enableDX11Renderer = "TRUE"               # Use DirectX 11 for best Windows compatibility
mks.dx11.enableModernPresentation = "TRUE"    # Enable modern DX11 presentation
mks.dx11.waitForQueryYieldMS = "1"            # Minimize GPU query delays

# Windows GPU Selection for Multi-GPU Systems
mks.dx11.vendorID = "0x10DE"                  # Force NVIDIA GPU (0x10DE)
mks.dx11.vendorID = "0x1002"                  # Force AMD GPU (0x1002)
mks.dx11.vendorID = "0x8086"                  # Force Intel GPU (0x8086)

macOS Host Considerations

# macOS Metal Renderer Support
mks.enableMetalRenderer = "TRUE"              # Enable Metal rendering on macOS
mks.metal.allowUnsupportedDevices = "TRUE"    # Allow older Metal devices

Example Configurations

High-Performance Gaming Configuration

This configuration optimizes a Windows 10/11 VM for gaming with maximum performance, low latency, and hardware acceleration.

# === HIGH-PERFORMANCE GAMING VM CONFIGURATION ===
# Use this for Windows gaming VMs that need maximum performance

# Basic VM Identity
displayName = "Gaming VM - Windows 11"
guestOS = "windows11-64"
memSize = "16384"                              # 16GB RAM for modern games
numvcpus = "8"                                 # 8 CPU cores for demanding games
cpuid.coresPerSocket = "4"                     # 4 cores per socket for proper topology

# Interface and Display Optimization
gui.fullscreenAtPowerOn = "TRUE"               # Launch directly in fullscreen
pref.autoFitFullScreen = "stretchGuestToHost"  # Fill entire screen
pref.vmplayer.fullscreen.nobar = "TRUE"        # Hide VMware toolbar completely

# Disable VMware Overhead Features
installerDefaults.autoSoftwareUpdateEnabled = "FALSE"  # No automatic updates
pref.autoSoftwareUpdatePermission = "deny"             # Block update prompts
tools.syncTime = "FALSE"                                # Disable time sync overhead
devices.hotplug = "FALSE"                               # Disable hotplug overhead
suspend.disabled = "TRUE"                               # Disable suspend feature

# Memory Performance Optimization
MemTrimRate = "0"                              # Disable memory trimming completely
MemAllowAutoScaleDown = "FALSE"                # Prevent memory scaling
mainMem.backing = "swap"                       # Use swap-backed memory
sched.mem.pshare.enable = "FALSE"              # Disable page sharing
prefvmx.useRecommendedLockedMemSize = "TRUE"   # Lock memory for performance
prefvmx.minVmMemPct = "100"                    # Reserve full memory allocation

# CPU Performance and Priority
Priority.grabbed = "high"                      # High priority when VM focused
sched.cpu.latencySensitivity = "high"          # Low-latency CPU scheduling
sched.cpu.affinity = "0-7"                     # Bind to first 8 CPU cores

# High-Performance Graphics
mks.enable3d = "TRUE"                          # Enable 3D acceleration
svga.vramSize = "536870912"                    # 512MB video memory
mks.forceDiscreteGPU = "TRUE"                  # Use dedicated GPU only
mks.enableDX11Renderer = "TRUE"                # DirectX 11 for Windows games
mks.dx11.enableModernPresentation = "TRUE"     # Modern DX11 presentation

# Gaming-Optimized Display Settings
mks.vsync = "TRUE"                             # Enable VSync for smooth gameplay
mks.maxRefreshRate = "120"                     # Support high refresh rate monitors
mks.gamingMouse.policy = "gaming"              # Optimize mouse for gaming
mks.useDirectInput = "TRUE"                    # Direct input for lower latency
mks.disableTypematic = "TRUE"                  # Disable key repeat delays

# Enhanced Input Device Support
mouse.present = "FALSE"                        # Disable legacy PS/2 mouse
mouse.vusb.present = "TRUE"                    # Enable USB mouse with extra buttons
mouse.vusb.enable = "TRUE"                     # Activate USB mouse functionality
keyboard.vusb.present = "TRUE"                 # Enable USB keyboard
keyboard.vusb.enable = "TRUE"                  # Activate USB keyboard functionality

# High-Performance Storage
scsi0.virtualDev = "pvscsi"                    # VMware paravirtual SCSI (fastest)
scsi0:0.virtualSSD = "TRUE"                    # Present disk as SSD to guest

# High-Performance Networking
ethernet0.virtualDev = "vmxnet3"               # VMware paravirtual network (fastest)

# Audio Optimization
sound.virtualDev = "hdaudio"                   # HD Audio for best quality
sound.autoDetect = "TRUE"                      # Auto-detect best audio device

# VM Stealth (hide virtualization from anti-cheat)
hypervisor.cpuid.v0 = "FALSE"                  # Hide hypervisor CPUID
smbios.reflectHost = "TRUE"                    # Reflect host hardware info
hw.model.reflectHost = "TRUE"                  # Reflect host model

# Advanced Hardware Features
vhv.enable = "TRUE"                            # Enable nested virtualization
vpmc.enable = "TRUE"                           # Performance counters
mce.enable = "TRUE"                            # Machine check exceptions

Security-Hardened Isolated VM

This configuration creates a highly isolated VM suitable for malware analysis, untrusted software testing, or maximum security scenarios.

# === SECURITY-HARDENED ISOLATED VM CONFIGURATION ===
# Use this for malware analysis, untrusted software, or maximum isolation

# Basic VM Identity
displayName = "Isolated Security VM"
guestOS = "windows10-64"
memSize = "4096"                               # Limited memory allocation
numvcpus = "2"                                 # Limited CPU cores

# Complete Tool Isolation
isolation.tools.copy.disable = "TRUE"         # Block copy operations
isolation.tools.paste.disable = "TRUE"        # Block paste operations
isolation.tools.dnd.disable = "TRUE"          # Block drag & drop
isolation.tools.diskShrink.disable = "TRUE"   # Block disk operations
isolation.tools.diskWiper.disable = "TRUE"    # Block disk wiping
isolation.tools.hgfs.disable = "TRUE"         # Block shared folders
isolation.tools.vixMessage.disable = "TRUE"   # Block VIX API

# Device and Hardware Isolation
isolation.device.connectable.disable = "TRUE" # Block device connections
isolation.device.edit.disable = "TRUE"        # Block device modifications
isolation.monitor.control.disable = "TRUE"    # Block monitor control

# Disable Dangerous Features
Guest.Command.Enabled = "FALSE"                # Block guest command execution
usb.generic.autoconnect = "FALSE"             # Block USB auto-connection
usb.restrictions.defaultAllow = "FALSE"       # Block USB devices by default

# Network Security
ethernet0.noPromisc = "TRUE"                  # Prevent promiscuous mode
ethernet0.noForgedSrcAddr = "TRUE"            # Prevent MAC spoofing
ethernet0.connectionType = "hostonly"         # Isolated network only

# Disable Unnecessary Services
vmci.available = "FALSE"                      # Disable VM communication interface
time.synchronize.tools.enable = "FALSE"      # Disable time synchronization
tools.upgrade.policy = "manual"               # Manual tools upgrades only

# Logging for Security Analysis
log.keep = "20"                               # Keep more log files
log.rotateSize = "10000000"                   # Larger log files
vmx.buildType = "debug"                       # Enable debug logging

Linux Development Workstation

This configuration optimizes a Linux VM for software development with good performance and developer-friendly features.

# === LINUX DEVELOPMENT WORKSTATION CONFIGURATION ===
# Optimized for software development on Linux guests

# Basic VM Identity
displayName = "Linux Development VM"
guestOS = "ubuntu-64"
memSize = "8192"                               # 8GB for compilation and IDEs
numvcpus = "6"                                 # 6 cores for parallel builds
cpuid.coresPerSocket = "3"                     # Balanced core topology

# Performance Optimization for Development
Priority.grabbed = "high"                      # High priority during active use
sched.cpu.latencySensitivity = "normal"        # Balanced latency sensitivity
mainMem.backing = "swap"                       # Swap-backed memory

# Linux-Optimized Graphics
mks.enable3d = "TRUE"                          # 3D acceleration for modern DEs
svga.vramSize = "268435456"                    # 256MB video memory
mks.enableVulkanRenderer = "TRUE"              # Vulkan for Linux graphics
mks.gl.allowBlacklistedDrivers = "TRUE"       # Override Mesa/Intel blacklist

# Developer-Friendly Input
mouse.vusb.present = "TRUE"                    # USB mouse with extra buttons
mouse.vusb.enable = "TRUE"                     # Enable advanced mouse features
keyboard.vusb.present = "TRUE"                 # USB keyboard support
keyboard.vusb.enable = "TRUE"                  # Enable keyboard functionality

# High-Performance Storage for Large Projects
scsi0.virtualDev = "pvscsi"                    # Paravirtual SCSI for speed
scsi0:0.virtualSSD = "TRUE"                    # Present as SSD for better I/O

# Network Optimization for Development
ethernet0.virtualDev = "vmxnet3"               # Paravirtual network adapter
ethernet0.connectionType = "bridged"           # Direct network access

# Shared Folders for Code Access
sharedFolder.maxNum = "5"                      # Multiple shared folders
sharedFolder0.present = "TRUE"                 # Enable shared folder
sharedFolder0.enabled = "TRUE"                 # Activate sharing
sharedFolder0.readAccess = "TRUE"              # Read access
sharedFolder0.writeAccess = "TRUE"             # Write access
sharedFolder0.hostPath = "/home/user/projects" # Host development directory
sharedFolder0.guestName = "projects"           # Guest mount name

# Time Synchronization for Build Systems
time.synchronize.tools.enable = "TRUE"        # Keep time in sync
time.synchronize.continue = "TRUE"             # Continuous sync
time.synchronize.tools.startup = "TRUE"       # Sync at startup

# Nested Virtualization for Docker/Containers
vhv.enable = "TRUE"                            # Enable nested virtualization
vvtd.enable = "TRUE"                           # Enable VT-d virtualization
vmx.allowNested = "TRUE"                       # Allow nested VMs

macOS non-Apple Configuration

This configuration optimizes a macOS VM with proper hardware emulation and compatibility settings.

# === MACOS NON-APPLE CONFIGURATION ===
# For running macOS as a guest VM (check local laws regarding licensing)

# Basic VM Identity
displayName = "macOS Monterey VM"
guestOS = "darwin21-64"                        # macOS Monterey identifier
memSize = "8192"                               # 8GB minimum for macOS
numvcpus = "4"                                 # 4 cores recommended
cpuid.coresPerSocket = "2"                     # Intel-like topology

# macOS-Specific Hardware Emulation
hw.model.reflectHost = "FALSE"                 # Use specific Mac model
hw.model = "MacBookPro16,1"                    # MacBook Pro 16" 2019 model
serialNumber = "C02XXXXXXXXX"                  # Valid Mac serial format
smbios.reflectHost = "FALSE"                   # Use Mac SMBIOS
board-id = "Mac-E1008331FDC96864"              # Corresponding board ID

# Apple-Compatible Storage
sata0.present = "TRUE"                         # Enable SATA controller (Mac-like)
sata0:0.present = "TRUE"                       # Primary disk on SATA
sata0:0.fileName = "macOS.vmdk"                # macOS disk file
sata0:0.deviceType = "sata-hardDisk"           # SATA disk type

# Graphics for macOS
svga.present = "TRUE"                          # Enable graphics
svga.vramSize = "268435456"                    # 256MB video memory
mks.enable3d = "FALSE"                         # Disable 3D (compatibility)
svga.3d.enabled = "FALSE"                      # Disable SVGA 3D

# USB Configuration for macOS Compatibility
usb.present = "TRUE"                           # Enable USB
ehci.present = "TRUE"                          # Enhanced USB controller
usb.generic.allowHID = "TRUE"                  # Allow keyboard/mouse

# Audio for macOS
sound.present = "TRUE"                         # Enable audio
sound.virtualDev = "hdaudio"                   # HD Audio compatible with macOS

# Network for macOS
ethernet0.present = "TRUE"                     # Enable network
ethernet0.virtualDev = "e1000e"                # Intel network (Mac compatible)
ethernet0.connectionType = "nat"               # NAT networking

# macOS Boot Configuration
firmware = "efi"                               # EFI firmware (required for macOS)
bios.bootDelay = "5000"                        # Boot delay for selection

Host-Specific Troubleshooting

Linux Host Issues and Solutions

# KVM Conflict Resolution
# Add to /etc/modprobe.d/vmware.conf:
# blacklist kvm
# blacklist kvm-amd
# blacklist kvm-intel

# Wayland Compatibility (GNOME/Ubuntu)
# Run these commands on host:
# gsettings set org.gnome.mutter.wayland xwayland-allow-grabs "true"
# gsettings set org.gnome.mutter.wayland xwayland-grab-access-rules "['vmplayer','vmware-vmx','mksSandbox']"

# Transparent Huge Pages Disable
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# Add to kernel parameters: transparent_hugepage=never

# VMware Module Loading
# modprobe -a vmw_vmci vmmon vmnet

Windows Host High DPI Issues

# VMware Preferences File Adjustments
# Edit: %APPDATA%\VMware\preferences.ini
pref.autoFitGuestToWindow = "FALSE"            # Disable auto-fit for HiDPI
gui.applyHostDisplayScalingToGuest = "TRUE"    # Apply DPI scaling to guest
pref.autoFitFullScreen = "stretchGuestToHost"  # Stretch in fullscreen

Performance Monitoring and Analysis

# Performance Monitoring Configuration
vmx.buildType = "stats"                        # Enable statistics collection
monitor_control.log_vmsample = "TRUE"          # Enable VM performance sampling
log.keep = "50"                                # Keep more log files for analysis
log.rotateSize = "50000000"                    # Larger log files (50MB)

Important Usage Notes

Parameter Compatibility

  1. Virtual Hardware Version: Some parameters require specific virtualHW.version values
  2. VMware Product: Features may vary between Workstation, Player, and Fusion
  3. Host OS: Linux, Windows, and macOS hosts may have different parameter support
  4. Guest OS: Some optimizations are guest-specific

Performance Impact Guidelines

  • High Impact: Graphics renderer changes, memory management settings
  • Medium Impact: CPU scheduling, storage controller changes
  • Low Impact: Interface preferences, logging settings

Security Considerations

  • Isolation Settings: Use for untrusted environments and malware analysis
  • Stealth Settings: May be detected by advanced anti-VM techniques
  • Network Isolation: Critical for containing potentially malicious VMs

Best Practices

  1. Always Backup: Create .vmx backups before making changes
  2. Test Incrementally: Change one category of settings at a time
  3. Document Changes: Keep notes of what parameters you've modified
  4. Performance Testing: Benchmark before and after changes
  5. Host Resource Monitoring: Watch host system performance impact

References and Further Reading

  • VMware Knowledge Base: Official troubleshooting articles and parameter documentation
  • Arch Linux VMware Wiki: Comprehensive Linux-specific configurations and troubleshooting
  • VMware Community Forums: User-contributed configurations and solutions
  • VI-Toolkit: Historical documentation of undocumented parameters
  • VMware Workstation Documentation: Official product documentation
  • Performance Tuning Guides: Hardware-specific optimization resources

This documentation represents a comprehensive collection of VMware VMX parameters from official sources, community knowledge, and practical experience. All undocumented parameters should be used with appropriate caution and testing in non-production environments. Parameter availability and behavior may vary between VMware product versions and host operating systems.

@xBZZZZ
Copy link

xBZZZZ commented Dec 29, 2025

sound.fileName = "surround51:CARD=Live,DEV=0"  # Specific ALSA 5.1 surround device
sound.fileName = "front:CARD=Live,DEV=0"       # ALSA front speakers only
if you use pipewire
sound.fileName = "pipewire"
will make vmware workstation not fight other applications playing audio

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment