Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Writing a Gallium3D Driver for VirtualBox

  1. #1
    Join Date
    Aug 2008
    Location
    California, USA
    Posts
    196

    Default Writing a Gallium3D Driver for VirtualBox

    Oracle's response to my request has been less than preferable. I have decided to do this myself over the next year or two, but will need a lot of mentoring.

    I currently have the following conceptions about this project:

    1. The first order of business will be to establish a skeleton driver that uses the softpipe for everything.
    2. TGSI instructions will be translated to OpenGL 2.1 and sent through VirtualBox's existing Chromium pipeline, theoretically requiring no changes to VirtualBox itself.

    But for initial questions:

    1. Does a DRM driver need to be implemented?

    I appreciate any help I can get.

  2. #2
    Join Date
    Aug 2008
    Location
    California, USA
    Posts
    196

    Default

    Why does the X11 winsys have so many ifdefs for Cell?

  3. #3
    Join Date
    Apr 2010
    Posts
    18

    Default

    Quote Originally Posted by wswartzendruber View Post
    Oracle's response to my request has been less than preferable. I 1. Does a DRM driver need to be implemented?
    I appreciate any help I can get.
    I don't know how up-to-date it is, but http://www.x.org/wiki/DRI2 does not mention any particular duties of the DRM driver (just the module, which is the in-kernel bit). DRI1 requires a drm driver, which the VBox Additions already contain, but doesn't require it to do anything useful, and I suspect that that may be enough for DRI2 too.

  4. #4
    Join Date
    Aug 2008
    Location
    California, USA
    Posts
    196

    Default

    I want to avoid having to learn how to write a DRM driver if possible. However, the configuration GUI has an option to set how much graphics RAM there is, and that tells me I need to use memory management, which implies I need to learn how to work with GEM (God help me!).

  5. #5
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,072

    Default

    Are you certain it will be easier than making the missing bits to work with the VMWare svga driver?

  6. #6
    Join Date
    Aug 2008
    Location
    California, USA
    Posts
    196

    Default

    I think the two are very different under the hood. VirtualBox uses a Chromium pipeline.

    I still need to talk to my department adviser before I make any long-term plans.

  7. #7
    Join Date
    Apr 2010
    Posts
    18

    Default

    As far as I know VirtualBox does not yet put textures or anything else 3D-related in guest video RAM, instead sending them straight to the host from "normal" guest memory (which the host can of course access at will, bar paging issues which are handled more or less transparently by guest APIs). There were plans to move to using guest video RAM for textures, but I don't think Leonid has had time to implement that yet. So you probably won't be needing to get to grips with GEM for now.

  8. #8
    Join Date
    Aug 2008
    Location
    California, USA
    Posts
    196

    Default

    Do I need to wait until this is done to begin? Can I at least start on a Gallium3D skeleton driver?

  9. #9
    Join Date
    Apr 2010
    Posts
    18

    Default

    If you wait until it is done you might be waiting for quite a while. I assume that there is nothing in the Gallium archetecture that would require the use of Video RAM (at least not if a software pipe is possible), and the driver could still be changed later to use guest VRAM.

  10. #10
    Join Date
    Nov 2008
    Posts
    418

    Default

    Holey Moley. That is some serious hobby you have picked! Hopefully, if you ever get something productive done, more developers will jump on your project! That would be way cool, man. And if this draws attention, you got some major credit from the Open Source community and a damn nice thing to write on your CV! I wish you and your project the best of luck!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •