在VMware上的OSX中破解的Firefox NPAPI插件

时间:2012-09-26 23:19:40

标签: macos flash firefox vmware npapi

似乎Firefox NPAPI插件在Mac OSX(在10.6和10.7上测试)VMware虚拟机中被破坏。有谁知道为什么,或者有一个解决方法的想法 - 例如检测用户何时运行Firefox / OSX / VM?

上下文:

  • 我的插件仅在FF&&amp ;; OSX&& VM。但是,该插件仍然可以正常运行。这始终是可重现的,并且可以跨多个VM发生。
  • Adob​​e Reader,Adobe Flash和我使用Firebreath构建的测试插件(教程)在这种环境下也都被打破了。
  • Firefox在控制台中输出以下日志消息:“无效像素格式”和“无效上下文”。可能与OpenGL相关 - 请参阅bug report
  • 运行glxinfo命令会产生类似的错误:

    cb-sea-miniosx64-03:~ seabld$ glxinfo
    name of display: /tmp/launch-LojaDe/:0
    Thu Jul  5 20:13:51 cb-sea-miniosx64-03.comm-build.scl1.mozilla.com glxinfo[1009 <Error>: unknown error code: invalid pixel format
    Thu Jul  5 20:13:51 cb-sea-miniosx64-03.comm-build.scl1.mozilla.com glxinfo[1009] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    X Error of failed request: GLXBadContext
      Major opcode of failed request:  0 ()
      Serial number of failed request:  16
      Current serial number in output stream:   16
    
  • Instruments Profiler报告了IOSurfaceCreate / IOSurfaceClientCreate为我的插件花费了大量时间。如果我理解正确的话,浏览器会使用IOSurface与插件共享渲染数据。
  • 使用Activity Monitor获取的示例似乎没有任何有用的信息 - 除了CPU问题在主线程(DispatchQueue)中。
  • 一种解决方法是以32位模式运行Firefox:右键单击FF应用程序&gt;获取信息&gt;以32位模式打开。但我们不能指望用户这样做。

1 个答案:

答案 0 :(得分:2)

听起来好像OS X VMWare客人没有完全正常的3D加速功能。如果有的话,这是一个VMWare错误(没有暴露完整的3D加速),或者可能是一个Firefox错误(对缺乏3D功能的反应很差);这几乎肯定不是你的错。

我不会花太多时间来解决它,特别是考虑到你尝试过的所有其他插件(包括Flash!)似乎都受到完全相同的问题的影响。将其列为“已知问题”并继续前进。