I am running 11.4 on an AMD 8120 machine with an AMD 6670 card for ordinary graphics. I recently installed an additional AMD 6870 card from Gigabyte to try out as a separate GPU processor. If I invoke hwinfo --gfx, both cards are identified, and each shows as being serviced by the fglrx module. However, the fglrxinfo command, which comes as part of the fglrx package(though undocumented as far as I can tell), only shows the 6670 card. Similarly, I downloaded the AMD APP SDK 2.6 development environment package to use OpenCL to program the second card, and the clinfo command also does not show the second card, but does show the 8-processor cpu and the 6670 card. Compiling the sample programs that some with the SDK, I can access both of these computational units.
I realize that both the fglrxinfo and clinfo commands are part of proprietary packages, but does anyone have any ideas on the software path that these commands might take to identify the hardware available? One possible question: is it likely that fglrx goes through the X11 system, and thus my xorg.conf might need updating? I currently show two “Device” sections associated with the fglrx driver, with separate PCI addresses, but I am unable to interpret the hwinfo PCI information to know if the addresses in the two commands are the same.
I have posted a similar query on the AMD Developers Forum a week ago, but a lot of queries there go unanswered.
Am I missing something fundamental here in the way a second graphics card is recognized and communicated with? Any experiences of other users with an additional GPU for computation?
I’m at the limits of my knowledge here, so can only offer general advice/clarification.
The ‘lspci’ output will show the busID for your graphics card. I only have 1 card, but for reference
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (primary) (rev 0c)
Note that the output is in hexadecimal format. Xorg uses the decimal form, so that is what is used in the ‘Device’ section when required to specify a particular card.
I’m assuming that the primary card is in use with an active x-session. So, fglrxinfo will only generate output for that particular card. It is possible to start a second x-session, using the second card if required, but it will require some manual configuration first (using the legacy /etc/X11/xorg.conf or the newer files located within the /etc/X11/xorg.conf.d/ directory).
Running multiple X sessions
Thanks for the information on the PCI identifiers. It turns out that both hwinfo and lspci identify the cards with the same numbers, so now there is no mystery there. Interestingly, my xorg.conf device sections showed the second card in the wrong slot, but changing the PCI identifier there hasn’t seemed to make any difference.
With regards to multiple X-sessions, I am confused. I have multiple X sessions running already when I have more than one user logged in ( which I frequently do since I do my system work as root, but have another ID for everyday work, and frequently have both running.) Are you suggesting that to use the second card as a GPU unit, I must have an X-session assigned to it? Or just that fglrxinfo won’t recognize it without an X-session assigned, forgetting about what additional requirements clinfo may have for its recognition and OpenCL for its functionality? I do ultimately want to hook a second monitor to the second card, but to display the results of imaging processing on that card, independent of the default display.
The software chain for either fglrxinfo or clinfo still remains mysterious. Clearly I was naive to assume that simply plugging in the second card, and its automatic detection by the system would suffice to make it available. I need to nose around the AMD developers site some more, obviously.
Are you suggesting that to use the second card as a GPU unit, I must have an X-session assigned to it? Or just that fglrxinfo won’t recognize it without an X-session assigned, forgetting about what additional requirements clinfo may have for its recognition and OpenCL for its functionality?
Not sure. I do know that fglrxinfo has a ‘-dsiplay’ option
−display DISPLAYNAME
Specify the display to query. Use the DISPLAY environment variable to get the default host, display number and screen.
You might get higher level support for this here:
[Phoronix] Linux Hardware Reviews, Benchmarking, & Gaming](http://www.phoronix.com/scan.php?page=home)
You may also try emailing the author of the manpage:
Manpage for fglrxinfo - man.cx manual pages