Jump to content

What is the state of getting Quartz Extreme to work?


76 posts in this topic

Recommended Posts

Currently, QE is not supported in VMWare. Is this due to limitations in VMWare's software or in the driver used by OS X in the virtual machine?

 

Is it possible for the community to make QE work, or does VMWare need to change something within Workstation?

 

I'm simply wondering why that limitation currently exists.

Link to comment
Share on other sites

This status is: work in progress. Would you like to join the effort?

 

Hi Zenith432,

 

I currently have Mac OS X 10.5.8 virtualized in VMware Workstation, using your sound and video kexts. Probably next month I will buy Snow Leopard. I would like to help as much as I can....

 

Keep up with good work...

Link to comment
Share on other sites

Just to clarify, the status is still work in progress. You guys have no idea how hard it was just to get the WindowServer to complete the initialization sequence for QE. There are still an unknown number of functions that have to be implemented before I can incorporate this into a production driver. I'm surprised the screen is not completely blank at the current stage. I think that menu bar is supposed to be semi-transparent, not fully-transparent :-) I can't get System Preferences to change background image.

 

This only works on Snowy for now as well. It needs to be adapted back to Leopard because Apple made changes between the two.

 

To summarize - lots of work still left to do.

Link to comment
Share on other sites

Great work, will be it enought to run editor in iPhoto instead of blank screen ?
I don't have iLife, so I couldn't check. I did confirm though that the reason that Preview can't display PNG files in OS 10.6 is that it uses QE/CI. So I guess getting this to work is a milestone. OTOH, hardware-accelerated CoreImage relies on GL shaders, which is probably going to be among the last GL features to get support. I can only guess that iPhoto also needs GL shaders, so it's a long way off. VMware supports a shader language based on Direct3D HLSL, so at the very least supporting GLSL requires a translator between the two.
Link to comment
Share on other sites

I don't have iLife, so I couldn't check. I did confirm though that the reason that Preview can't display PNG files in OS 10.6 is that it uses QE/CI. So I guess getting this to work is a milestone. OTOH, hardware-accelerated CoreImage relies on GL shaders, which is probably going to be among the last GL features to get support. I can only guess that iPhoto also needs GL shaders, so it's a long way off. VMware supports a shader language based on Direct3D HLSL, so at the very least supporting GLSL requires a translator between the two.

 

Mamma mia! ... what an headache. ;)

Good work, man.

We'll wait...

 

PS my preview.app doesn't display any kind of pics

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...
FYI, I've resumed work on the OpenGL support in VMsvga2, and I've got VLC video player and Preview [OS 10.6 variant] working. [both these Apps require a hardware GL driver].

 

e935598fa33c74a99b844b66cacb58c23d27d4392703d9cbda8a25750b719ec66g.jpg

 

317d6121898dff89c443ca5b51fe65a7b5174e1f472b714eba4768f62f9887a06g.jpg

 

Wow this is amazing!

 

Are you able to load Final Cut Pro with this? that would be great!

 

please share your work soon! cant wait...

Link to comment
Share on other sites

VMsvga2 v1.3.0d1 v1.3.0d7 Development Preview Edition

with hardware OpenGL support.

 

Host Requirements

  • VMware Workstation 7.x with 3D Acceleration and Screen-Object enabled. Set your guest vram size to at least 32MB.
  • Don't ask me if the GL driver works on Fusion or Workstation/Linux. Test it yourself. I don't have those platforms set up. VMware's SVGA3D API is modeled on Direct3D, so it works fairly smoothly. On other platforms, it's implemented using an OpenGL host driver, and some features may not map well.
  • The VMware host must have a Direct3D or OpenGL driver that provides access to the GPU. If you run a standalone VMware kernel without a host OS, I don't think 3D Acceleration is available [someone correct me if I'm wrong].

Guest requirements

  • OS 10.6.3 or Above.
  • AppleIntelGMA950GLDriver.bundle must be installed in /System/Library/Extensions [This is normally the case].

Applications Tested

  1. VLC Video Player. Seems to have everything it needs and works 100%.
  2. Preview for OS 10.6.x. Seems to have what it needs. Uses pipeline fences occasionally which aren't implemented. All fence waits return immediately, so it doesn't hang.
  3. Apple's Finder works. It uses OpenGL for its icon and "Cover Flow" views. In fact, it does some tricky depth-buffering and alpha-blending in the "Cover Flow" view, which helped quite a bit in figuring things out.
  4. Flash Prayer 10.1r102 works. It calls CGLQueryRendererInfo(), rejects the renderer and then proceeds to render in software :blink:
  5. QuickTime X works. It also rejects the renderer and proceeds to render in software.
  6. iTunes works. Uses legacy IOQTCompoments for video which uses YUV overlay. No GL.
  7. Chess - the only 3D game I tried. The initial board is drawn, although lighting and mipmapping detail is missing. The game itself doesn't play due to unimplemented GL features.
  8. The WindowServer's GLCompositor (aka QuartzExtreme) - not even close. The screen is all-black. It's also quite a stress test, as it creates about 50 textures right off the bat. The system responds to keystrokes and mouse clicks, so it can be shut down safely if you know the sequence. QE also uses a couple of untested texture types, and whatnot. A lot of work still to do for that.
  9. I also tried some 3D sample from Apple's OpenGL sample collection, and it worked in part, failed in part due to missing features.

Notes

You may notice the screen flashes occasionally. Everytime this happens there's a message in vmware.log "detaching from window system... connecting to window system". This happens after the driver creates its first Direct3D9Device (in response to the first application to use GL), or after the driver destroyes its last D3D9Device when the last GL application closes. The MKS backend switches between rendering with GDI to rendering with Direct3D and vice versa. This causes a brief blank window.

 

Kernel Flags

  • "-vmw_no_gl" disables the GL driver. VMsvga2 will still operate as in version 1.2.x.
  • "-vmw_qe" enables QuartzExtreme. QE doesn't work, but if you want to see for yourself :D

 

This driver is still a work in progress. There are many unimplemented GL features - FBOs, pipeline fences, mipmapping, cube-maps, volume textures, fog, misc render states, pixel shaders, etc. If an application attempts to use them, it may fail in part or in whole. The driver hasn't been fully optimized yet either, so some things don't work as efficiently as they can be made to.

 

As for the guest vram requirement - the driver supports VMware's GMRs, which means it can do memory transfers to or from host vram from anywhere in guest memory, not just the vram. I plan to eventually rid the driver of all dependence on guest vram, so it will work with the minimum allowed of 16MB guest vram. Right now the driver still needs some extra guest vram for buffering render targets and vertex arrays. Textures [which can be quite big] are not buffered in guest vram - which reduces guest vram requirement quite a bit.

 

Update [Jan 12]: Uploaded VMsvga2 v1.3.0d2 and updated link.

Update [Jan 14]: Uploaded VMsvga2 v1.3.0d3 and updated link.

Update [Jan 17]: Uploaded VMsvga2 v1.3.0d4 and updated link.

Update [Jan 18]: Uploaded VMsvga2 v1.3.0d5 and updated link.

Update [Jan 19]: Uploaded VMsvga2 v1.3.0d6 and updated link.

Update [Jan 23]: Uploaded VMsvga2 v1.3.0d7 and updated link.

 

Where to get it?

An installation package can be found here (SnowLeopard only). I'll update the development version occasionally as it proceeds.

Link to comment
Share on other sites

Wow....

 

I must say I just tested the beta driver.... and Wow.... closer to a fully functional virtual OSX system

 

Thanks....

 

Keep up the good work :)

 

BTW What version of VLC are you using, becuase I get a white screen on VLC 1.1.5.... all other stuff I have tested works great

Link to comment
Share on other sites

 Share

×
×
  • Create New...