| Summary: | SDL_Init(SDL_INIT_VIDEO) - XDM authorization key matches an existing client! | ||
|---|---|---|---|
| Product: | SDL | Reporter: | malferit |
| Component: | video | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.0.4 | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
|
Description
malferit
2015-07-05 22:08:20 UTC
I can't believe I have to request this about a Linux problem, but...does rebooting help? Everything I've read about this error says it's confused system state that gets wiped out by a reboot (killing the X server isn't enough, apparently). --ryan. Hello Ryan. No, rebooting makes no difference. Compiling without linking X11 always gives the same error. Linking with X11 always works. Maybe the problem is related to me using the plain XDM for login instead of KDM or GDM that probably most Linux users are using today. I don't understand why linking with X11 works. If you want me to do some tests, even compiling a special version of the SDL library or something, let me know. I am going to test this disabling XDM (using startx at console) or using that MIT_MAGIC_COOKIE-1 and I'll let you know... Hi, some tests: 1. Disabled XDM. Login in console and running 'startx'. The program works without having to link with X11. 2. Enabled XDM. Added 'DisplayManager*authName: MIT-MAGIC-COOKIE-1' to /etc/X11/xdm/xdm-config.The program works without having to link with X11. 3. Enabled XDM without 'DisplayManager*authName: MIT-MAGIC-COOKIE-1' in /etc/X11/xdm/xdm-config . I get the authentication error unless I link with X11. Hi, I come back to this again :)
This time I tested with 2.0.4 .
I saw that you already had a workaround in the file SDL_x11video.c :
#if defined(__osf__) && defined(SDL_VIDEO_DRIVER_X11_DYNAMIC)
/* On Tru64 if linking without -lX11, it fails and you get following message.
* Xlib: connection to ":0.0" refused by server
* Xlib: XDM authorization key matches an existing client!
*
* It succeeds if retrying 1 second later
* or if running xhost +localhost on shell.
*/
if (data->display == NULL) {
SDL_Delay(1000);
data->display = X11_XOpenDisplay(display);
}
#endif
I recompiled SDL changing the first line to:
#if defined(SDL_VIDEO_DRIVER_X11_DYNAMIC)
to enable that workaround for me. With that, it worked ok. The message 'XDM authorization key matches an existing client!' is still printed on the console, but after one second the program launches.
It seems that this happens if you use the XDM. Perhaps this workaround can be enabled not only for __osf__ ?
Thank you very much.
This workaround is enabled for all platforms: https://hg.libsdl.org/SDL/rev/1017272c981f I still don't know why linking with X11 matters... ? |