Video card driver problems - Prey demo failing to boot

Discussion in 'Parallels Desktop for Mac' started by DoubleFelix, Dec 27, 2006.

  1. DoubleFelix

    DoubleFelix Bit poster

    Messages:
    5
    I did a couple searches; please tell me if this issue has already been addressed.

    Just in case it matters, I'm using the newest 17" mac with the ATI Radeon X1600 video card.

    From the looks of it, this is a problem with the Parallels video card driver. To test out Parallels (And play a pretty fun game :p) I downloaded and installed the Prey demo; however, when I ran the application after installing, it came up with some errors:

    [​IMG]

    I attached the contents of the entire printout to a text file. (It's a tad long)
    Any way to deal with this? Any information on what the actual problem is, or how to fix it is very much appreciated.
     

    Attached Files:

  2. AlexTheStampede

    AlexTheStampede Junior Member

    Messages:
    10
    At this moment no virtualization/emulation software supports 3d acceleration of any kind.
    No OpenGL, no DirectX (no Direct3D, DirectDraw....) and unless Prey can be run in software mode, there is no chance to see it running. Just boot in BootCamp, that is "just" a bunch of drivers to have not-so-standard Apple hardware run fine in windows (nothing emulated, just a real pc with all it's real issues XD ).

    PS: software mode, even if aviable, would be sloooooow and low quality, if you have the first Unreal, you can try it... looks like a super Doom2 in software mode, while with 3d acceleration is a pretty game.


    EDIT i don't know what are the hardware request of Prey, but i have a weird feeling that a viedeo card that emulates up to 32mb isn't enough anyway, even with 3d support XD
     
    Last edited: Dec 27, 2006
  3. DoubleFelix

    DoubleFelix Bit poster

    Messages:
    5
    So basically 3D games are a no-go for now?
    Feh. Hopefully that will be added soon.
    Thanks for the help!
     
  4. stokkes

    stokkes Member

    Messages:
    27
    If you want to play games, your best bet is to install Bootcamp. 3D support will come in the future but it may be very limited (OpenGL screensavers, AutoCAD support), and it's quite possible games won't function properly. Remember, this is a virtualized environment, it's not like your running Windows natively.

    By setting up bootcamp, you can also use parallels with the bootcamp partition. So if you want to play games, just reboot your Mac and play games in Bootcamp at full speed with 3D Support. For everything else, you can use OSX and Parallels to do your windows stuff.
     
  5. shaun3000

    shaun3000 Junior Member

    Messages:
    16
    Why is it 3D won't work in a VM? It works fine with network cards, sound cards, etc., so why is 3D inaccessible?
     
  6. stokkes

    stokkes Member

    Messages:
    27
    Hardware you have on your mac needs to be virtualized within a Virtual Machine environment. This is why when you go into the Device Manager within a VM, you won't see the exact hardware you have on your mac.

    Also, note that when you're using your Mac, OSX is using your Video card to render all kinds of things, the OS, Screensavers, the application windows you have open, and even parallels. Therefore, in a VM environment, you need to "emulate" a 2D graphics card that passes calls to the "real" graphics card that's on your Mac. (IE: ATI X1600 on the MBP).

    In order for 3D to work in a VM, windows would need direct access to 3D Graphics hardware in order to pass calls to it via Direct3D or OpenGL so you can play games and what not.

    I'm not exactly sure how Parallels plans on doing this without some kind of side effect. Meaning I wouldn't at all be surprised that one of the options they've researched is to effectively "switch on" 3D support when you want to use it. Meaning you'd probably have to go full screen, wouldn't have access to OSX at all, but the Windows VM environment would essentially run "on top" of OSX while you're playing your game and the VM is talking directly to the hardware since it can't talk to both at the same time.

    You can apply this principle to other hardware pieces on your Mac. Go into your Device Manager and look at your hardware (in Windows).

    Video Card: Parallels Video Adapter
    Network Card: Parallels Network Adapter
    Disk Drive: Virtual HDD

    Now look as some hardware the supports virtualization that intel built into their hardware starting with Core Duo (Yonah core, MBP rev1):

    IDE ATA/ATAPI Controllers: Intel based
    Sound, Video, Game Controllers: Intel AC'97 Sound

    and finally, hardware that needs to be "locked" by the Windows VM in order to access. In order for a Windows VM to talk directly to the hardware it either has to have 1) Built in support for Virtualization or 2) locked access to that hardware:

    DVD/CD-ROM Drives: Matshita DVD-R UJ-857

    Notice when you mount a CD/DVD in Windows, you DO NOT have access to it in OSX, this also works for USB devices. the VM needs locked access to that hardware to prevent data corruption.

    As you can see, it can get complicated, but this is why in order for true D3D support to work (ie: play games), the VM will need to "take over" (read: lock) the Graphics Adapter (such as the ATI X1600) for exclusive access, thereby locking OSX out. We'll be able to play games and such, but we may need to "switch it off" in Windows in order to return to OSX. It'll be a quasi bootcamp, but you won't have to reboot.

    That's my guess.

    Hope that sheds some light.
     
  7. shaun3000

    shaun3000 Junior Member

    Messages:
    16
    Makes sense. It seems like forcing full-screen could resolve this issue. I'm sure it's not as simple as that, though.
     
  8. gnujon

    gnujon Junior Member

    Messages:
    18
    Direct3D calls can be mapped to OpenGL calls

    Hi guys,

    Hey all this talk about needing 'direct access to the graphics hardware' for 3D to work in a VM is completely false. Direct3D calls can be mapped to OpenGL ones with little or no overhead, Cedega and Wine have had this capability for ages.

    The whole point of a graphics APIs like DirectX and OpenGL is that they insulate you from the hardware.

    Grabbing control of the graphics card in the way you're describing would be a very ugly solution (if it's even possible).

    Check out CodeWeaver's 'CrossOver Mac'. (It's a conmmercial version of Wine):


    http://www.codeweavers.com/


    CrossOver Mac runs the Prey demo (and the full game purchased via Steam) flawlessly on my MacPro. And as it's Wine there's no need for a VM or even MS Windows to be installed. :) If only everything ran under Wine. ;)

    I hope Parallels do add DirectX support. Actually OpenGL support for Linux VMs would be great too, then we could run Cedega in a Linux VM.
     
  9. stokkes

    stokkes Member

    Messages:
    27
    I know this is a possiblity but here's the thing.

    Parallels is marketed towards the general average user, someone who may see this in a store and pick it up off the shelves. They may have limited technical knowledge and just expect windows to work the way it does when booting natively.

    Mapping calls, although this does work for Cedega, Wine, etc, has one major, glaring issue - It's not 100% stable, not everything works, and troubleshooting Cedega/Wine issues is a B*TCH. I've done it many times and it gives ME (15+ years of Windows, OS/2, Linux, Mac experience) a headache.

    I can't imagine Parallels throwing D3D in by simply mapping calls to OGL. It'd be too flakey and this forum would be flooded with questions as to "why doesn't X work" or "why doesn't Y work" or "why are the graphics in X app or game odd looking"..

    It's a slippery slope they may never recover from.
     
  10. gnujon

    gnujon Junior Member

    Messages:
    18
    But the reason for those types of issues with Wine is that it's a complete replacement for Windows, written from scratch by reverse engineering Windows in it's entirety. All we're talking about here is Direct3D, i.e. a graphics driver for Windows that implements Direct3D by using OpenGL calls in the host OS.

    I don't think it would be simple, there would be a lot more to it than just 'throwing it in', but it should definitely be possible to do with a minimal amount of flakeyness. And actually, if you take a look at their blog, Parallels do claim to be working on some form of 3D acceleration. I wouldn't be surprised at all if what they're working on is something along these lines. :)
     

Share This Page