Skip to content

A crude workaround for the "Will init net" hang in X-Plane 11 running on recent Linux kernels.

Notifications You must be signed in to change notification settings

datafl4sh/xpfix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

X-Plane 11 gets stuck on "Will init net" on Linux kernels >= 6.9 and this apparently happens because of netlink API modifications (don't break the user space they say...).

Normally this is worked around by starting X-Plane with --disable_networking, but in that way you lose all the flight model data output to the network (for example). With this workaround, X-Plane network data output capabilities are preserved.

A quick strace shows that it is on a recvfrom() on a netlink socket where X-Plane gets stuck:

  socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE) = 90
  getpid()                                = 1923236
  sendto(90, [{nlmsg_len=24, nlmsg_type=0x16  [cut]
  recvfrom(90, [[{nlmsg_len=72, nlmsg_type=RTM_NEWADDR, [cut] 
  recvfrom(90,    <--gets stuck here

The idea is to track all the socket() calls requesting an AF_NETLINK socket and to make the subsequent sendto() fail if nlmsg_type is equal to 0x16. This code does this in an absolutely not thread safe way, therefore it could break at any time. I noticed that X-Plane apparently keeps working correctly if we just return -1 to all the socket(AF_NETLINK, ...) calls, so this could be an harsher but safer way to work around the hang. Good luck.

To compile:

     gcc -O3 -shared -o xpfix.so xpfix.c

To use: drop xpfix.so in the same directory of the X-Plane executable and run with

     LD_PRELOAD=./xpfix.so ./X-Plane-x86_64

If you own XPlane via Steam, set the launch option to: (it doesn't work with a space in the path)

    LD_PRELOAD="/path/to/xpfix.so" %command%

About

A crude workaround for the "Will init net" hang in X-Plane 11 running on recent Linux kernels.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages