jholewinski

Stream SDK 2.3 on Ubuntu 10.04 Server: Needs Root?

Discussion created by jholewinski on Jan 19, 2011
Latest reply on Jan 31, 2011 by jholewinski

I originally had a Ubuntu 9.10 x64 system set up with a Radeon 5870 and a GeForce GTX 280 running Stream SDK 2.2 and CUDA 3.2.  I recently re-installed the OS and migrated to Ubuntu 10.04 server x64.  After installing Stream SDK 2.3, I am only able to run CAL and OpenCL programs (on the Radeon) as root and not as a regular user.  CUDA works fine on user accounts.

I followed the same Stream SDK setup procedure as before, including the additions to /etc/gdm/Init/Default to enable access over SSH (the machine is headless).  However, I noticed that the device node is now /dev/ati/card0 instead of /dev/dri/card0.

 

User Account Example:

 

$ ./OpenCloseDevice
Supported CAL Runtime Version: 1.3.185
Found CAL Runtime Version: 1.4.900
Use -? for help
No protocol specified
Opening Device : 0
There was an error opening device 0.

Press enter to exit...

Root Example:
$ sudo ./OpenCloseDevice 
Supported CAL Runtime Version: 1.3.185
Found CAL Runtime Version: 1.4.900
Use -? for help
Opening Device : 0
Device Handle = 268435456
== Device Info ==
Target Device              : Unknown            
Maximum resource 1D width  : 16384            
Maximum resource 2D width  : 16384            
Maximum resource 2D height : 16384            
Press enter to exit...


 

Running strace seems to indicate the problem is that a call to ioctl() on /dev/ati/card0 is failing:

 

open("/dev/ati/card0", O_RDWR)          = 3
ioctl(3, 0xc0506450, 0x7fff07a283c0)    = -1 EACCES (Permission denied)



 

This error does not occur when running as root.  However, the permissions on that device are world readable/writable:

 

 

$ ll /dev/ati/card0 
crw-rw-rw- 1 root root 251, 0 2011-01-19 11:35 /dev/ati/card0

Any clues as to what the problem may be?


Outcomes