Error launching Tizen TV Emulator on Win 11 "-enable-whpx: invalid option"

2.8k views Asked by At

I’m running Tizen Studio 5.0 on a Windows 11 Pro PC. When I try to launch the TV emulator, I receive a popup error message “-enable-whpx: invalid option” and the emulator does not launch.

Error when attempting to launch emulator

I've been following instructions from these links:

Installing TV SDK | Samsung Developers

Quick-start Guide | Samsung Developers

I am able to connect to a physical Samsung TV and deploy my app there, but I simply cannot get the emulator to run.

So far, I've verified:

  • my CPU supports virtualization
  • hardware virtualization is enabled in BOIS
  • Windows Feature Hyper-V is enabled

I've tried running the emulator via the command line. I receive the same "-enable-whpx: invalid option" message box, and a bunch of console output. Here is the output:

C:\tizen-studio\tools\emulator\bin> .\em-cli.bat -v launch -n t-0214-1
[2023.2.14 17:59:47.86][WARNING][ProfileList.get] cannot find profile
[2023.2.14 17:59:47.89][WARNING][EMLogger.printStackTrace] java.lang.NoClassDefFoundError: org/tizen/emulator/manager/ui/item/CommonViewItemFactoryV3
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        at org.tizen.emulator.manager.plugin.EMPlugin.prepareLegacyEndpoint(EMPlugin.java:327)
        at org.tizen.emulator.manager.plugin.EMPlugin.initEMPlugin(EMPlugin.java:171)
        at org.tizen.emulator.manager.platform.Preparer.initializePlugin(Preparer.java:172)
        at org.tizen.emulator.manager.platform.Preparer.initPlatformList(Preparer.java:139)
        at org.tizen.emulator.manager.platform.Preparer.execute(Preparer.java:66)
        at org.tizen.emulator.manager.EmulatorManager.initialize(EmulatorManager.java:61)
        at org.tizen.emulator.manager.console.Main.startConsoleProcessor(Main.java:21)
        at org.tizen.emulator.manager.console.Main.main(Main.java:65)
Caused by: java.lang.ClassNotFoundException: org.tizen.emulator.manager.ui.item.CommonViewItemFactoryV3
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 19 more

[2023.2.14 17:59:47.215][INFO][VMWorkerCommon.<init>] called VMWorkerCommon.
[2023.2.14 17:59:47.215][INFO][VMWorkerCommon.initLauncher] called initLauncher of VMWorkerCommon.
[2023.2.14 17:59:47.220][INFO][HelperClass.runProcess] Try to run external process: [C:\tizen-studio\tools\emulator\bin\check-gl.exe]
[2023.2.14 17:59:47.220][INFO][HelperClass.runProcess]  -- Working dir : C:\tizen-studio\tools\emulator\bin
[2023.2.14 17:59:47.458][INFO][CheckGPU.work] Support GPU: true
[2023.2.14 17:59:47.458][INFO][CheckGPU.work] Gallium: false
[2023.2.14 17:59:47.458][INFO][HelperClass.runProcess] Try to run external process: [C:\tizen-studio\tools\emulator\bin\check-whpx.exe, hyper-v]
[2023.2.14 17:59:47.459][INFO][HelperClass.runProcess]  -- Working dir : C:\tizen-studio\tools\emulator\bin
[2023.2.14 17:59:47.489][INFO][HelperClass.runProcess] Try to run external process: [C:\tizen-studio\tools\emulator\bin\check-hax.exe]
[2023.2.14 17:59:47.489][INFO][HelperClass.runProcess]  -- Working dir : C:\tizen-studio\tools\emulator\bin
[2023.2.14 17:59:47.521][INFO][CheckVT.work] Support HW virtualization: true
[2023.2.14 17:59:47.521][INFO][CheckVT.work] non-UG: false
[2023.2.14 17:59:47.525][INFO][HelperClass.runProcess] Try to run external process: [C:\tizen-studio\tools\emulator\bin\check-whpx.exe, hyper-v]
[2023.2.14 17:59:47.525][INFO][HelperClass.runProcess]  -- Working dir : C:\tizen-studio\tools\emulator\bin
[2023.2.14 17:59:47.554][INFO][HelperClass.runProcess] Try to run external process: [C:\tizen-studio\tools\emulator\bin\check-net.exe, --proxy]
[2023.2.14 17:59:47.554][INFO][HelperClass.runProcess]  -- Working dir : C:\tizen-studio\tools\emulator\bin
[2023.2.14 17:59:47.584][INFO][NetworkProxy.getHostProxy] check-net result : MODE:None

[2023.2.14 17:59:47.584][WARNING][NetworkProxy.getHostProxy] Can't find host proxy setting.
Launch command : "C:\tizen-studio\platforms/tizen-7.0/tv-samsung/emulator\bin\emulator.cmd" --conf "C:\tizen-studio-data\emulator\vms\t-0214-1\vm_launch.conf" -j "C:\tizen-studio\jdk\bin\java"
[2023.2.14 17:59:47.584][INFO][VMLauncher.getCommand] Starting Emulator Command :
[2023.2.14 17:59:47.585][INFO][VMLauncher.getCommand] "C:\tizen-studio\platforms/tizen-7.0/tv-samsung/emulator\bin\emulator.cmd" --conf "C:\tizen-studio-data\emulator\vms\t-0214-1\vm_launch.conf" -j "C:\tizen-studio\jdk\bin\java"
[2023.2.14 17:59:47.585][INFO][VMLauncher.launchInternal] Command list for ProcessBuilder
[2023.2.14 17:59:47.585][INFO][VMLauncher.launchInternal] [C:\tizen-studio\platforms/tizen-7.0/tv-samsung/emulator\bin\emulator.cmd, --conf, C:\tizen-studio-data\emulator\vms\t-0214-1\vm_launch.conf, -j, C:\tizen-studio\jdk\bin\java]
[2023.2.14 17:59:47.770][WARNING][LaunchingMonitor.executeInternal] Emulator has been terminated in 8seconds.
The VM is launched
[2023.2.14 17:59:47.772][INFO][Main$EMShutdownHook.run] EMShutdownHook called

Any advice on what to try next?

==== UPDATE AFTER FOLLOWING ADVICE ====

After following advice from @Sangwook Lee, I no longer receive the "-enable-whpx: invalid option" error. However, my emulator still does not start. Trying to start it produces two log files, emulator.log and emulator.klog. The .klog file is empty, and here is the content of the .log file:

21:06:32.817|32784|I|    osutil| 396|Running with elevated integrity level. Try to respawn.
21:06:32.821|32784|I|    osutil| 427|Respawning success. Waiting for child process.
21:06:32.832|20244|I|      main| 345|Start emulator...
qemu args: =========================================
"C:\tizen-studio\platforms\tizen-7.0\tv-samsung\emulator\bin\\emulator-x86_64" "-drive" "file=C:\tizen-studio-data\emulator\vms\T-samsung-7.0-x86\emulimg-T-samsung-7.0-x86.x86,if=none,index=0,cache.no-flush=on,id=drive" "-device" "virtio-blk-pci,drive=drive" "-drive" "file=C:\tizen-studio-data\emulator\vms\T-samsung-7.0-x86\swap-T-samsung-7.0-x86.img,if=none,index=1,id=swap" "-device" "virtio-blk-pci,drive=swap" "-enable-hax" "-device" "vigs,backend=gl,wsi=vigs_wsi" "-device" "yagl,wsi=vigs_wsi" "-smp" "4" "-m" "1024" "-device" "maru-virtual-tuner,system=ATSC,country=USA,table=C:\tizen-studio-data\emulator\vms\T-samsung-7.0-x86\tuner_default.cfg,stillimg=C:\tizen-studio\platforms\tizen-7.0\tv-samsung\emulator-resources\images,wsi=vigs_wsi" "-net" "nic,model=virtio" "-net" "user" "-chardev" "file,path=C:\tizen-studio-data\emulator\vms\T-samsung-7.0-x86\logs\emulator.klog,id=con0" "-device" "isa-serial,chardev=con0" "-device" "virtio-serial" "-L" "C:\tizen-studio\platforms/tizen-7.0/tv-samsung/emulator\data\bios" "-kernel" "C:\tizen-studio\platforms/tizen-7.0/tv-samsung/emulator\data\kernel\bzImage.x86" "-append" "vm_name=T-samsung-7.0-x86 video=LVDS-1:1920x1080-32@60 dpi=72 clocksource=hpet consoleblank=0  host_ip=10.0.2.2 console=ttyS0 model=4ksero yagl=1 force_pat" "-device" "virtio-maru-touchscreen-pci,max_point=10" "-nodefaults" "-device" "virtio-maru-esm-pci" "-device" "virtio-maru-hwkey-pci" "-device" "virtio-maru-evdi-pci" "-device" "virtio-maru-motor-pci" "-device" "virtio-maru-keyboard-pci" "-rtc" "base=utc" "-M" "maru-x86-machine" "-soundhw" "all" "-usb" "-vga" "none" "-device" "maru-external-input-pci,stillimg=C:\tizen-studio\platforms\tizen-7.0\tv-samsung\emulator-resources\images,wsi=vigs_wsi" "-display" "maru_qt,rendering=onscreen,resolution=1920x1080,dpi=72" 
====================================================
21:06:32.835|20244|I|      main| 348|qemu main start...
21:06:32.835|20244|I|emul_state| 733|initial display resolution: 1920x1080
21:06:32.835|20244|I|qt5_consol| 171|display density: 72
21:06:33.009|20244|I|qt5_supple| 515|* Qt version (compile time): 5.6.0
21:06:33.009|20244|I|qt5_supple| 516|* Qt version (runtime): 5.6.0
21:06:33.009|20244|I|qt5_supple| 517|* working path: "C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin"
21:06:33.009|20244|I|qt5_supple| 518|* binary path: "C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin"
21:06:33.009|20244|I|qt5_supple| 519|* Qt plugin library path: ("C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin")
21:06:33.009|20244|I|qt5_consol| 153|Display Type: QT5 Onscreen
ram_size 0x40000000
device fd:000000000000068c
21:06:33.019|20244|I|      main| 157|* Board name : Maru
21:06:33.019|20244|I|      main| 158|* Package Version: 2.8.0.26
21:06:33.019|20244|I|      main| 159|* Package Maintainer: Jingjing geng <[email protected]>
21:06:33.019|20244|I|      main| 160|* Git Head : 
21:06:33.019|20244|I|      main| 161|* 
21:06:33.019|20244|I|      main| 162|* User name : paulf
21:06:33.019|20244|I|      main| 163|* Host name : TURING
21:06:33.019|20244|I|      main| 166|* Build date : 2022-12-09 10:28:33 IST
21:06:33.019|20244|I|      main| 175|* Current time : 2023-02-21 21:06:33
21:06:33.019|20244|I|      main| 179|* Host Qt version : 5.6.0
21:06:33.019|20244|I|      main| 192|* Host SDL version : 2.0.4
21:06:33.020|20244|I|    osutil| 165|* Windows
21:06:33.020|20244|I|    osutil| 166|* LibPNG Version : 1.6.21
21:06:33.020|20244|I|    osutil| 173|* MajorVersion : 6, MinorVersion : 2, BuildNumber : 9200, PlatformId : 2, CSDVersion : 
21:06:33.020|20244|I|    osutil| 193|* Total Ram : 66807272 kB, Free: 50237628 kB
21:06:33.020|20244|I|net_helper| 178|Emulator base port is 26100.
21:06:33.020|20244|I|net_helper| 715|start sdb noti server thread.
21:06:33.020|20244|I|net_helper| 740|success to bind port[127.0.0.1:26103/udp] for sdb noti server in host 
21:06:33.020|20244|I|      main| 239|kernel commandline : vm_name=T-samsung-7.0-x86 video=LVDS-1:1920x1080-32@60 dpi=72 clocksource=hpet consoleblank=0  host_ip=10.0.2.2 console=ttyS0 model=4ksero yagl=1 force_pat sdb_port=26100, vm_resolution=1920x1080
dsound: Registering endpoint notification callback succeeded.
dsound: (dsound_create_thread) Done
dsound: (dsound_initialization_thread) CoInitializeEx succeeded
dsound: (dsound_audio_in_init) success
dsound: (dsound_audio_init) finished
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync vcpu reg
Failed to sync HAX vcpu context
dsound: (dsound_audio_fini)
dsound: (dsound_initialization_thread)thread exiting ...
dsound: (dsound_audio_fini)end uninitialize to free
21:06:33.081|20244|I|net_helper| 704|shutdown sdb notification server.
21:06:33.081|20244|I|      main|  91|Exit emulator...
3

There are 3 answers

0
PaulF On BEST ANSWER

Thanks to Sangwook Lee and Jianhua Bi for their assistance. Here is what worked for me.

Environment

  • Machine: HP Z2 G9 Workstation PC
  • OS: Windows 11 Pro 10.0.22621
  • CPU: Intel i7-12700k

Steps

  1. Install Oracle JDK 8u361 x64
  2. Install Tizen Studio 5.0 with IDE installer
  3. Launch Tizen Package Manager, on the Extension SDK tab, install TV Extensions-7.0
  4. Uninstall any installed versions of Intel HAXM via Add or remove programs
  5. In "Turn Windows features on or off" uncheck Hyper-V, Virtual Machine Platform, Windows Hypervisor Platform and Windows Subsystem for Linux
  6. Reboot - enter BIOS
  7. In BIOS, under Security / BIOS SureStart, turn off Virtualization Based BIOS Protection, and under Advanced / System Options, ensure that VTx and VTd are both enabled.
  8. Disable Settings / Privacy & Security / Windows Security / Core Isolation / Memory Integrity; reboot
  9. Disable HP SureClick: right-click HP Wolf in system tray, and disable each of the three options; set Windows services HP Sure Click Endpoint Service and HP Sure Click Host Management Service to disabled; reboot
  10. Ensure all services that could conflict with HAXM are disabled. Run the following in an admin command prompt and then reboot
dism /Online /Disable-Feature:Microsoft-Hyper-V-All

bcdedit /set hypervisorlaunchtype Off

sc config vmickvpexchange start= disabled
sc config vmicguestinterface start= disabled
sc config vmicshutdown start= disabled
sc config vmicheartbeat start= disabled
sc config vmicvmsession start= disabled
sc config vmicrdv start= disabled
sc config vmictimesync start= disabled
sc config vmicvss start= disabled

reg add HKLM\System\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity /v Enabled /t REG_DWORD /d 0 /f
  1. Install HAXM 7.8.0
  2. In Tizen Emulator Manager, launch the TV emulator
2
Sangwook Lee On

Thank you very much for updating it. I am writing our comments right now.

  1. Root cause

Your window is enabled whpx option. but the Tizen TV emulator has not supported it yet. That's why the error happens.

  1. Plan in the Future

We are planning to support whpx option next time internally.

  1. To use it as this current situation, please follow the below steps

1). Disable Windows Hypervisor Option

  1. Enter windows features in the Windows search box.
  2. In the Windows Features dialog,disable both Hyper-V and Windows Hypervisor
  3. Platform: 1_3)PC reboot

2). Install the Intel Haxm driver

After installation https://download.tizen.org/sdk/haxm/7.0.0/win/, please reboot the pc again.

3). Try to launch the TV emulator.

If you need more help from us, please feel free to contact us at any time. Thanks

0
Sangwook Lee On

This is Sangwook Lee. Thank you for showing the new logs. When I see it, I am thinking that you need to check if the haxm driver is installed well. Let me update the guide https://docs.tizen.org/application/tizen-studio/setup/hardware-accelerated-execution-manager/ I think you can follow the steps in the guide. If you are still in trouble, please say it again. Thank you very much for interesting in then Tizen activity.