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

Thread: Multiple asics?

  1. #1
    Join Date
    May 2009
    Posts
    62

    Default Multiple asics?

    Looking for some sort of guestimate on when the OSS driver will be working with multiple asics. Multiseat is specifically what i'm talking about. Like is this even in there to do list? Thanks

    Jamey

  2. #2
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,514

    Default

    General answer first, then specific (but vague ) :

    Under the current RandR model you are practically limited to a single GPU. The addition of multiple GPU support to RandR depends on implementing a mechanism to split drawing operations across multiple GPUs, commonly known as "shatter". MostAwesomeDude will be working on shatter over the summer under a GSOC project, so if nothing else by the end of the summer there will probably be a working prototype and any remaining issues should be a lot more clear.

    For the specific case of multiseat you probably don't need shatter and just need a way to configure each of the GPUs, but I suspect that adding "multiseat only" multi-GPU support to RandR is considered a lower priority than a more general solution.

    It's possible that the current drivers (radeon running in "zaphod mode") might be useable for multiseat today; I saw a few posts that "implied" it could work with multiple GPUs but did not actually say it ;(
    Last edited by bridgman; 07-23-2009 at 11:09 PM.

  3. #3
    Join Date
    Nov 2007
    Posts
    1,353

    Default

    Quote Originally Posted by bridgman View Post
    General answer first, then specific (but vague ) :

    Under the current RandR model you are practically limited to a single GPU. The addition of multiple GPU support to RandR depends on implementing a mechanism to split drawing operations across multiple GPUs, commonly known as "shatter". MostAwesomeDude will be working on shatter over the summer under a GSOC project, so if nothing else by the end of the summer there will probably be a working prototype and any remaining issues should be a lot more clear.

    For the specific case of multiseat you probably don't need shatter and just need a way to configure each of the GPUs, but I suspect that adding "multiseat only" multi-GPU support to RandR is considered a lower priority than a more general solution.

    It's possible that the current drivers (radeon running in "zaphod mode") might be useable for multiseat today; I saw a few posts that "implied" it could work with multiple GPUs but did not actually say it ;(
    Hi Bridgeman, I'd like to add to what you said based on my own expierence.

    I use Zaphod mode with my monitors. I've found that with the radeon driver I can get it to work if both displays are on the same card. It doesnt work if I have one plugged into the onboard 3200hd and one plugged into the x1950pro. That may be due to the fact that it is two different chips and the driver may not know how to deal with that. I have not tested it on two of the same discreet cards, say two x1950pros for example. It may well work if both chips are the same, but I havent tested this out yet.

  4. #4
    Join Date
    Dec 2007
    Posts
    2,395

    Default

    Quote Originally Posted by duby229 View Post
    Hi Bridgeman, I'd like to add to what you said based on my own expierence.

    I use Zaphod mode with my monitors. I've found that with the radeon driver I can get it to work if both displays are on the same card. It doesnt work if I have one plugged into the onboard 3200hd and one plugged into the x1950pro. That may be due to the fact that it is two different chips and the driver may not know how to deal with that. I have not tested it on two of the same discreet cards, say two x1950pros for example. It may well work if both chips are the same, but I havent tested this out yet.
    It should work with two discrete cards and should work with an IGP and a discrete card as long as the IGP card is set as the primary in the bios. I should be possible to support the IGP card as a secondary as well, however the driver needs some work for accessing the IGP rom in that case.

  5. #5
    Join Date
    Jan 2009
    Posts
    148

    Default

    Bridgman: We need to start an X-server on each card for multi-seat. So we won't need RandR to draw across different cards, 'cause each X-server will have its own 'RandR'..., right?

    So.. is this a limitation in the driver or in X?

    Btw: I just subscribed for a year :-). Long live Phoronix.

  6. #6
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,514

    Default

    It's not actually RandR that draws across multiple cards -- RandR is really a configuration/control protocol (originally the "Resize and Rotate" etxtension) - so you need it to support multiple GPUs even for basic stuff like setting modes and enabling/disabling screens.

    RandR happens to make some *assumptions* about how the driver is implemented (one big frame buffer for all the screens), and that's what limits conventional use on multiple GPUs today. Without the ability to use it on multiple GPUs in a normal way, there hasn't been much developer interest in adding the ability to configure multiple GPUs either, and it's that part you need for multiseat.

    So... as I understand it the issue is a protocol limitation, implemented in both server and driver as well as in any control panels which might be used to configure the screens. In principle the protocol could be extended to support multiseat without waiting for something like "shatter" (which also hits both server and driver AFAIK) but doing that doesn't make a lot of sense because whatever was added would probably need to change again after "real" multi-GPU support was added in order to work with whatever shatter turned out to be.

    Did that help or make things worse ?

  7. #7
    Join Date
    Jan 2009
    Posts
    148

    Default

    Thanks Bridgman, this clears some thing up, yes.

    Do you happen to know if there is documentation out there regarding how X works? Because I really feel stupid asking these questions all the time on these forums.

  8. #8
    Join Date
    Nov 2008
    Posts
    776

    Default

    well.. in theory, if you have two different gfx cards, you can spawn two seperate X servers, :0 on card 0, :1 on card 1. You need to disable most auto-detection stuff and specify the input devices in each xorg.conf, and there's some further magic with -novtswitch and the likes to take care of, but.. if you have two independent gfx cards and the drivers don't make stupid assumptions, it should work. No XRandR involved, since each GPU has it's own X server.

    Since most devs don't care about such setups, it's probably up to you to see if it does actually work


    The issue might be different with two GPUs on a single X2 card.. no idea if those can be addressed individually.

  9. #9
    Join Date
    Jan 2009
    Posts
    148

    Default

    This is what I do right now . It's only working with the closed-source drivers of NVidia, though.

    My current setup:
    Code:
    01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 3870
    02:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7300 GT] (rev a1)
    03:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7300 GT] (rev a1)
    As long as the ATi card is primary, it all runs OK.

    Too bad devs don't care about it.

  10. #10
    Join Date
    Nov 2008
    Posts
    776

    Default

    I'm no expert on any of these things, but the general X / DRI-architecture should prevent an X server from messing with a gfx card it doesn't care about.

    There are some drivers though that interpret "initialize this card" as "initialize any card you can find", which calls for trouble in multiseat-setups. Or so I've read.

    Can you elaborate what doesn't work when the ATI card isn't the primary card? Or what doesn't work when not using nvidia's proprietary drivers?

    Not that I'd be able to help, I'm just curious

Posting Permissions

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