https://bugs.winehq.org/show_bug.cgi?id=55363
Bug ID: 55363 Summary: Wine depends on a manual user intervention to increase the soft limit of file descriptors. Product: Wine Version: 8.11 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: o.dierick@piezo-forte.be Distribution: ---
Hello,
I recently installed Debian 12 after using Debian 8 for years.
After I reproduced my building environment and successfully build the same Wine version as the last built on Debian 8, a game that was working fine in Debian 8 did fail to run on Debian 12 with the error 'too many file descriptors open, you should probably increase ulimit -n'.
The difference is that the default soft/hard limit in Debian 12 is 1024/1048576. In Debian 8 it was 65536/65536. I can increase the soft limit by running 'ulimit -n 65536' before hand and then the game runs fine.
I could not set the soft limit increase to be permanent and I filed a bug at Debian for that, but that's not what this bug is about. After reading a bit about the reason why the soft limit was reduced to 1024 (for compatibility with select()), my understanding is that a program that is more modern and doesn't use select(), should be aware of its file descriptor needs and ask for a higher soft limit. That's what Debian says about its choice to set the soft limit of 1024 and a hard limit of 1048576 by default.
Since the hard limit permits it, I wondered why Wine couldn't increase the soft limit itself. We know that 1024 is not a reasonable amount of file descriptors in this time and day and that a number of windows applications requires more than that. Maybe Wine should set the soft limit to something reasonable itself, rather than requiring the user to set it like explained in the FAQ? It would even be better if it was configurable per-application.
Regards.