* [gentoo-user] how to use two graphics cards with one display @ 2016-06-05 17:34 lee 2016-06-06 20:41 ` Andrew Savchenko 2016-06-07 6:13 ` R0b0t1 0 siblings, 2 replies; 8+ messages in thread From: lee @ 2016-06-05 17:34 UTC (permalink / raw To: gentoo-user Hi, is there a way to reasonably use two graphics cards with a single display? SLI won't work because it's retarded in requiring the GPUs to be the same, which they aren't --- not to mention that the cards would be too far away from each other in the slots for a bridge to fit. So what I'm thinking of is like using one card as a default and being able to use the other one to play a video in some window on the same display, preferably managed by the same fvwm, with the window optionally being fullscreen in size. I'd like to do that because the card I have isn't powerful enough to play a video while an open gl application is running at the same time. I'll probably get a better card once prices come down a bit, but it might have the same problem, and why would I want to waste an otherwise perfectly good graphics card. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-05 17:34 [gentoo-user] how to use two graphics cards with one display lee @ 2016-06-06 20:41 ` Andrew Savchenko 2016-06-09 21:16 ` lee 2016-06-07 6:13 ` R0b0t1 1 sibling, 1 reply; 8+ messages in thread From: Andrew Savchenko @ 2016-06-06 20:41 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 2457 bytes --] Hi, On Sun, 05 Jun 2016 19:34:15 +0200 lee wrote: > Hi, > > is there a way to reasonably use two graphics cards with a single > display? > > SLI won't work because it's retarded in requiring the GPUs to be the > same, which they aren't --- not to mention that the cards would be too > far away from each other in the slots for a bridge to fit. > > So what I'm thinking of is like using one card as a default and being > able to use the other one to play a video in some window on the same > display, preferably managed by the same fvwm, with the window optionally > being fullscreen in size. I'd like to do that because the card I have > isn't powerful enough to play a video while an open gl application is > running at the same time. > > I'll probably get a better card once prices come down a bit, but it > might have the same problem, and why would I want to waste an otherwise > perfectly good graphics card. Yes, but it depends on your hardware setup. What's yours and why you need such unusual thing: connect two video cards to a single monitor, or do you mean by display X display spawn over multiple monitors? In case of laptops such configuration is quite common: they may have two video cards with single switchable output: intel card is used for general work to save power and nvidia card is used for applications, requiring high GPU performance. Switching is done using sys-power/bbswitch. But looks like this is not your case, since you are talking about card replacement, since most laptop GPU cards are not replaceable. If you want a multihead setup using two cards, this is trivial using either xinerama or X screens depending on your taste. As far as I understand your e-mail, you are trying to mux video outputs of two GPU cards to a single monitor (excuse me if I'm wrong, but it is hard to understand what your hardware is), this is also doable if your monitor supports dual input (most modern monitors do). This way separate X screens may be used to achive your goal. (Xinerama setup is also possible, but GL acceleration will be limited to abilities of the weakest card). But honestly I don't get why you need this: if you have a powerful GPU and it is not a laptop, where power consumption is critical, why just don't use that card? Most cards have multiple outputs, so it is not a problem to setup multihead with a single card either. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-06 20:41 ` Andrew Savchenko @ 2016-06-09 21:16 ` lee 2016-06-13 21:15 ` Andrew Savchenko 0 siblings, 1 reply; 8+ messages in thread From: lee @ 2016-06-09 21:16 UTC (permalink / raw To: gentoo-user Andrew Savchenko <bircoph@gentoo.org> writes: > Hi, > > On Sun, 05 Jun 2016 19:34:15 +0200 lee wrote: >> Hi, >> >> is there a way to reasonably use two graphics cards with a single >> display? >> >> SLI won't work because it's retarded in requiring the GPUs to be the >> same, which they aren't --- not to mention that the cards would be too >> far away from each other in the slots for a bridge to fit. >> >> So what I'm thinking of is like using one card as a default and being >> able to use the other one to play a video in some window on the same >> display, preferably managed by the same fvwm, with the window optionally >> being fullscreen in size. I'd like to do that because the card I have >> isn't powerful enough to play a video while an open gl application is >> running at the same time. >> >> I'll probably get a better card once prices come down a bit, but it >> might have the same problem, and why would I want to waste an otherwise >> perfectly good graphics card. > > Yes, but it depends on your hardware setup. What's yours and why > you need such unusual thing: connect two video cards to a single > monitor, or do you mean by display X display spawn over multiple > monitors? a single monitor > In case of laptops such configuration is quite common: they may > have two video cards with single switchable output: intel card is > used for general work to save power and nvidia card is used for > applications, requiring high GPU performance. Switching is done > using sys-power/bbswitch. But looks like this is not your case, > since you are talking about card replacement, since most laptop GPU > cards are not replaceable. Right, it's not a laptop, and I don't want to switch between different cards. > If you want a multihead setup using two cards, this is trivial using > either xinerama or X screens depending on your taste. That is only simple when you have multiple monitors. > As far as I understand your e-mail, you are trying to mux video > outputs of two GPU cards to a single monitor (excuse me if I'm > wrong, but it is hard to understand what your hardware is), this is > also doable if your monitor supports dual input (most modern > monitors do). This way separate X screens may be used to achive > your goal. (Xinerama setup is also possible, but GL acceleration > will be limited to abilities of the weakest card). Exactly, but I don't want to use the picture-in-picture feature of the monitor, and I don't want separate X screens, and I don't have room to fit another monitor on my desk. I simply want to use one of the graphics cards to handle an application that uses open gl and the other one to play a video. > But honestly I don't get why you need this: if you have a powerful > GPU and it is not a laptop, where power consumption is critical, > why just don't use that card? Most cards have multiple outputs, so > it is not a problem to setup multihead with a single card either. The GPU isn't quite powerful enough for some of what I'm doing. Otherwise, it's a perfectly good card. So I need to get a better graphics card, and once I do, it would be a pity to have the current one laying around uselessly. I wouldn't get much if I tried to sell it, so I rather keep it in case I need a spare. Buying another one which is the same, to use SLI, won't help, either. IIUC, it takes some processing power to decode a video, so why not use one of the cards for just that? Multiple cards should be able to work together. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-09 21:16 ` lee @ 2016-06-13 21:15 ` Andrew Savchenko 0 siblings, 0 replies; 8+ messages in thread From: Andrew Savchenko @ 2016-06-13 21:15 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 5130 bytes --] Hi, On Thu, 09 Jun 2016 23:16:37 +0200 lee wrote: > > As far as I understand your e-mail, you are trying to mux video > > outputs of two GPU cards to a single monitor (excuse me if I'm > > wrong, but it is hard to understand what your hardware is), this is > > also doable if your monitor supports dual input (most modern > > monitors do). This way separate X screens may be used to achive > > your goal. (Xinerama setup is also possible, but GL acceleration > > will be limited to abilities of the weakest card). > > Exactly, but I don't want to use the picture-in-picture feature of the > monitor, and I don't want separate X screens, and I don't have room to > fit another monitor on my desk. > > I simply want to use one of the graphics cards to handle an application > that uses open gl and the other one to play a video. Let's suppose that you connected video outputs of both your cards to the same monitor. It is possible to use single X screen with xinerama here and configure it to mirror outputs on both cards, e.g. (output names may vary depending on hardware): xrandr --output LVDS1 --same-as VGA1 This way you can select using monitor's hardware switch from what input to take picture. So you'll have dual-monitor mirrored output, where both outputs are connected to the same single monitor. But the last time I tried similar scheme, OpenGL acceleration is limited to the lowest card capabilities. This was several years ago, maybe things are changed since and you'll be able to use full power of a newer card. In order to select which card to use you can select xinerama screen (mplayer can do that, not sure about others). > > But honestly I don't get why you need this: if you have a powerful > > GPU and it is not a laptop, where power consumption is critical, > > why just don't use that card? Most cards have multiple outputs, so > > it is not a problem to setup multihead with a single card either. > > The GPU isn't quite powerful enough for some of what I'm doing. > Otherwise, it's a perfectly good card. > > So I need to get a better graphics card, and once I do, it would be a > pity to have the current one laying around uselessly. I wouldn't get > much if I tried to sell it, so I rather keep it in case I need a spare. > Buying another one which is the same, to use SLI, won't help, either. > > IIUC, it takes some processing power to decode a video, so why not use > one of the cards for just that? Multiple cards should be able to work > together. There is a severe problem here: how to multiplex outputs of different cards to the same monitor? Either outputs should be independent (as described above), or single video output should be used and hence one card must write to the buffer of another. It is possible to done this either via SLI (not your case apparently) or PCI Express. The latter solution requires very special driver support (e.g. NVidia Optimus or ATI Hybrid Graphics). AFAIK both of them work only on IGP <-> PCI-E setup, where one card is Integrated Graphics Processor using system memory and another one is powerful (and energy consuming) PCI-E graphics card. On such setup driver allows to transfer display surface from GPU frame buffer, to system RAM mapped for IGP and then IGP is used to display this surface. IOW such solution will not work if you have a couple of fully fledged PCI-E GPU cards with their own memory. In theory it should be possible to rewrite GPU driver in a way that will allow to transfer display surface from one video card RAM to another using PCI-E bus, but no sane developer will do this: coding efforts will be tremendous and benefits are unclear up to the point when PCI-E will be a bottleneck. I still don't understand why you need an older card for a video decoding, since newer one can do this perfectly. Still there is a place to use both cards: GPGPU computing, both cards can be used to run OpenCL or CUDA applications or one card may be used for a vdpau video decoding, while another one will mine you bitcoins :) Be warned however, that if you will use both card for the same GPGPU application (e.g. OpenCL or CUDA), care should be taken to allow asynchronous computing of such application. Since cards will operate on different speeds, memory and number of cores, synchronous application will be faster no more then as twice as the same app on the slowest card, which will be likely slow than runnig the same app only on the fastest card. Also you must remember, then PCI-E is terribly slow compared to in-GPGPU data exchange rate, so it will likely be a bottleneck for your tasks. Of course, most OpenCL/CUDA apps are synchronous and will not be able to run properly on heterogeneous GPGPU setup. So probably your best option will be to use one card solely for GPGPU computing, while another one for rendering and output. Another interesting application is that some codecs (e.g. x264) allow to use OpenCL, though from tests I saw it still gives worse results then vdpau-based decoding. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-05 17:34 [gentoo-user] how to use two graphics cards with one display lee 2016-06-06 20:41 ` Andrew Savchenko @ 2016-06-07 6:13 ` R0b0t1 2016-06-09 21:19 ` lee 1 sibling, 1 reply; 8+ messages in thread From: R0b0t1 @ 2016-06-07 6:13 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 50 bytes --] Use Bumblebee. It is the FOSS version of Optimus. [-- Attachment #2: Type: text/html, Size: 67 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-07 6:13 ` R0b0t1 @ 2016-06-09 21:19 ` lee [not found] ` <CAAD4mYhdD0_sX_uExV0xy4M6u4LH9MGxZExBNJCcTaedtxfRZg@mail.gmail.com> 0 siblings, 1 reply; 8+ messages in thread From: lee @ 2016-06-09 21:19 UTC (permalink / raw To: gentoo-user R0b0t1 <r030t1@gmail.com> writes: > Use Bumblebee. It is the FOSS version of Optimus. That seems to be for laptops having peculiar hardware. ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CAAD4mYhdD0_sX_uExV0xy4M6u4LH9MGxZExBNJCcTaedtxfRZg@mail.gmail.com>]
* Re: [gentoo-user] how to use two graphics cards with one display [not found] ` <CAAD4mYhdD0_sX_uExV0xy4M6u4LH9MGxZExBNJCcTaedtxfRZg@mail.gmail.com> @ 2016-06-09 23:35 ` R0b0t1 2016-06-11 21:22 ` lee 0 siblings, 1 reply; 8+ messages in thread From: R0b0t1 @ 2016-06-09 23:35 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 235 bytes --] On Jun 9, 2016 4:25 PM, "lee" <lee@yagibdah.de> wrote: > > R0b0t1 <r030t1@gmail.com> writes: > > > Use Bumblebee. It is the FOSS version of Optimus. > > That seems to be for laptops having peculiar hardware. > Nope. Works regardless. [-- Attachment #2: Type: text/html, Size: 422 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-user] how to use two graphics cards with one display 2016-06-09 23:35 ` R0b0t1 @ 2016-06-11 21:22 ` lee 0 siblings, 0 replies; 8+ messages in thread From: lee @ 2016-06-11 21:22 UTC (permalink / raw To: gentoo-user R0b0t1 <r030t1@gmail.com> writes: > On Jun 9, 2016 4:25 PM, "lee" <lee@yagibdah.de> wrote: >> >> R0b0t1 <r030t1@gmail.com> writes: >> >> > Use Bumblebee. It is the FOSS version of Optimus. >> >> That seems to be for laptops having peculiar hardware. >> > > Nope. Works regardless. If that works with two NVIDIA cards, the PCI bus might not be fast enough. Even if it's fast enough, I have no idea how it would perform, considering that it's possible (even likely) that not both PCI slots for the graphics cards are connected to the same CPU --- however they do that on boards that have two, it might not be an issue at all or perform much worse than using a single card. Do you have such a setup in use? And the docs say: "WARNING:You must install the Nvidia binaries in a way that will not break Mesa’s LibGL, it is needed for 3D acceleration on the Intel card. This means that on most distros you will need a Bumblebee specific package for it to run, the stock packages on most cases will break LibGL."[1] I do not have an Intel card. And what are these Optimus cards they mention? Besides, IIUC this is intended for /switching between/ different cards. I do not want to switch between cards but /use both of them at the same time/. There's no point in switching between them, and apparently that would be more a disadvantage than anything else due to the overhead involved. [1]: https://github.com/Bumblebee-Project/Bumblebee/wiki/Supported-drivers ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-06-13 21:16 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-06-05 17:34 [gentoo-user] how to use two graphics cards with one display lee 2016-06-06 20:41 ` Andrew Savchenko 2016-06-09 21:16 ` lee 2016-06-13 21:15 ` Andrew Savchenko 2016-06-07 6:13 ` R0b0t1 2016-06-09 21:19 ` lee [not found] ` <CAAD4mYhdD0_sX_uExV0xy4M6u4LH9MGxZExBNJCcTaedtxfRZg@mail.gmail.com> 2016-06-09 23:35 ` R0b0t1 2016-06-11 21:22 ` lee
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox