Incidently, I got a similar behaviour with current etch (Xorg 6.9.0.dfsg.1-6), but the problem is not so simple:
"X :3" does work (1st file in below diff) "X :3 xorg.conf.dri" exhibits the problem (2nd file) When running under "strace -u" and sed'ing the log to get rid of PID diffs, here is what I get. It looks like "X" is dropping root privs before exec'ing Xorg. Could it be possible that the X wrapper does not recognize -config as a "safe flag" of some sort, and decide to wrop privs because of this ? Unfortuantely, there does not appear to be enough doc about the wrapper, that would document such a behaviour. @@ -43,94 +43,102 @@ 14748 mkdir("/tmp/.X11-unix", 01777) = -1 EEXIST (File exists) 14748 umask(022) = 0 14748 lstat64("/tmp/.X11-unix", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=1024, ...}) = 0 -14748 stat64("/dev/dri", 0xbfd7fc5c) = -1 ENOENT (No such file or directory) -14748 setresuid32(-1, 0, -1) = 0 +14748 stat64("/dev/dri", 0xbfcc940c) = -1 ENOENT (No such file or directory) +14748 getuid32() = 1000 +14748 setuid32(1000) = 0 +14748 setresuid32(-1, 0, -1) = -1 EPERM (Operation not permitted) 14748 getpriority(PRIO_PROCESS, 0) = 20 -14748 setpriority(PRIO_PROCESS, 0, -10) = 0 -14748 getpriority(PRIO_PROCESS, 0) = 30 +14748 setpriority(PRIO_PROCESS, 0, -10) = -1 EACCES (Permission denied) +14748 dup(2) = 3 +14748 fcntl64(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) +14748 fstat64(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(4, 1), ...}) = 0 +14748 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 +14748 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb4000 +14748 _llseek(3, 0, 0xbfcc8f08, SEEK_CUR) = -1 ESPIPE (Illegal seek) +14748 write(3, "X: warning; nice() of process fa"..., 56) = 56 +14748 close(3) = 0 +14748 munmap(0xb7fb4000, 4096) = 0 +14748 write(2, "X: warning; process set to prior"..., 73) = 73 14748 chdir("/etc/X11") = 0 -14748 execve("/usr/bin/X11/Xorg", ["X", ":3"], [/* 14 vars */]) = 0 +14748 execve("/usr/bin/X11/Xorg", ["X", ":3", "-config", "xorg.conf.dri"], [/* 14 vars */]) = 0 14748 uname({sys="Linux", node="gandelf", ...}) = 0 14748 brk(0) = 0x8226000 -- Yann Dirson <[EMAIL PROTECTED]> | Debian-related: <[EMAIL PROTECTED]> | Support Debian GNU/Linux: | Freedom, Power, Stability, Gratis http://ydirson.free.fr/ | Check <http://www.debian.org/> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]