Possible to manually "start X" instead of -XstartOnFirstThread?

Hello.

I’ve made this fancy-schmancy GLFW event handling system with LWJGL 3 that dedicates a thread to input processing while respecting all the threading limitations of GLFW (trust me, that was hard). I’d fire up a new thread and dedicate it to GLFW commands so that rendering/updating doesn’t affect the responsiveness of the window or input event recording precision. However, when running this code on Mac it’s broken since I need to use the -XstartOnFirstThread VM command… which breaks everything since I want to “start X” (whatever that means) on different thread than the main thread: the dedicated GLFW thread. This leads to the extremely awkward position where I need to do everything backwards, and dedicate the main thread to GLFW and transfer control of the entire game to a new thread instead. This is intrusive as fuck, reduces readability and has already caused hard-to-find bugs for us.

Is there any way of manually doing the equivalent of -XstartOnFirstThread but on a thread of our choosing?