I have noticed a major difference in output is that as a normal user Direct Rendering is not enabled, though as soon as I log into the super user there is no such error message.
Is there a way that I can enable Direct Rendering as a normal user?
I don’t know if it’s relevant to your problem, but on my system the nvidia devices are group owned by “video”, and all my users are members of this group.
ls -l /dev/ | grep video
crw-rw---- 1 root video 29, 0 2010-08-21 10:54 fb0
crw-rw---- 1 root video 195, 0 2010-08-21 10:54 nvidia0
crw-rw---- 1 root video 195, 255 2010-08-21 10:54 nvidiactl
crw-rw----+ 1 root video 81, 2 2010-08-21 10:54 radio0
crw-rw----+ 1 root video 81, 1 2010-08-21 10:54 vbi0
crw-rw----+ 1 root video 81, 0 2010-08-21 10:54 video0
I appear to have fixed the problem by editing a file called /etc/modprobe.d/50-nvidia.conf
and changed it to
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0666
instead of
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660
I believe that this may have changed my permissions, and my graphics card now appears to be using Direct Rendering despite the output of the
ls -l /dev/ | grep video being…
crw-rw---- 1 root video 29, 0 2010-08-21 11:04 fb0
crw-rw-rw- 1 root video 195, 0 2010-08-21 11:04 nvidia0
crw-rw-rw- 1 root video 195, 255 2010-08-21 11:04 nvidiactl
crw-rw----+ 1 root video 81, 0 2010-08-21 11:04 video0
Correct, now anyone logged into the box can access these devices. Depending on how secure you want to be, this may be OK.
What you could have done is to check that the user involved is in the video group in the Yast Control Center - User and Group Administration - Groups. If they were not, then you could have added that user to the group. That way things could stay read-write for anyone the video group and no access to anyone else outside it (except for root).