Public bug reported:

macOS version: 10.15.2
QEMU versions: 5.2.0 (from MacPorts)
               5.2.92 (v6.0.0-rc2-23-g9692c7b037)

If the QEMU window is not visible (hidden, minimized or another
application is in full screen mode), the QEMU process gradually freezes:
it still runs, but the VM does not respond to external requests such as
Telnet or SSH until the QEMU window is visible on the desktop.

This behavior is due to the work of the macOS App Nap function:
https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/AppNap.html#//apple_ref/doc/uid/TP40013929-CH2-SW1

It doesn't matter how the process is started -- as a background job or
as a foreground shell process in case QEMU has a desktop window.

My VM does not have a display output, only a serial line, most likely if
the VM was using OpenGL, or playing sound (or any other App Nap
triggers), then the problem would never have been detected.

In my case only one starting way without this problem:
sudo qemu-system-x86_64 -nodefaults \
-cpu host -accel hvf -smp 1 -m 384 \
-device virtio-blk-pci,drive=flash0 \
-drive 
file=/vios-adventerprisek9-m.vmdk.SPA.156-1.T.vmdk,if=none,format=vmdk,id=flash0
 \
-device e1000,netdev=local -netdev 
tap,id=local,ifname=tap0,script=no,downscript=no \
-serial stdio -display none

The typical way from the internet to disable App Nap doesn't work:
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

** Affects: qemu
     Importance: Undecided
         Status: New


** Tags: app-nap freezes macos

** Tags removed: appnap
** Tags added: app-nap

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1923648

Title:
  macOS App Nap feature gradually freezes QEMU process

Status in QEMU:
  New

Bug description:
  macOS version: 10.15.2
  QEMU versions: 5.2.0 (from MacPorts)
                 5.2.92 (v6.0.0-rc2-23-g9692c7b037)

  If the QEMU window is not visible (hidden, minimized or another
  application is in full screen mode), the QEMU process gradually
  freezes: it still runs, but the VM does not respond to external
  requests such as Telnet or SSH until the QEMU window is visible on the
  desktop.

  This behavior is due to the work of the macOS App Nap function:
  
https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/AppNap.html#//apple_ref/doc/uid/TP40013929-CH2-SW1

  It doesn't matter how the process is started -- as a background job or
  as a foreground shell process in case QEMU has a desktop window.

  My VM does not have a display output, only a serial line, most likely
  if the VM was using OpenGL, or playing sound (or any other App Nap
  triggers), then the problem would never have been detected.

  In my case only one starting way without this problem:
  sudo qemu-system-x86_64 -nodefaults \
  -cpu host -accel hvf -smp 1 -m 384 \
  -device virtio-blk-pci,drive=flash0 \
  -drive 
file=/vios-adventerprisek9-m.vmdk.SPA.156-1.T.vmdk,if=none,format=vmdk,id=flash0
 \
  -device e1000,netdev=local -netdev 
tap,id=local,ifname=tap0,script=no,downscript=no \
  -serial stdio -display none

  The typical way from the internet to disable App Nap doesn't work:
  defaults write NSGlobalDomain NSAppSleepDisabled -bool YES

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1923648/+subscriptions

Reply via email to