Multi GPU X
Hi, Do you know how can I setup my second GPU to use another X login?
I have 6850 & 3300. Using fglrx for main 6850 GPU and want to run r600g on my 3300 for a discrete X season. Wanted to run another desktop on this screen / gpu.
Having two different drivers running on the same vendor's hardware is tricky for a couple of reasons :
- you normally use BUSID in xorg.conf to limit a driver to only one of the compatible cards it finds, but not sure how you run two xorg.conf's at the same time and tie each driver to the right one
- the open drivers and proprietary drivers use different files in a couple of places, and AFAIK there is only one copy of those files in the system
For now I think you would have more luck running fglrx on both. We're pretty close to having open source support out for the HD68xx so that should be an option soon.
I needed to stick fglrx because of OpenCL support. (Is it possible to have proprietary OpenCL via SDK on opensource GPU driver? I don't think if its possible.) And it looks like there will be no stable OpenCL on opensource stack on this year (and also next ).
And does it differ brand so much? It could be intel + nv card on any system too. I thought that we could easily run multiple X on multiple drivers. I don't understand those "files" used by drivers. Can I have which "files" do you talking about? Are they belong to DRM/dri system? Or it's related with some linux kernel devices?
Another thing in my mind that, what about running Wayland on r600g and running X server on fglrx for HD6820? Is it possible solution? Does X or wayland support such an operation?
Thanks for support.
I didn't give the specific file names because the coffee hasn't taken hold yet and I didn't remember the names
The GL library is the main one. We have been tweaking the Catalyst driver to remove the more trivial conflicts between open and closed drivers.
If you run two GPUs from different vendors then each driver knows that it can only work with the hardware from the same vendor. If you run two GPUs from the same vendor then one or both of those drivers can support both GPUs, and I don't know off the top of my head how to tie each driver to only the card you want. Normally it's done in xorg.conf and it may be as simple as having two device sections but I don't know for sure.
Most of the low level APIs are completely different between open and proprietary drivers (eg memory management, command submission, synchronization) so mixing proprietary and open code is non-trivial at best.
re: Wayland and X on different drivers from same vendor, again the issue is that I'm not sure how to make each driver only touch the hardware you want it to control.
I assume you have a second set of keyboard/mouse attached for the second output? Such setups are called "multiseat", which should be a useful phrase in any google search.
Since your plans are a little more complicated, I'd split the work into several steps. Make sure the result of each step works before tackling the next one.
- create a working multi-seat setup with fglrx on both cards (see google. There are multiseat-setups with a single GPU, ignore those.).
- copy the openGL libraries from fglrx to a separate directory; install mesa/r600g. Copy mesa's openGL libraries to a different directory. Re-test each head separately, then re-test the whole multiseat setup.
- if both screens light up, you'll need to fix 3d accel by telling each X server to use the right openGL libs. Change each X server's startup script to prepend LDPATH with the correct directory, i.e.
(or was it LD_LIBRARY_PATH? You'll figure it out.)
I don't feel like writing down the whole tutorial for you, but feel free to ask if you're stuck at one specific step.
Thanks for the light guys...
rohcQaH, You already write whole tutorial for me It will be much easier to try such thing. And it was LD_LIBRARY_PATH, get familiar with it this days
Will post when I have success.
I have multiseat working, but with the OSS Radeon driver. Your setup is more adventurous, and nobody really knows how well it will work (or not).
I'd recommend starting with a fglrx-only multiseat setup, and working from there, like rohcQaH recommends.
Here is a good multiseat tutorial for Debian:
It is based on the OSS radeon driver, but most of the setup will likely be the same (different screens, different keyboard/mice combinations mapped to specific screens, etc...)
Also found Arch Linux wiki has good info.
It looks like if I load FGLRX first,than Xorg don't try to load. Will research deeper soon.