Thanks cardinal maybe that will help me -- on my last install I chose the musl variant of Void amd64, hoping to reproduce the working environment that I have on OpenBSD (cwm window manager, occasionally switching to gnome 3.24 or xmonad). It disappointed me to find that slim could not initiate a session and gdm segfaulted. (sddm and lxdm work ok on the musl system). [EDIT] On a clean install of Void/musl slim works just perfectly!
pin may have the best advice; it may be time to stop struggling with slim. I even had to abandon it on OpenBSD where it now aborts its startup if it is enabled in rc.conf but can be successfully started from the command line. I found that a nice approach is to use xdm and let my ~/.xinitrc start cwm. cwm supports easy switching to any other window manager or DE. xdm is rock solid reliable. (I use a display manager so that no user is normally logged in on a console and when I put my computer to sleep it is impossible to resume operation, in the gui or in a console, without entering a password). Using startx leaves the computer physically insecure against an intruder, even if you do use a screen locker to lock the gui when away from the office.
[EDIT] I installed the glibc variant of void, alongside my musl void, and installed slim with a .xinitrc much like the OP. Slim ran fine and logged me into my fluxbox session. (and slim looks quite nice with the slim-void-theme). The only differences I see from what he did was (1) I don't start consolekit from /var/service, just dbus -- I let slim handle consolekit, and (2) I don't use ck-launch session in my .xinitrc, just
exec dbus-launch --sh-syntax --exit-with-session "$1"