lutris / wine

Repository containing source code for various Lutris Wine builds
Other
142 stars 23 forks source link

Wine doesn't start on Core 2 CPU #115

Closed CmdrHope closed 2 years ago

CmdrHope commented 2 years ago

I already mentioned this on the Lutris Forums but I did some further testing.

When trying to run or install anything using lutris-6.10-3-x86_64 or later on my machine (Core 2 Quad Q9650) wine doesn't even start properly (see lutris -d). Now I enabled 'show crash dialogs' in the runner options and got this nice backtrace.txt when trying to run something on wine.

It seems there is an illegal instruction called in wineboot.c line 295 which looks like this: "tsc0 = __rdtscp(&aux);" After some googling I learned that the RDTSCP extension was introduced by Intel with the Nehalem infrastructure, so it isn't present in any Core 2 or earlier Intel CPU. AMD introduced the extension in the later K8 infrastructure and it isn't present in the early Athlon 64 or earlier AMD CPUs.

The line of code is present since lutris-6.9 but doesn't seem to be called since lutris-6.10-3 on my machine. So I think there should be a proper cpuid check which prevents wine from calling CPU features which the CPU it's running on doesn't support. I hope this can be implemented in future lutris wine releases. (Btw.: Proton and Wine from WineHQ doesn't seem to have this issue)

tannisroot commented 2 years ago

I am confused, is 6.9 affected or not?

CmdrHope commented 2 years ago

Sorry, didn't want to confuse. 6.10-3 is the first release which actually fails on startup.

6.10-2 and earlier don't fail on startup on my machine. I could't find a binary release for 6.9 to actually test it, but 6.10 and 6.10-2 do startup without failure.

I just found it strange that the same line of code which fails from 6.10-3 onward is already present in the source code since 6.9, but that doesn't need to mean anything.

tannisroot commented 2 years ago

I'm hoping this is fixed in the upcoming lutris-6.21

tannisroot commented 2 years ago

Please retest with Lutris Wine 6.21

CmdrHope commented 2 years ago

Ok, I tested both lutris-6.21 and lutris-fshack-6.21 with a few games and now they all start without error. Excellent! I guess this issue can be closed now. Thank you for the fix!