F17: DirectFB

Tom Callaway tcallawa at redhat.com
Wed Aug 29 18:33:33 UTC 2012


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


More information about the devel mailing list