CUDA Works as root but not as user on OpenSUSE 10.3

Hello All

I installed CUDA 2,0 on SUSE 10,3
I installed the driver and toolkit as root, The as root I also installed the SDK int /root/NVIDIA_CUDA_SDK
As root everything worked fine, Including all the openGL examples like oceanFFT and so on

When I installed the SDK as my own user, I get problems as below, The CUDA enabled GPU is not visible

I removed the SDK from root and rebooted my system and so on.
I have a 8800GTX and a 7300GT on my system
All the SDK examples fail

pmistry@pino:~/NVIDIA_CUDA_SDK/bin/linux/release> ./deviceQuery
NVIDIA: could not open the device file /dev/nvidiactl (Permission denied).
There is no device supporting CUDA.

Device 0: “Device Emulation (CPU)”
Major revision number: 9999
Minor revision number: 9999
Total amount of global memory: 4294967295 bytes
Number of multiprocessors: 16
Number of cores: 128
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 16384 bytes
Total number of registers available per block: 8192
Warp size: 1
Maximum number of threads per block: 512
Maximum sizes of each dimension of a block: 512 x 512 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 262144 bytes
Texture alignment: 256 bytes
Clock rate: 1.35 GHz
Concurrent copy and execution: No


Press ENTER to exit…

In emulation mode too I get the /dev/nvidiactl (Permission denied). error

Can anyone shed some light on what I need to do???

as root, chmod 0666 /dev/nvidia*

You must either start X or manually create all of the /dev/nvidia* nodes in order to use CUDA as non-root user.

Come on guys, this sounds like a crappy workaround. Is your user in ‘video’ group?

This is a Linux OS limitation. If you know of an official, non “crappy workaround” way to create /dev nodes in Linux as a non-root user, please share them with us.

Yes, I agree with you on that.

I thought that the issue is about reading from nodes (I mean /dev/nvidia* files), not creating them.

For instance, in Gentoo, to use nvidia device, you need be in ‘video’ group. Take a look:

maf@firebird ~ $ ls -l /dev/nvidia*

crw-rw---- 1 root video 195,   0 XI  6 17:08 /dev/nvidia0

crw-rw---- 1 root video 195, 255 XI  6 17:08 /dev/nvidiactl