Announcement

Collapse
No announcement yet.

Multi GPUs and Multi Monitors - A windows gamer wanting to use linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Multi GPUs and Multi Monitors - A windows gamer wanting to use linux

    With Steam just going open beta recently and it being a few years since I last tried a linux distribution on my desktop PC, I decided it was time to install 12.04 and see how things had changed. Everything was going smoothly until it came time to work on my monitor setup.

    I have 2 different ATI cards, a 5400 for my two side monitors, and a 7850 for my middle primary monitor and a TV connected via HDMI that is on occasionally for XBMC. Everytime I've tried to move to Ubuntu getting a multi monitor set up running has always brought me to a halt. The amount of misinformation and dispersity on topics like the xorg.conf config file, RandR, Xinerama, compositioning, hardware acceleration, driver support, compiz and Unity capabilities is staggering.

    Once installed, the most recent proprietary drivers from ATI detected all of my monitors and let me get them side to side in the proper configuration with no issue. Looking good, however enabling the multi monitor set up without Xinerama just made the other monitors completely unusable showing nothing but a blank desktop. The Xinerama option was available in the drivers menu and I was able to get it working well between my 3 monitors in KDE and Gnome2 (hotswapping the TV caused issues with the setup, Unity and Compiz are completely broken with Xinerama enabled) but then I found out that Xinerama was an outdated solution that disabled compositioning and hardware acceleration. So using the primary monitor for gaming wasn't an option.

    Then by chance I stumbled across RandR, on the proposed list of features on the Wikipedia article for RandR there is mentioned support for multiple GPUs in version 1.5. The only information I gathered on RandR was that finding information about it is difficult and that Phoronix had some tech demonstrations articles posted 6 months ago. So that's a no go as well.

    So what options are there and who's responsibility is it to incorporate multiple monitors on multiple gpus support with hardware acceleration and compositioning? ATI and Nvidias? Or Xorgs RandR? For a feature that is so easily enabled in Windows and the vendor drivers, it's very lacking in linux.

  • gamerk2
    replied
    Originally posted by datenwolf View Post
    IMHO GPUs should be treated as a co-processor that can be used by and program (given the right permissions) without requiring to have some on-screen framebuffer available. What a GPU renders should not go out to a display device directly, but to some portion of memory (the bandwidth of PCI-E does suffice for this). The output connectors (by which I mean the image transmitters) should not be depending to the GPUs RAM, but to a separate portion of memory and work independent from the GPU drawing operations. Programs like X.Org would only connect to the display transmitters which would act like a 1990-ies style VGA framebuffer-to-display adaptor with no HW drawing acceleration at all. And it should be possible to map the render output of GPU on card A to the display transmitter memory on card B.
    I agree 100%. GPU's should no be considered as co-processors and it should be possible to pass information between them if so desired.

    As it turns out, today's hardware is perfectly capable of doing this. It's just that the current Linux graphics driver model doesn't support it. And unfortunately those functions required to support it (DMA-BUF) have been locked down to GPL only, which means NVidia will probably never support it.
    Ah, the downsides of the GPL license...

    Leave a comment:


  • RussianNeuroMancer
    replied
    Originally posted by deanjo View Post
    Originally posted by RussianNeuroMancer View Post
    Originally posted by deanjo View Post
    Have you filed the bug as well with the [email protected]? Developers will usually give you their contact personally if they wish to be contacted as such.
    No. Is it really necessary after submitting issue to tech. support and to official forum also send it to [email protected]?
    Yes. Developers visit the forums but the only way to get a 1:1 contact on issues is to use the email.
    Okay, I rephrase my question: Is it really necessary after submitting issue to tech. support also send it to [email protected]?

    Leave a comment:


  • deanjo
    replied
    Originally posted by RussianNeuroMancer View Post
    No. Is it really necessary after submitting issue to tech. support and to official forum also send it to [email protected]?
    Yes. Developers visit the forums but the only way to get a 1:1 contact on issues is to use the email.

    Leave a comment:


  • agd5f
    replied
    The only way to use multi-GPU multi-display is with zaphod mode and optionally xinerama if you want all the displays to act as one big desktop. The xserver still supports zaphod mode and xinerama. Basically no one has written to the code yet to support this in X like it is in windows. The prime/hotplug stuff Dave recently landed in the latest xserver lays the groundwork, but it has not yet been extended to support multi-GPU multi-display. Finishing that would be a good project for someone looking to get a deep understanding of xserver internals.

    Leave a comment:


  • Jekt
    replied
    Thanks for the writeup Datenwolf, appreciate it a lot.
    So do you think I would have more success with a multi gpu setup of the same family? I've also been reading into using the Eyefinity display ports on my 7850. I was looking at trying to use the 7850 for everything. HDMI for the TV, 2x mini display port to DVI adapters and the last DVI port.

    Leave a comment:


  • RussianNeuroMancer
    replied
    Originally posted by deanjo View Post
    Have you filed the bug as well with the [email protected]?
    No. Is it really necessary after submitting issue to tech. support and to official forum also send it to [email protected]?

    Leave a comment:


  • deanjo
    replied
    Originally posted by RussianNeuroMancer View Post
    May you please give this link to your contacts in nVidia?
    Have you filed the bug as well with the [email protected]? Developers will usually give you their contact personally if they wish to be contacted as such.

    Leave a comment:


  • RussianNeuroMancer
    replied
    Originally posted by rrohbeck
    How do I do that? Is there a bugzilla or similar for fglrx?
    There is many ways to do that:
    Tech. support: http://emailcustomercare.amd.com
    Bugtracker: http://ati.cchtml.com
    New forum for issues related to Steam: http://devgurus.amd.com/community/steam-linux
    Feedback form: http://www.amd.com/us/LinuxCrewSurvey

    Don't forget to attach /usr/share/fglrx/atigetsysteminfo.sh report.

    Originally posted by datenwolf View Post
    There used to be. But don't expect anything from it. About a year ago I thorougly tested fglrx for OpenGL implementation bugs, found quite a number of them. Wrote testcases and demonstration programs reliably triggering the bugs (including X.Org crashes and HW DoS, i.e. you'd have to reboot the machine), submitted it all. Never got even a status update.
    They doesn't update status on this bugtracker. This bugtracker used only for submitting issues to the catalyst linux team.
    So what status of issues you submitted in current driver? I mean does it still reproducible in Catalyst 12.10-12.11?

    Originally posted by datenwolf View Post
    Regarding bugs in NVidia drivers: I usually report them directly to my contacts at NVidia, but last time I found a bug first in NVidia drivers was 2006.
    May you please give this link to your contacts in nVidia?
    https://devtalk.nvidia.com/default/t...3-2-0-4-amd64/
    This bug was submitted to nVidia tech. support in August, but in 313 driver release still doesn't fixed.

    Originally posted by cybjanek View Post
    I have a GTX 295, and although its one physical card, it actually has two hardware cards inside.
    You probably mean something like RAMDAC (doesn't sure how this thing called for digital outputs this days).

    Leave a comment:


  • cybjanek
    replied
    Originally posted by Jekt View Post
    With Steam just going open beta recently and it being a few years since I last tried a linux distribution on my desktop PC, I decided it was time to install 12.04 and see how things had changed. Everything was going smoothly until it came time to work on my monitor setup.

    I have 2 different ATI cards, a 5400 for my two side monitors, and a 7850 for my middle primary monitor and a TV connected via HDMI that is on occasionally for XBMC. Everytime I've tried to move to Ubuntu getting a multi monitor set up running has always brought me to a halt. The amount of misinformation and dispersity on topics like the xorg.conf config file, RandR, Xinerama, compositioning, hardware acceleration, driver support, compiz and Unity capabilities is staggering.

    Once installed, the most recent proprietary drivers from ATI detected all of my monitors and let me get them side to side in the proper configuration with no issue. Looking good, however enabling the multi monitor set up without Xinerama just made the other monitors completely unusable showing nothing but a blank desktop. The Xinerama option was available in the drivers menu and I was able to get it working well between my 3 monitors in KDE and Gnome2 (hotswapping the TV caused issues with the setup, Unity and Compiz are completely broken with Xinerama enabled) but then I found out that Xinerama was an outdated solution that disabled compositioning and hardware acceleration. So using the primary monitor for gaming wasn't an option.

    Then by chance I stumbled across RandR, on the proposed list of features on the Wikipedia article for RandR there is mentioned support for multiple GPUs in version 1.5. The only information I gathered on RandR was that finding information about it is difficult and that Phoronix had some tech demonstrations articles posted 6 months ago. So that's a no go as well.

    So what options are there and who's responsibility is it to incorporate multiple monitors on multiple gpus support with hardware acceleration and compositioning? ATI and Nvidias? Or Xorgs RandR? For a feature that is so easily enabled in Windows and the vendor drivers, it's very lacking in linux.

    I have a GTX 295, and although its one physical card, it actually has two hardware cards inside. It has 2 DVI ports on one, and an hdmi port on the other. Last I tried, you could only get two monitors on one card to work nicely with nvidia's "twinview" option. Otherwise you had to use xinerama or separate x servers...I don't know enough to know who to blame for this.

    Leave a comment:

Working...
X