Author

Topic: OpenCL only seeing one GPU whilst using Multi-Desktop (Read 4720 times)

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
AMD OpenCL stupidly sees each "screen" as a device. That means that if you have 2 monitors connected to one GPU, you get two opencl devices. Presumably the converse is also true, seeing one device with 2 GPUs making one virtual "screen" with xinerama. I'm guessing if you force an extra output on the 2nd card, either by config or by adding a monitor/dummy plug to another output on it, you'll get two opencl "devices". Don't ask me who the moron in AMD was that thought opencl compute devices should be associated with screens and not physical devices.  Roll Eyes
I'm not using dummy plugs, but opencl still recognizes 2 devices.
But are you using 2 GPUs on xinerama with one virtual screen only?

Nope, its not the screens, they're recognised fine. It's something to do with xinerama. With xinerama "off" in the xorg.conf then clinfo reports all devices. If xinerama is on then only one device is registered. aticonfig --lsa shows all devices under all conditions. I'm begining to suspect its a driver problem??
Did you read my advice? Ignore the poster in between us.
newbie
Activity: 57
Merit: 0
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
AMD OpenCL stupidly sees each "screen" as a device. That means that if you have 2 monitors connected to one GPU, you get two opencl devices. Presumably the converse is also true, seeing one device with 2 GPUs making one virtual "screen" with xinerama. I'm guessing if you force an extra output on the 2nd card, either by config or by adding a monitor/dummy plug to another output on it, you'll get two opencl "devices". Don't ask me who the moron in AMD was that thought opencl compute devices should be associated with screens and not physical devices.  Roll Eyes
I'm not using dummy plugs, but opencl still recognizes 2 devices.
But are you using 2 GPUs on xinerama with one virtual screen only?

Nope, its not the screens, they're recognised fine. It's something to do with xinerama. With xinerama "off" in the xorg.conf then clinfo reports all devices. If xinerama is on then only one device is registered. aticonfig --lsa shows all devices under all conditions. I'm begining to suspect its a driver problem??
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
AMD OpenCL stupidly sees each "screen" as a device. That means that if you have 2 monitors connected to one GPU, you get two opencl devices. Presumably the converse is also true, seeing one device with 2 GPUs making one virtual "screen" with xinerama. I'm guessing if you force an extra output on the 2nd card, either by config or by adding a monitor/dummy plug to another output on it, you'll get two opencl "devices". Don't ask me who the moron in AMD was that thought opencl compute devices should be associated with screens and not physical devices.  Roll Eyes
I'm not using dummy plugs, but opencl still recognizes 2 devices.
But are you using 2 GPUs on xinerama with one virtual screen only?
legendary
Activity: 2058
Merit: 1452
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
AMD OpenCL stupidly sees each "screen" as a device. That means that if you have 2 monitors connected to one GPU, you get two opencl devices. Presumably the converse is also true, seeing one device with 2 GPUs making one virtual "screen" with xinerama. I'm guessing if you force an extra output on the 2nd card, either by config or by adding a monitor/dummy plug to another output on it, you'll get two opencl "devices". Don't ask me who the moron in AMD was that thought opencl compute devices should be associated with screens and not physical devices.  Roll Eyes
I'm not using dummy plugs, but opencl still recognizes 2 devices.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
AMD OpenCL stupidly sees each "screen" as a device. That means that if you have 2 monitors connected to one GPU, you get two opencl devices. Presumably the converse is also true, seeing one device with 2 GPUs making one virtual "screen" with xinerama. I'm guessing if you force an extra output on the 2nd card, either by config or by adding a monitor/dummy plug to another output on it, you'll get two opencl "devices". Don't ask me who the moron in AMD was that thought opencl compute devices should be associated with screens and not physical devices.  Roll Eyes
newbie
Activity: 57
Merit: 0
Anyone resolve this ancient problem? One of my cards disappears from OpenCL when Xinerama is activated.
newbie
Activity: 48
Merit: 0
I'll give that a shot tomorrow. if you get a brain wave later on and think you've got another solution, i'm always ready to try something. just figured you'd had enough by now  Tongue
full member
Activity: 168
Merit: 100
Firstbits: 175wn
i have a feeling this is about as good as it's gonna get though. thanks sooooo much for your help man you saved me weeks of tinkering with this thing. Is that donate address current?
Yeah, that address is correct.

I was gonna suggest going back to the other xorg.conf (with both monitors on one card), and adding this line to the device section for aticonfig-Device[0]-0 :
Option "DesktopSetup"  "horizontal"

Anyway, if you don't want to tinker with it anymore, that's understood.

Good luck mining!
newbie
Activity: 48
Merit: 0
i have a feeling this is about as good as it's gonna get though. thanks sooooo much for your help man you saved me weeks of tinkering with this thing. Is that donate address current?
newbie
Activity: 48
Merit: 0
it's weird because the mouse can cross over but I can't bring any windows
newbie
Activity: 48
Merit: 0
wow that worked great. openbox-session launches all the stuff I need with openbox, only thing is i cant drag between displays
full member
Activity: 168
Merit: 100
Firstbits: 175wn
You could try changing openbox to openbox-session, but I have a feeling it won't help much.
newbie
Activity: 48
Merit: 0
the behaviour is a bit weird.... I can't drag windows between the two displays, but if i export DISPLAY=:0.1 then launch an app from the terminal (while openbox from the command you gave me is still running) it launches the app WITH the right window decorators on the black screen.
EDIT:
OK. the black screen was just no wallpaper, I can right click and the openbox menu comes up (in the black screen display), but it launches apps to the FIRST monitor. also none of the stuff that is in the first session seems to be loading (panel on bottom, wallpaper, taskbar stuff). it's just behaving very strangely

both miners show up, but the other screen isn't really usable in this state. unless I'm leading openbox improperly and can get my monitor to drag windows between the two displays
newbie
Activity: 48
Merit: 0
ok, will try that just have to copy over a few files before I can restart with the old xorg.

man if this works i'll be sending some BTC your way for sure!
full member
Activity: 168
Merit: 100
Firstbits: 175wn
Try:
Code:
export DISPLAY=:0.1
openbox
newbie
Activity: 48
Merit: 0
I've tested with all different configurations. I'm completely OK with it being on the second card.

When I have that config and put the plug in the second slot I get one screen with open box in it, and the other screen has X in it but not openbox. When I drag my cursor over there I just get an 'X' over the cursor (like X has loaded but there is no WM session running in it)

If you know how to launch openbox on that display I think that would fix it.
full member
Activity: 168
Merit: 100
Firstbits: 175wn
If you revert back to the 1st config you had in your 1st post (The one you said is cloned mode), and simply move one of the monitors to the second card, what happens?

That should be what you're looking for, if you're okay with having the monitors on separate cards.
newbie
Activity: 48
Merit: 0
i added a 0 and a 1 to the screen lines. the xdpyinfo line doesn't output anything
full member
Activity: 168
Merit: 100
Firstbits: 175wn
I think the problem is it is only making one display, i see all these examples of exporting DISPLAY=:0 to get to miner to work or exporting DISPLAY=:0.1 to get access to a different display. However my setup seems to only have one display 0.0, I dont have to export for the miners to work and I can't switch to any other one.

You could try changing:
Screen         "aticonfig-Screen[1]-0" LeftOf "aticonfig-Screen[0]-0"
to
Screen    1   "aticonfig-Screen[1]-0" LeftOf "aticonfig-Screen[0]-0"
It should force your second screen to be identified as :0.1

What's the output of "xdpyinfo -ext XINERAMA | grep head" now?
Openbox needs the screen geometry to be exported in the XINERAMA extension's protocol for the maximize on one screen thing to work. RandR provides this functionality, which is why I suggested turning it on. When the command above doesn't show anything, that suggests that there's no Xinerama information available.
newbie
Activity: 48
Merit: 0
I think the problem is it is only making one display, i see all these examples of exporting DISPLAY=:0 to get to miner to work or exporting DISPLAY=:0.1 to get access to a different display. However my setup seems to only have one display 0.0, I dont have to export for the miners to work and I can't switch to any other one.
newbie
Activity: 48
Merit: 0
if I turn Randr on it makes no difference, tried:


xrandr --output DFP3 --auto --left-of DFP4


(proper names of the displays according to xrandr)

but it does nothing, so does trying to do it with grandr, the GUI front-end
full member
Activity: 168
Merit: 100
Firstbits: 175wn
Try adding this to your xorg.conf:
Code:
Section "ServerFlags"
        Option "RandR" "on"
EndSection
newbie
Activity: 48
Merit: 0
Hmm... Openbox should maximize to one screen by default.

What's the output of this command?
xdpyinfo -ext XINERAMA | grep head

returns nothing. if i leave out grep head



Code:
name of display:    :0.0
version number:    11.0
vendor string:    The X.Org Foundation
vendor release number:    10707000
X.Org version: 1.7.7
maximum request size:  16777212 bytes
motion buffer size:  256
bitmap unit, bit order, padding:    32, LSBFirst, 32
image byte order:    LSBFirst
number of supported pixmap formats:    7
supported pixmap formats:
    depth 1, bits_per_pixel 1, scanline_pad 32
    depth 4, bits_per_pixel 8, scanline_pad 32
    depth 8, bits_per_pixel 8, scanline_pad 32
    depth 15, bits_per_pixel 16, scanline_pad 32
    depth 16, bits_per_pixel 16, scanline_pad 32
    depth 24, bits_per_pixel 32, scanline_pad 32
    depth 32, bits_per_pixel 32, scanline_pad 32
keycode range:    minimum 8, maximum 255
focus:  window 0x3200005, revert to Parent
number of extensions:    32
    AMDXVBA
    AMDXVOPL
    ATIFGLEXTENSION
    ATIFGLRXDRI
    BIG-REQUESTS
    Composite
    DAMAGE
    DOUBLE-BUFFER
    DPMS
    DRI2
    GLX
    Generic Event Extension
    MIT-SCREEN-SAVER
    MIT-SHM
    RANDR
    RECORD
    RENDER
    SECURITY
    SGI-GLX
    SHAPE
    SYNC
    X-Resource
    XC-MISC
    XFIXES
    XFree86-DGA
    XFree86-VidModeExtension
    XINERAMA
    XInputExtension
    XKEYBOARD
    XTEST
    XVideo
    glesx
default screen number:    0
number of screens:    2

screen info on screen #0 and #1 follows, it's very long. then

Code:
XINERAMA version 1.1 opcode: 128
  Xinerama is inactive.


really appreciate all the help so far guys. I feel like there is a workaround close but I can't quite get it.
newbie
Activity: 48
Merit: 0
I have openbox, so I could enable the compiz extension and try but it won't be compiz-fusion like you get in gnome.
legendary
Activity: 1284
Merit: 1001
newbie
Activity: 48
Merit: 0
let you know as soon as i get home. there's a single taskbar across the entire 2 screens, which leads me to believe openbox doesn't know there are actually 2 monitors, it's behaving like one big screen.
full member
Activity: 168
Merit: 100
Firstbits: 175wn
Hmm... Openbox should maximize to one screen by default.

What's the output of this command?
xdpyinfo -ext XINERAMA | grep head
newbie
Activity: 48
Merit: 0
no i'm using Openbox. I'm on crunchbang, it's a debian based distribution so most ubuntu settings will work, however I don't have gnome or any of the fancy gui's.
full member
Activity: 168
Merit: 100
Firstbits: 175wn
Remove the xinerama option.

I assume you're using Unity?
If you install the package compizconfig-settings-manager and then open the settings manager (themes and tweaks -> CompizConfig Settings Manager), you can go to:
Window Management->Place Windows
Try playing with the multi output mode option - see if you can get the effect you want.
newbie
Activity: 48
Merit: 0
i added

Option "Xinerama" "on"

in server layouts, it creates the 'desktop' I was looking for (though for some reason my wallpaper disappeared)

except now only one miner is seen by openCL,

  • Cypress
  • [1] AMD ......

full member
Activity: 168
Merit: 100
Firstbits: 175wn
any ideas on having them both be separate screens, but connected, like it would be in windows with multi-display?
You could try turning on Xinerama, by adding this line to ServerLayout:
Option "Xinerama"

Might help.
newbie
Activity: 48
Merit: 0
OK this is weird. I added:

Screen         "aticonfig-Screen[1]-0" LeftOf "aticonfig-Screen[0]-0"

to my dual-head xorg (in the ServerLayout section) and I get a single BIG desktop stretched across 2 monitors. WITH BOTH GPUS RECOGNIZED BY OPENCL

it's closer to what I was hoping for, but when I maximize a window it doesn't behave separately, the window stretches across 2 monitors.

any ideas on having them both be separate screens, but connected, like it would be in windows with multi-display?
newbie
Activity: 48
Merit: 0
[note these were executed using the SECOND xorg configuration (dual monitor, not cloned)]

leshow@crunchdesk:~$ export DISPLAY=:0.1
leshow@crunchdesk:~$ sudo aticonfig --pplib-cmd "get fanspeed 0"
[sudo] password for leshow:
ati_pplib_cmd: Unable to open display `:0.1'.
aticonfig: parsing the command-line failed.
leshow@crunchdesk:~$ export DISPLAY=:0
leshow@crunchdesk:~$ cd miners/poclbm/
leshow@crunchdesk:~/miners/poclbm$ ./poclbm.py
No device specified or device not found, use -d to specify one of the following

  •    Cypress
  • [1]   AMD Phenom(tm) II X4 955 Processor
    leshow@crunchdesk:~/miners/poclbm$



    am i supposed to be sudo when i export the display?


    i know the xorg.conf's look deceiving, but I assure you the first setup is cloned and the second one is dual-display. They were both generated using

    aticonfig --initial -f --adapter=all     (this gives me the first one)
    then if i reboot, and go
    sudo amdcccle
    and set it up to be multi-display, I get the second one. Both GPU's are only seen in the first xorg. I followed so many guides and got to the same conclusion with everything, tried all different version of OpenCL.

    I'm convinced it's something I'm missing in the xorg.conf. so anybody on linux with more than one GPU and a dual-monitor setup please take a look and help me out, I'd really appreciate it.
full member
Activity: 168
Merit: 100
Firstbits: 175wn
Umm, in your post, you say that the first config is cloned mode, but reading the configs, it looks like the second is cloned mode...

Anyway, in that guide, are you doing the part where he types:
export DISPLAY=:0.1; aticonfig --pplib-cmd "get fanspeed 0"
to get the fanspeed? Or changing the DISPLAY variable at all for that matter?
If you are, you need to make sure you set DISPLAY back to :0 before mining, or only one card will show. You can do this like:
export DISPLAY=:0
Does that help?
newbie
Activity: 48
Merit: 0
thanks for the response, you're right, changed!
full member
Activity: 140
Merit: 100
firstbits: 1kwc1p
You should probably correct the title of your thread as Linux is quite clearly seeing both GPUs.

Your issue is more like 'OpenCL only seeing one GPU whilst using Multi-Desktop'. Whilst I don't know the fix, using the correct title will probably attract the attention of the people who will know and/or be able to test solutions for you.
newbie
Activity: 48
Merit: 0
I followed this guide: http://forum.bitcoin.org/?topic=7514.0

aticonfig shows both of my cards.

this is the issue i seem to be having:

I can clone displays(single desktop), in which case both GPU's work for mining. this is the xorg.conf for that:

Code:
Section "ServerLayout"
Identifier     "aticonfig Layout"
Screen      0  "aticonfig-Screen[0]-0" 0 0
Screen         "aticonfig-Screen[1]-0" LeftOf "aticonfig-Screen[0]-0"
EndSection

Section "Module"
EndSection

Section "Monitor"
Identifier   "aticonfig-Monitor[0]-0"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
EndSection

Section "Monitor"
Identifier   "aticonfig-Monitor[1]-0"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
EndSection

Section "Device"
Identifier  "aticonfig-Device[0]-0"
Driver      "fglrx"
BusID       "PCI:1:0:0"
EndSection

Section "Device"
Identifier  "aticonfig-Device[1]-0"
Driver      "fglrx"
BusID       "PCI:2:0:0"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device     "aticonfig-Device[0]-0"
Monitor    "aticonfig-Monitor[0]-0"
DefaultDepth     24
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection

Section "Screen"
Identifier "aticonfig-Screen[1]-0"
Device     "aticonfig-Device[1]-0"
Monitor    "aticonfig-Monitor[1]-0"
DefaultDepth     24
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection


I can have a multi-desktop (xinerama still disabled). but only one GPU is seen by the miner. Here's the xorg.conf for the this scenario:


Code:
Section "ServerLayout"
Identifier     "aticonfig Layout"
Screen      0  "aticonfig-Screen[0]-0" 0 0
EndSection

Section "Module"
EndSection

Section "Monitor"
Identifier   "aticonfig-Monitor[0]-0"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
EndSection

Section "Monitor"
Identifier   "aticonfig-Monitor[1]-0"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
EndSection

Section "Monitor"
Identifier   "0-DFP3"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
Option    "PreferredMode" "1920x1080"
Option    "TargetRefresh" "60"
Option    "Position" "1920 0"
Option    "Rotate" "normal"
Option    "Disable" "false"
EndSection

Section "Monitor"
Identifier   "0-DFP4"
Option    "VendorName" "ATI Proprietary Driver"
Option    "ModelName" "Generic Autodetecting Monitor"
Option    "DPMS" "true"
Option    "PreferredMode" "1920x1080"
Option    "TargetRefresh" "60"
Option    "Position" "0 0"
Option    "Rotate" "normal"
Option    "Disable" "false"
EndSection

Section "Device"
Identifier  "aticonfig-Device[0]-0"
Driver      "fglrx"
Option    "Monitor-DFP3" "0-DFP3"
Option    "Monitor-DFP4" "0-DFP4"
BusID       "PCI:1:0:0"
EndSection

Section "Device"
Identifier  "aticonfig-Device[1]-0"
Driver      "fglrx"
BusID       "PCI:2:0:0"
EndSection

Section "Screen"
Identifier "aticonfig-Screen[0]-0"
Device     "aticonfig-Device[0]-0"
DefaultDepth     24
SubSection "Display"
Viewport   0 0
Virtual   3840 1920
Depth     24
EndSubSection
EndSection

Section "Screen"
Identifier "aticonfig-Screen[1]-0"
Device     "aticonfig-Device[1]-0"
Monitor    "aticonfig-Monitor[1]-0"
DefaultDepth     24
SubSection "Display"
Viewport   0 0
Depth     24
EndSubSection
EndSection

what i would like to be able to do is have a multi-desktop (2 monitors where I can drag windows between them, not cloned) and have the miner recognize both GPUs. i'm willing to try anything guys. thanks!
Jump to: