在 Win 11 上启动 Tizen TV 模拟器时出错“-enable-whpx:无效选项”

Pau*_*ulF 1 tizen tizen-emulator tizen-tv tizen-studio tizen-tv-emulator

I\xe2\x80\x99m 在 Windows 11 Pro PC 上运行 Tizen Studio 5.0。当我尝试启动电视模拟器时,收到弹出错误消息 \xe2\x80\x9c-enable-whpx: invalid option\xe2\x80\x9d 并且模拟器无法启动。

\n

尝试启动模拟器时出错

\n

我一直按照这些链接中的说明进行操作:

\n

安装电视 SDK | 三星开发者

\n

快速入门指南 | 三星开发者

\n

我可以连接到物理三星电视并在那里部署我的应用程序,但我根本无法运行模拟器。

\n

到目前为止,我已经验证:

\n
    \n
  • 我的CPU支持虚拟化
  • \n
  • BOIS 中启用硬件虚拟化
  • \n
  • Windows 功能 Hyper-V 已启用
  • \n
\n

我尝试过通过命令行运行模拟器。我收到相同的“-enable-whpx:无效选项”消息框,以及一堆控制台输出。这是输出:

\n
C:\\tizen-studio\\tools\\emulator\\bin> .\\em-cli.bat -v launch -n t-0214-1\n[2023.2.14 17:59:47.86][WARNING][ProfileList.get] cannot find profile\n[2023.2.14 17:59:47.89][WARNING][EMLogger.printStackTrace] java.lang.NoClassDefFoundError: org/tizen/emulator/manager/ui/item/CommonViewItemFactoryV3\n        at java.lang.ClassLoader.defineClass1(Native Method)\n        at java.lang.ClassLoader.defineClass(ClassLoader.java:757)\n        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)\n        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)\n        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)\n        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)\n        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)\n        at java.security.AccessController.doPrivileged(Native Method)\n        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)\n        at org.tizen.emulator.manager.plugin.EMPlugin.prepareLegacyEndpoint(EMPlugin.java:327)\n        at org.tizen.emulator.manager.plugin.EMPlugin.initEMPlugin(EMPlugin.java:171)\n        at org.tizen.emulator.manager.platform.Preparer.initializePlugin(Preparer.java:172)\n        at org.tizen.emulator.manager.platform.Preparer.initPlatformList(Preparer.java:139)\n        at org.tizen.emulator.manager.platform.Preparer.execute(Preparer.java:66)\n        at org.tizen.emulator.manager.EmulatorManager.initialize(EmulatorManager.java:61)\n        at org.tizen.emulator.manager.console.Main.startConsoleProcessor(Main.java:21)\n        at org.tizen.emulator.manager.console.Main.main(Main.java:65)\nCaused by: java.lang.ClassNotFoundException: org.tizen.emulator.manager.ui.item.CommonViewItemFactoryV3\n        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)\n        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)\n        ... 19 more\n\n[2023.2.14 17:59:47.215][INFO][VMWorkerCommon.<init>] called VMWorkerCommon.\n[2023.2.14 17:59:47.215][INFO][VMWorkerCommon.initLauncher] called initLauncher of VMWorkerCommon.\n[2023.2.14 17:59:47.220][INFO][HelperClass.runProcess] Try to run external process: [C:\\tizen-studio\\tools\\emulator\\bin\\check-gl.exe]\n[2023.2.14 17:59:47.220][INFO][HelperClass.runProcess]  -- Working dir : C:\\tizen-studio\\tools\\emulator\\bin\n[2023.2.14 17:59:47.458][INFO][CheckGPU.work] Support GPU: true\n[2023.2.14 17:59:47.458][INFO][CheckGPU.work] Gallium: false\n[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]\n[2023.2.14 17:59:47.459][INFO][HelperClass.runProcess]  -- Working dir : C:\\tizen-studio\\tools\\emulator\\bin\n[2023.2.14 17:59:47.489][INFO][HelperClass.runProcess] Try to run external process: [C:\\tizen-studio\\tools\\emulator\\bin\\check-hax.exe]\n[2023.2.14 17:59:47.489][INFO][HelperClass.runProcess]  -- Working dir : C:\\tizen-studio\\tools\\emulator\\bin\n[2023.2.14 17:59:47.521][INFO][CheckVT.work] Support HW virtualization: true\n[2023.2.14 17:59:47.521][INFO][CheckVT.work] non-UG: false\n[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]\n[2023.2.14 17:59:47.525][INFO][HelperClass.runProcess]  -- Working dir : C:\\tizen-studio\\tools\\emulator\\bin\n[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]\n[2023.2.14 17:59:47.554][INFO][HelperClass.runProcess]  -- Working dir : C:\\tizen-studio\\tools\\emulator\\bin\n[2023.2.14 17:59:47.584][INFO][NetworkProxy.getHostProxy] check-net result : MODE:None\n\n[2023.2.14 17:59:47.584][WARNING][NetworkProxy.getHostProxy] Can\'t find host proxy setting.\nLaunch 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"\n[2023.2.14 17:59:47.584][INFO][VMLauncher.getCommand] Starting Emulator Command :\n[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"\n[2023.2.14 17:59:47.585][INFO][VMLauncher.launchInternal] Command list for ProcessBuilder\n[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]\n[2023.2.14 17:59:47.770][WARNING][LaunchingMonitor.executeInternal] Emulator has been terminated in 8seconds.\nThe VM is launched\n[2023.2.14 17:59:47.772][INFO][Main$EMShutdownHook.run] EMShutdownHook called\n
Run Code Online (Sandbox Code Playgroud)\n

关于下一步尝试什么有什么建议吗?

\n

====遵循建议后更新====

\n

在遵循@Sangwook Lee的建议后,我不再收到“-enable-whpx:无效选项”错误。但是,我的模拟器仍然无法启动。尝试启动它会产生两个日志文件,emulator.log以及emulator.klog. 该.klog文件是空的,以下是该文件的内容.log

\n
21:06:32.817|32784|I|    osutil| 396|Running with elevated integrity level. Try to respawn.\n21:06:32.821|32784|I|    osutil| 427|Respawning success. Waiting for child process.\n21:06:32.832|20244|I|      main| 345|Start emulator...\nqemu args: =========================================\n"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" \n====================================================\n21:06:32.835|20244|I|      main| 348|qemu main start...\n21:06:32.835|20244|I|emul_state| 733|initial display resolution: 1920x1080\n21:06:32.835|20244|I|qt5_consol| 171|display density: 72\n21:06:33.009|20244|I|qt5_supple| 515|* Qt version (compile time): 5.6.0\n21:06:33.009|20244|I|qt5_supple| 516|* Qt version (runtime): 5.6.0\n21:06:33.009|20244|I|qt5_supple| 517|* working path: "C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin"\n21:06:33.009|20244|I|qt5_supple| 518|* binary path: "C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin"\n21:06:33.009|20244|I|qt5_supple| 519|* Qt plugin library path: ("C:/tizen-studio/platforms/tizen-7.0/tv-samsung/emulator/bin")\n21:06:33.009|20244|I|qt5_consol| 153|Display Type: QT5 Onscreen\nram_size 0x40000000\ndevice fd:000000000000068c\n21:06:33.019|20244|I|      main| 157|* Board name : Maru\n21:06:33.019|20244|I|      main| 158|* Package Version: 2.8.0.26\n21:06:33.019|20244|I|      main| 159|* Package Maintainer: Jingjing geng <jingjin.geng@samsung.com>\n21:06:33.019|20244|I|      main| 160|* Git Head : \n21:06:33.019|20244|I|      main| 161|* \n21:06:33.019|20244|I|      main| 162|* User name : paulf\n21:06:33.019|20244|I|      main| 163|* Host name : TURING\n21:06:33.019|20244|I|      main| 166|* Build date : 2022-12-09 10:28:33 IST\n21:06:33.019|20244|I|      main| 175|* Current time : 2023-02-21 21:06:33\n21:06:33.019|20244|I|      main| 179|* Host Qt version : 5.6.0\n21:06:33.019|20244|I|      main| 192|* Host SDL version : 2.0.4\n21:06:33.020|20244|I|    osutil| 165|* Windows\n21:06:33.020|20244|I|    osutil| 166|* LibPNG Version : 1.6.21\n21:06:33.020|20244|I|    osutil| 173|* MajorVersion : 6, MinorVersion : 2, BuildNumber : 9200, PlatformId : 2, CSDVersion : \n21:06:33.020|20244|I|    osutil| 193|* Total Ram : 66807272 kB, Free: 50237628 kB\n21:06:33.020|20244|I|net_helper| 178|Emulator base port is 26100.\n21:06:33.020|20244|I|net_helper| 715|start sdb noti server thread.\n21:06:33.020|20244|I|net_helper| 740|success to bind port[127.0.0.1:26103/udp] for sdb noti server in host \n21: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\ndsound: Registering endpoint notification callback succeeded.\ndsound: (dsound_create_thread) Done\ndsound: (dsound_initialization_thread) CoInitializeEx succeeded\ndsound: (dsound_audio_in_init) success\ndsound: (dsound_audio_init) finished\nFailed to sync vcpu reg\nFailed to sync vcpu reg\nFailed to sync vcpu reg\nFailed to sync vcpu reg\nFailed to sync vcpu reg\nFailed to sync HAX vcpu context\ndsound: (dsound_audio_fini)\ndsound: (dsound_initialization_thread)thread exiting ...\ndsound: (dsound_audio_fini)end uninitialize to free\n21:06:33.081|20244|I|net_helper| 704|shutdown sdb notification server.\n21:06:33.081|20244|I|      main|  91|Exit emulator...\n
Run Code Online (Sandbox Code Playgroud)\n

Pau*_*ulF 5

感谢 Sangwook Lee 和Jianhua Bi 的帮助。这对我有用。

环境

  • 机器:HP Z2 G9 工作站电脑
  • 操作系统:Windows 11 专业版 10.0.22621
  • CPU:英特尔 i7-12700k

脚步

  1. 安装Oracle JDK 8u361 x64
  2. 使用 IDE 安装程序安装Tizen Studio 5.0
  3. 启动 Tizen Package Manager,在 Extension SDK 选项卡上安装 TV Extensions-7.0
  4. 通过添加或删除程序卸载任何已安装版本的英特尔 HAXM
  5. 在“打开或关闭 Windows 功能”中,取消选中 Hyper-V、虚拟机平台、Windows 虚拟机管理程序平台和适用于 Linux 的 Windows 子系统
  6. 重启-进入BIOS
  7. 在 BIOS 中的安全/BIOS SureStart 下,关闭基于虚拟化的 BIOS 保护,并在高级/系统选项下确保 VTx 和 VTd 均已启用。
  8. 禁用设置/隐私和安全/Windows安全/核心隔离/内存完整性;重启
  9. 禁用 HP SureClick:右键单击系统托盘中的 HP Wolf,然后禁用三个选项中的每一个;将 Windows 服务 HP Sure Click Endpoint Service 和 HP Sure Click Host Management Service 设置为禁用;重启
  10. 确保禁用所有可能与 HAXM 冲突的服务。在管理命令提示符中运行以下命令,然后重新启动
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
Run Code Online (Sandbox Code Playgroud)
  1. 安装HAXM 7.8.0
  2. 在 Tizen 模拟器管理器中,启动 TV 模拟器