Showing results for 
Search instead for 
Did you mean: 

Archives Discussions


Linux 290x OpenCL ?


I am trying to get 290x to be visible under Ubuntu 12.04 with latest 13.11 beta6 64bit Linux drivers. It looks like fglrx module is loaded and aticonfig is functioning

# aticonfig --adapter=0 --od-getclocks

Adapter 0 - AMD Radeon R9 290 Series
                            Core (MHz)    Memory (MHz)
           Current Clocks :    300           150

        Performance Level :    0
        Current Bus Speed :    2500
         Current Bus Lane :    1
                 GPU load :    0%

However clinfo is returning no GPU devices. I have tried to login from the console to X and also set the COMPUTE environment variable. But nothing helped.

Is this a known problem that 290x series do not support OpenCL on Linux or any ideas on what may be the reason?



32 Replies

Please check the System Requirements from the below link

Here its mentioned that the AMD APP SKD support ubuntu 11.04.


Himanshu, lets be reasonable here. It has been over 1 year since Ubuntu 11.04 was EOLed!

Nobody is using 11.04 anymore. AMD must update their pages! Please report this to your team!

In addition, the SDK is not even related to this problem. Because OpenCL programs MUST function only with Catalyst drivers. Catalyst drivers support Ubuntu 12.04

AMD Catalyst™ 13.11 LINUX Beta V6 Driver

Actually, Catalyst  does NOT support 11.04 so it is impossible to make OpenCL programs for AMD GPUs on Linux right? It is funny that how a company like AMD can be so lazy updating their software requirements lists.


(I'm new to this forum and OpenCL: just looking around to figure out how to configure a Linux system to play.)

The list of supported Linux systems is pretty weak.

This posting suggests that some people have gotten Ubuntu 13.04 and perhaps 13.10 working

Me?  I'd like Fedora 19.  The closest choice is RHEL6.  RHEL is nicely stable (like Ubuntu 12.04 LTS).

The list of supported hardware is also quite weak.  For example, nothing from the 8000 series (I have an 8570).  I don't know about whether the R9 series is included (I think that the R series referred to is a previous generation, but I'm not sure).

It would be nice to know where these restrictions come from.  Then we'd know whether it was foolish to ignore them.


Hugh, you should use Ubuntu, it is stable. Fedora breaks down quite often with updates. Always something breaks down in Fedora. While RHEL based distros are also stable, they lack latest tools, compilers etc. I would just go with Ubuntu 13.10 at this point.

Actually I got this working with Ubuntu 13.10, but I sure would like to get it working with 12.04 also. I am sure many developers may have opted in to use 12.04. I have several boxes running 12.04


There are lots of arguments about the relative merits of Fedora and Ubuntu.

The most relevant one is that Ubuntu makes some attempt to support the AMD proprietary drivers and Fedora doesn't.  But there are some nuances to this.

rpmfusion tries to support proprietary drivers for Fedora but doesn't always succeed.  Here's just one problem (it may have been solved by now)

Ubuntu fails at supporting AMD proprietary drivers fairly often too.  Here's a bug that affected me for at least a year (until I gave up)

That's why I'd like advice from folks that have succeeded.  So thanks yurtesen!

(I'd REALLY like reasonable OpenCL support in the open source drivers!  I infer that this is being worked on.)


I think if you are running OpenCL programs you do not need to use ubuntu or fedora repositories (because they always lag behind). I always download the driver from AMD site.

I had some problems with Fedora with AMD drivers, because Fedora abruptly upgrade kernels every week and often the drivers failed installing to newest kernels. But with Ubuntu, kernel updates are not that often and I never had that problem with Ubuntu actually.


I am running Ubuntu 13.10 and for some reason it is not recognizing my R9 290X card. Any idea how to fix this? Have tried many different drivers and it still does not work. Thanks in advance.

Journeyman III

Hi tuck, I got this working 2 weeks ago with Ubuntu 13.10.  I used the instructions here:

Ubuntu Saucy Installation Guide -

and installed the Beta version from the options.  This was from a clean install of ubuntu 13.10, *without* getting any proprietary drivers during install.

typing eg 'clinfo' in a terminal shows me (among other things):

  Platform Name:                                 AMD Accelerated Parallel Processing
Number of devices:                               2
  Device Type:                                   CL_DEVICE_TYPE_GPU
  Device ID:                                     4098
  Board name:                                    AMD Radeon R9 200 Series
  Device Topology:                               PCI[ B#1, D#0, F#0 ]

NOTE: most of the discussion here is how to get AMD's SDK to work, given that it messes up paths etc during install. Your question/problem is simpler than that.


I am using the following drivers and they work fine:

I guess the question boils down to exactly what you are doing to install the drivers and exactly what you are doing to check if they are working or not?


Thanks for your feedback.

Immediately i willl report this to the concerned persons and get it  correct.


Also, if you go to download page

It shows supported OSes as "Linux® (openSUSE™ 11.*, Ubuntu® 10.0*, Red Hat® Enterprise Linux® 6.*)" (Notice Ubuntu 10!!!)


Hi Yurtesen,

you mentioned a few posts up that you got OpenCL on an R290 to work with ubuntu 13.10;

could you perhaps indicate what you had to do to get this to work?

I have exactly the same symptoms as your original post, and, having bought the card

specifically to do OpenCL development on it, am currently rather frustrated!




Hi Oliver,

I think this may help you. When I couldnt make it work in the Ubuntu 12.04, I have started upgrading the box to newer versions, 12.10, 13.04 and then to 13.10 and it still didnt work.

What I did was to remove the AMD APP-SDK and Catalyst drivers, then install latest catalyst beta drivers from scratch. (I didnt test if installing APPSDK breaks it or not at this point, so please let me know if you test that). Then it started working all of a sudden. I have seen this before. Catalyst sometimes does not update OpenCL if APP-SDK is installed or APP-SDK does not update it if Catalyst is installed. Since the latest drivers are in Catalyst beta, I think it may be so that it didnt install some OpenCL stuff when it saw older APP-SDK and this caused 290x to not appear.

Please let me know if this helps you also (so I would know that I didnt have some random luck)




Could you please check the same behaviour with latest driver 13.11 and  AMD APP SDK 2.9. In case of any issue i request you to report.

Thanks for your support.


Thanks for your responses, Yurtesen and Himanshu.

Following Yurtesen's suggestion, I removed everything and tried first installing just the drivers.

On 13.10 it does indeed work: the GPU is correctly detected by clinfo and cl binaries run properly.

Simply installing the AMD-APP sdk then inhibits the GPU detection by default.

However, I now know the reason and can manually correct it: the wrong version (i.e. the AMD-APP version)

of libOpenCL is found by the dynamic linker.

For example, running  'ldd /usr/bin/clinfo' gets me ' => /opt/AMDAPP/lib/x68_64/

instead of the fglrx-provided library. If I correct this by hand for example by exporting

LD_LIBRARY_PATH=/usr/lib/fglrx/:$LD_LIBRARY_PATH, it works properly.

I have not yet tried looking at the install script to find the culprit line, but I imagine this should not be too hard to

correct in the sdk?



Thank you! Been working on this for 3 days.


Himanshu, it appears that when APP SDK is installed, the Catalyst is not installing some files so we are forced to use some old OpenCL library which doesnt support 290x cards and that caused my problem. Perhaps you should make the installer check if the installed version is newer or not and overwrite if it is older. I have been bitten by this several times already.


I have reproduced on a fresh install of Ubuntu Saucy, latest Catalyst 3.11 beta and SDK 2.9

What happens is that the SDK install modifies /etc/profile and adds these lines:



(among others)

This has the effect of overriding system libraries with whatever is in there, which is:

benh@plonk:~/grabbag/cgminer$ ls -l /opt/AMDAPP/lib/x86_64/

total 37604

-rw-r--r-- 1 501 502 37294832 Oct 30 21:38

-rw-r--r-- 1 501 502   428135 Oct 30 21:38

-rw-r--r-- 1 501 502   753434 Oct 30 21:38

lrwxrwxrwx 1 501 502       14 Oct 30 21:52 ->

-rw-r--r-- 1 501 502    23720 Oct 30 21:38

So out and from fglrx are being overriden by the ones in

the SDK which aren't functional.

I've for now removed the LD_LIBRARY_PATH override from my /etc/profile


So it appears that this isn't sufficient.

The SDK installer also adds a pair of scripts to /etc/ which add the SDK to the system library

path as well (why both approaches ?). So I had to remove these and an ldconfig later, things are now working.

Journeyman III

I had the same issue and my investigations concluded that OpenCL on linux using R290 does not work with the latest drivers.

I replaced my R290 with an R280 and everything immediately started working.

See my thread here:


Thanks, all, for your inputs.

I have reported this issue to the SDK development team.


Almost same problem with Ubuntu 13.04, 3.8.0-19-generic, amd-catalyst-13.11-beta V9.4

After few minutes of workin'g I'm see this message in dmesg:

[ 1810.519789] divide error: 0000 [#1] SMP
[ 1810.519793] Modules linked in: vesafb(F) bnep rfcomm bluetooth ppdev(F) parport_pc(F) snd_hda_codec_hdmi mac_hid wmi snd_hda_codec_realtek snd_hda_intel kvm_amd snd_hda_codec snd_hwdep(F) kvm snd_pcm(F) snd_seq_midi(F) snd_seq_midi_event(F) snd_page_alloc(F) snd_rawmidi(F) fglrx(POF) snd_seq(F) snd_seq_device(F) snd_timer(F) psmouse(F) k10temp serio_raw(F) amd_iommu_v2 edac_core sp5100_tco snd(F) edac_mce_amd i2c_piix4 lp(F) parport(F) microcode(F) soundcore(F) usb_storage(F) firewire_ohci firewire_core crc_itu_t(F) floppy(F) pata_acpi r8169 pata_atiixp ahci(F) libahci(F)
[ 1810.519813] CPU 3
[ 1810.519817] Pid: 1495, comm: Xorg Tainted: PF          O 3.8.0-19-generic #29-Ubuntu Gigabyte Technology Co., Ltd. GA-MA785GT-UD3H/GA-MA785GT-UD3H
[ 1810.519819] RIP: 0010:[<ffffffffa033ba81>]  [<ffffffffa033ba81>] CIslands_FanCtrl_SetFanSpeedRPM+0x71/0x160 [fglrx]
[ 1810.519912] RSP: 0018:ffff880256839ce0  EFLAGS: 00010246
[ 1810.519914] RAX: 00000000608f3d00 RBX: ffff8802568ed028 RCX: 0000000000000000
[ 1810.519915] RDX: 0000000000000000 RSI: 0000000000000080 RDI: ffff8802568ed00c
[ 1810.519916] RBP: ffff8802568ed00c R08: 00000000c05001a0 R09: ffff880260b82008
[ 1810.519917] R10: ffff880260b82008 R11: ffffffffa017529e R12: 0000000000000000
[ 1810.519918] R13: 0000000000000001 R14: 00007fffaa2c7330 R15: 0000000000000000
[ 1810.519920] FS:  00007f4bd802e940(0000) GS:ffff88026fd80000(0000) knlGS:0000000000000000
[ 1810.519921] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 1810.519922] CR2: 00007f488eceeff0 CR3: 0000000255d60000 CR4: 00000000000007e0
[ 1810.519923] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1810.519925] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 1810.519926] Process Xorg (pid: 1495, threadinfo ffff880256838000, task ffff880255d68000)
[ 1810.519927] Stack:
[ 1810.519928]  ffff88025599380c ffffffffa02bf600 0000000000000000 ffffffffa02bf612
[ 1810.519931]  0000000000000000 ffffffffa02dfff9 ffff88024d2d3c90 ffff880256839d90
[ 1810.519933]  ffff88024d2d3c90 0000000000000000 ffff8802617c0000 ffffffffa02d5c0b
[ 1810.519934] Call Trace:
[ 1810.520000]  [<ffffffffa02bf600>] ? PHM_SetFanSpeedPercent+0x50/0x50 [fglrx]
[ 1810.520061]  [<ffffffffa02bf612>] ? PHM_SetFanSpeedRPM+0x12/0x50 [fglrx]
[ 1810.520122]  [<ffffffffa02dfff9>] ? PEM_SetFanSpeed+0x79/0xa0 [fglrx]
[ 1810.520184]  [<ffffffffa02d5c0b>] ? PEM_CWDDEPM_OD6_SetFanSpeed+0xcb/0x1c0 [fglrx]
[ 1810.520215]  [<ffffffffa0175253>] ? KCL_MEM_SmallBufferAlloc+0x13/0x20 [fglrx]
[ 1810.520276]  [<ffffffffa02d1ee9>] ? PP_Cwdde+0x109/0x180 [fglrx]
[ 1810.520312]  [<ffffffffa01b12d0>] ? firegl_pplib_cwddepm_call+0x1e0/0x250 [fglrx]
[ 1810.520349]  [<ffffffffa01b10f0>] ? firegl_pplib_iri_call+0x2f0/0x2f0 [fglrx]
[ 1810.520381]  [<ffffffffa018420d>] ? firegl_ioctl+0x1ed/0x250 [fglrx]
[ 1810.520412]  [<ffffffffa017355e>] ? ip_firegl_unlocked_ioctl+0xe/0x20 [fglrx]
[ 1810.520415]  [<ffffffff811a5919>] ? do_vfs_ioctl+0x99/0x570
[ 1810.520417]  [<ffffffff811a5e81>] ? sys_ioctl+0x91/0xb0
[ 1810.520420]  [<ffffffff81194372>] ? sys_read+0x52/0xa0
[ 1810.520423]  [<ffffffff816d379d>] ? system_call_fastpath+0x1a/0x1f
[ 1810.520424] Code: 00 00 00 48 89 ef 48 8d 5d 1c e8 7b 7a ff ff 48 89 ef 31 d2 89 c6 42 8d 0c e5 00 00 00 00 69 f6 c0 27 09 00 89 f0 be 80 00 00 00 <f7> f1 ba 70 00 30 c0 41 89 c4 e8 60 e6 f8 ff 48 89 ef 83 e0 07
[ 1810.520442] RIP  [<ffffffffa033ba81>] CIslands_FanCtrl_SetFanSpeedRPM+0x71/0x160 [fglrx]
[ 1810.520498]  RSP <ffff880256839ce0>
[ 1810.520500] ---[ end trace 37b7ba659289f656 ]---


Thanks !

You may also want to report the issue aleshka just posted, it's a common one. It appears that passing incorrect

parameters to any of the Fan control ioctls causes that Oops (some division by 0 in the kernel apparently) which

in turns kills X.

The kernel driver should definitely do a bit of sanity checking of the arguments passed to it.

One common cause of that one is "cgminer" which has a bug in the fan control code causing this to happen

when you quit it. (For those interested, veox maintains a fork for GPU scrypt mining only in which he applied

a fix I sent him for this problem at




Prasad Hariharan Crispin Wellington Have there been any updates with this issue?  I am having the same problem with Ubuntu Saucy, Catalyst 13.2, and AMD-APP-SDK 2.9. Similar to yurtesen, aticonfig is functioning and can see the 290x. clinfo lists my 7990 and cpu but not the 290x.


I can also replace the 290x with a 6970/79070 so I know it's not an issue with multiple cards.

Adept I

@yurtesen what model of card do you have? I have a Sapphire R9 290X with the same problem.  I'm curious if there may be a simple fix in that the OpenCL library is missing a deviceID for our model(s).


don't install APP SDK. it contains older version of OpenCL which doesn't work with this card. see this response Re: Linux 290x OpenCL ?


@nou I should have read more of the thread. I got it working now. Thanks!


Please can some staff member or more competent member of this forum write a consice step-by-step list in a clear manner on how to get this $600 USD Card running with OpenCL on latest Linux Distributions? I am talking Ubuntu 13.10 and beyond.

I will very much look forward to this. Above description and recursive reference - pardon my english - is a joke.

Thank you and highly appreciated!


Search the forum for ubuntu headless and you will find good guides easily. If you can't get it to work, ask for help in the forum.

Journeyman III

I can verify that OpenCL with the R9 290 works in Ubuntu 13.10.

First I installed the Catalyst-14.1beta1.3, and then the AMD-APP-SDK-v2.9-lnx64. But the latter messed things up preventing my application (Luxrender) to identify the OpenCL device. So I removed files which had been added by AMD-APP inside /opt, and /etc/ and I also opened /etc/profile to remove the few lines of text it had added there. Then I removed Catalyst by purge fglrx*, re-installed it, and voila! it works.

Journeyman III

the fault is of the script, in file there is a wrong path:

line 180:

$Cat_OCL_RT_files = '/usr/lib/';

change in;

$Cat_OCL_RT_files = '/usr/lib/fglrx/';

and everything will be fine.

dual R9 290x, XUBUNTU 14.04 , driver 14.20 beta, amdapp 2.9