
https://bugzilla.novell.com/show_bug.cgi?id=465502 Summary: No 3D rendering or OpenGL with nVidia or ATI (fglrx) proprietary driver: permission problem Classification: openSUSE Product: openSUSE 11.1 Version: RC 2 Platform: i686 OS/Version: openSUSE 11.1 Status: NEW Severity: Normal Priority: P5 - None Component: Hotplug AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: jimc@math.ucla.edu QAContact: qa@suse.de Found By: --- Created an attachment (id=264616) --> (https://bugzilla.novell.com/attachment.cgi?id=264616) Permission-granting script to go in /etc/ConsoleKit/run-session.d User-Agent: Opera/9.63 (X11; Linux i686; U; en) Presto/2.1.1 Build Identifier: My problem machines have the nVidia or ATI (fglrx) proprietary drivers for the graphics card. When a user logs in to the console, HAL, ConsoleKit, etc. give him ACLs allowing read/write access to many devices, but not to the graphics DRI interfaces: /dev/nvidia0, /dev/nvidiactl, /dev/dri/card0. Thus the user cannot do 3D rendering, and OpenGL falls back to snail-like software (MESA) rendering. Key detail: both brain-damaged proprietary drivers fail to register themselves so as to appear in sysfs. If they did appear, and if they described themselves (PCI category keys?) as video devices, I'm sure HAL and ConsoleKit would grant permission for them. Reproducible: Always Steps to Reproduce: 1. Configure the graphics card using a driver that doesn't do sysfs. 2. Log in to the console as any nonprivileged user. 3. Run a graphics test such as glxgears. Note the slow speed. Actual Results: 3D rendering doesn't happen. "getfacl /dev/nvidia0" (or whichever device) shows that the console user lacks permission to write on the device. Expected Results: Awesomely fast graphics rendering :-) In OpenSuSE 10.3, which used resmgr, I had a rule file in /etc/resmgr.conf.d which did "ongrant video run /usr/local/sbin/resgrant" (and similarly for revoke); that script basically does "chmod $RES_USER $devices". Kay Sievert suggested that I could put a similar script (attached) into /etc/ConsoleKit/run-session.d ; I did so, and now the console user does get permission for the graphics devices. I understand the bad points of closed source software, and I understand the distro managers' justified preference to not get entangled with it. However, SuSE is not exactly as pure as the driven snow, allowing Adobe Acrobat, Helix Banshee and Shockwave (Adobe) Flash in the distro. I expect that a lot of users are going to blame the distro when their graphics cards, which work just fine in Windows, go into snail mode on Linux; in other words, this issue has to be dealt with. I suggest as a compromise a lightweight script like mine, which only takes action if the driver is brain-dead and fails to announce its existence to HAL. Certainly you'll want to make the script more distro-friendly, e.g. by getting the list of troublemaker devices from /etc/sysconfig/something. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.