On 08/29/2012 09:25 AM, Gerry Reno wrote:
DirectFB says that there are Fedora packaging errors which are
causing the undefined symbol on XUnlockDisplay and
inability to run as normal user.
Upstream is wrong, btw.
The dlopen problem is caused by the fact that they don't pass the
$(X11VDPAU_LIBS) to the LDFLAGS for linking libdirectfb_vdpau.la.
The core issue behind why dfbinfo doesn't run as a "normal" user is due
to the fact that the Linux kernel requires CAP_SYS_TTY_CONFIG to do any
TTY ioctl() calls. UID 0 (root) has that, but normal users do not. It is
possible to give a binary that capability using the "setcap" command.
The missing udev rules also factor into this, I suspect.
Last but not least, I believe a normal user needs to be in at least the
"tty" and "video" groups. (and they need to be active, as reported by
`groups`). Since there is no real way to handle this in the package, it
just needs to be done by any user who wants to use dfbinfo:
usermod -a -G tty video USERNAME
I made an updated package (1.6.1) that has these fixes applied and sets
the CAP_SYS_TTY_CONFIG capability to the dfbinfo binary. (Other DirectFB
binaries probably need the same magic, but as I am not a DirectFB user,
I can't really say which ones.)
Please note that I could only get the dfbinfo results as an unprivileged
user from the console (not from within X), and those results are not
identical to what I get when I run it as root. When I tried to run it
from X, my X session crashed and the kernel panicked. Good times. :)
Anyways, Gerry, please test and let me know if these packages work for
you, and once I hear back, I'll push out updates.
http://koji.fedoraproject.org/koji/taskinfo?taskID=4435408
~tom
==
Fedora Project