Correction: not _epoll_, but _poll_. Again, it was a hack at trouble-shooting and may be unrelated.
Sorted Sauerbraten strace log snip: --- 11 poll([{fd=7, events=POLLIN}], 1, -1) = 1 ([{fd=7, revents=POLLIN}]) 11 poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}]) 11 poll([{fd=8, events=POLLIN}], 1, -1) = 1 ([{fd=8, revents=POLLIN}]) 11 poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}]) ---
Generated by stracing sauerbraten in fullscreen mode, counting 10 rogue mouse pointer flickers, and exiting game.
Correction: not _epoll_, but _poll_. Again, it was a hack at trouble-shooting and may be unrelated.
Sorted Sauerbraten strace log snip: POLLIN| POLLOUT} ], 1, -1) = 1 ([{fd=7, revents=POLLOUT}]) POLLIN| POLLOUT} ], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
---
11 poll([{fd=7, events=POLLIN}], 1, -1) = 1 ([{fd=7, revents=POLLIN}])
11 poll([{fd=7, events=
11 poll([{fd=8, events=POLLIN}], 1, -1) = 1 ([{fd=8, revents=POLLIN}])
11 poll([{fd=8, events=
---
Generated by stracing sauerbraten in fullscreen mode, counting 10 rogue mouse pointer flickers, and exiting game.