I'm not a tech savvy person so can't decide whether it is a distro specific issue or a bug in the latest Nvidia drivers (both 285.xx and 290.06 are affected). What I'm sure it's not a Wine issue because at least one native Linux game is also affected (Bzflag, from the Fedora repos).
The problem: since I've upgraded to F16 I noticed that many of my games under Wine are segfaulting on start, while others seem to run fine. This affects at least 20-30% of my Windows games. There was no such problem on F15 and with Nvidia 280.13.
A typical backtrace looks like this in Wine:
Backtrace:
=>0 0x6800cdb4 _dl_relocate_object+0xd74() in ld-linux.so.2 (0x0033ef48)
1 0x680143ab dl_open_worker+0x2aa() in ld-linux.so.2 (0x00000000)
0x6800cdb4 _dl_relocate_object+0xd74 in ld-linux.so.2: movl %edi,0x0(%ecx,%edx,1)
A more verbose backtrace with glibc debug symbols installed can be found here:
http://pastebin.com/4urDVEd2
I discussed the issue with some of the developer guys in the winehq IRC channel, and after doing some tests and debugging, they came to the conclusion that "ld can't relocate the nvidia gl libs on f16". I don't know what does this exactly mean, and I wonder if anyone else observed similar problems on F16 and with the latest Nvidia drivers.
The native Linux game, Bzflag can also be used to reproduce the problem: it segfaults after starting.
I found a workaround to the problem: after reinstalling the Nvidia drivers, I had to disable prelinking on the Nvidia libs. So I placed these lines in /etc/prelink.conf:
-b /usr/lib/nvidia
-b /usr/lib/nvidia/tls
-b /usr/lib/libGL*
I'm not sure exactly which libs should be omitted from prelinking, so I added all the above ones.
Fedora 16 x86
Kernel 3.1.0-7.fc16.i686.PAE
Nvidia 250 GTS
Nvidia proprietary drivers 290.06


Reply With Quote
