Go Back   Champions of Regnum > English > Technical Support > Linux

Linux Technical issues under Linux platform

Reply
 
Thread Tools Display Modes
Old 08-11-2016, 07:56 PM   #21
Adrian
NGD·Studios
 
Adrian's Avatar
 
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,760
Adrian will become famous soon enoughAdrian will become famous soon enough
Default

Well, we finally got to the real problem!

You never had a 64-bit version working in the past. We released the 64-bit version in Steam some weeks ago. You were running the 32-bit version and everything was fine until we made available the 64-bit one.

Even if we set the flag to avoid lahf/sahf, LuaJIT needs it and, of course, adds it.

The possible solutions would be:

- Downloading the 32-bit installer from our website and play outside Steam.
- Find a way (I don't know if it's possible) to force Steam to use the 32-bit architecture for CoR.

So, there is no way for us to fix it. Sorry!
__________________
Adrian no ha iniciado sesión   Reply With Quote
Old 08-11-2016, 08:47 PM   #22
_Enio_
Marquis
 
_Enio_'s Avatar
 
Join Date: Aug 2007
Location: Germany
Posts: 1,843
_Enio_ will become famous soon enough
Default

I was curious, and turned out - there is another option.

However first a quick note - even when supplying "-mno-sahf" to gcc when compiling LuaJIT - it will not remove it - because it is INLINE asm, this will be translated verbatim.

So what are we using.
Code:
[enio@thinkpad ~]$ cd regnum/live; strings game | grep LuaJ
LuaJIT 2.0.2
Have to say i checked 2.0.4 first, thats why i tested 2.0.3 too if it already works:
Code:
[enio@thinkpad LuaJIT-2.0.2]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem
    2924:    dd 42 08                 fldl   0x8(%rdx)
    2927:    dd 02                    fldl   (%rdx)
    2929:    d9 f8                    fprem  
    292b:    df e0                    fnstsw %ax
    292d:    9e                       sahf   
    292e:    7a f9                    jp     2929 <lj_ff_math_fmod+0x28>

[enio@thinkpad LuaJIT-2.0.3]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem
    2921:    dd 42 08                 fldl   0x8(%rdx)
    2924:    dd 02                    fldl   (%rdx)
    2926:    d9 f8                    fprem  
    2928:    df e0                    fnstsw %ax
    292a:    9e                       sahf   
    292b:    7a f9                    jp     2926 <lj_ff_math_fmod+0x28>

[enio@thinkpad LuaJIT-2.0.4]$ objdump -d src/libluajit.a | grep -A3 -B2 fprem
    291f:    dd 42 08                 fldl   0x8(%rdx)
    2922:    dd 02                    fldl   (%rdx)
    2924:    d9 f8                    fprem  
    2926:    df e0                    fnstsw %ax
    2928:    66 25 00 04              and    $0x400,%ax
    292c:    75 f6                    jne    2924 <lj_ff_math_fmod+0x28>
Isnt that funny? Thats the only occurrence of remainder calculation in LuaJIT, and they changed it in 2.0.4 (current stable release) to use and instead of sahf (which does the same as test in the other thread, maybe its faster).

Here is the github commit in question, sadly no reasoning stated, however its labelled "x86/x64: Avoid use of SAHF instruction." (https://github.com/LuaJIT/LuaJIT/com...412c20c3eb0128)

tl;dr: SHAF is not used anymore in LuaJit since version 2.0.4, so get it updated! :P
__________________
Fix the Marksman subclass: Suggestion
_Enio_ no ha iniciado sesión   Reply With Quote
Old 08-11-2016, 09:02 PM   #23
Adrian
NGD·Studios
 
Adrian's Avatar
 
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,760
Adrian will become famous soon enoughAdrian will become famous soon enough
Default

Quote:
Originally Posted by _Enio_ View Post
tl;dr: SHAF is not used anymore in LuaJit since version 2.0.4, so get it updated! :P
OMG, I feel ashamed

Tomorrow we will test updating it and see if everything still works, ha!
__________________
Adrian no ha iniciado sesión   Reply With Quote
Old 08-11-2016, 09:44 PM   #24
_Enio_
Marquis
 
_Enio_'s Avatar
 
Join Date: Aug 2007
Location: Germany
Posts: 1,843
_Enio_ will become famous soon enough
Default

Quote:
Originally Posted by Adrian View Post
OMG, I feel ashamed

Tomorrow we will test updating it and see if everything still works, ha!
Lol, don't be! It was a lucky find driven by curiosity on the workings of the "-no-sahf" switch.

In case there are incompatibilities regarding other changes in 2.0.3/2.0.4 - it should be very easy to cherry pick this change into 2.0.2 too.

Good luck!
__________________
Fix the Marksman subclass: Suggestion

Last edited by _Enio_; 08-11-2016 at 09:45 PM. Reason: typo
_Enio_ no ha iniciado sesión   Reply With Quote
Old 08-13-2016, 07:28 PM   #25
Adrian
NGD·Studios
 
Adrian's Avatar
 
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,760
Adrian will become famous soon enoughAdrian will become famous soon enough
Default

Quote:
Originally Posted by _Enio_ View Post
Lol, don't be! It was a lucky find driven by curiosity on the workings of the "-no-sahf" switch.

In case there are incompatibilities regarding other changes in 2.0.3/2.0.4 - it should be very easy to cherry pick this change into 2.0.2 too.

Good luck!
Good news. It works and sahf is not there anymore. We'll be uploading this on Monday and I'll let you know here so you can test.
__________________
Adrian no ha iniciado sesión   Reply With Quote
Old 08-13-2016, 08:32 PM   #26
_Enio_
Marquis
 
_Enio_'s Avatar
 
Join Date: Aug 2007
Location: Germany
Posts: 1,843
_Enio_ will become famous soon enough
Default

Quote:
Originally Posted by Adrian View Post
Good news. It works and sahf is not there anymore. We'll be uploading this on Monday and I'll let you know here so you can test.
Awesome, thanks for the update.
__________________
Fix the Marksman subclass: Suggestion
_Enio_ no ha iniciado sesión   Reply With Quote
Old 08-15-2016, 11:14 AM   #27
Adrian
NGD·Studios
 
Adrian's Avatar
 
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,760
Adrian will become famous soon enoughAdrian will become famous soon enough
Default

We uploaded the 64-bit version with the changes to our experimental repository. Lebeau, please tick in your launcher advanced options "Use experimental client" and let us know if the problem is gone. Thanks!
__________________
Adrian no ha iniciado sesión   Reply With Quote
Old 08-15-2016, 01:30 PM   #28
Lebeau
Banned
 
Lebeau's Avatar
 
Join Date: Oct 2011
Location: 'B-F-Egypt', Virginia, U.S.A. (please pity & forgive us poor american fools!).
Posts: 605
Lebeau is on a distinguished road
Red face

Quote:
Originally Posted by Adrian View Post
We uploaded the 64-bit version with the changes to our experimental repository. Lebeau, please tick in your launcher advanced options "Use experimental client" and let us know if the problem is gone. Thanks!
Adrian, Enio, I'm extremely grateful for all of your time & effort that have been expended on my (& perhaps others') behalf in this matter, & I truly thank you both very much indeed. There's currently a hitch of sorts though, entirely on my end. Currently, I'm away from home & desktop, with only a tablet for internet access, & so, cannot test this revamped 64-bit game version. Regrettably, I'll be away for another two weeks, but will install, test it, & then, post my findings here as soon as I get settled back in at home. I duly apologize for being the roadblock in this & for this unavoidable delay, but summer vacation at the lake, cookouts, vino & an exceptionally large & comfy hammock hung in the shade are not at all to be missed if at all possible..../me raises glass in salute....

Lebeau no ha iniciado sesión   Reply With Quote
Old 08-15-2016, 05:05 PM   #29
_Enio_
Marquis
 
_Enio_'s Avatar
 
Join Date: Aug 2007
Location: Germany
Posts: 1,843
_Enio_ will become famous soon enough
Default

Quote:
Originally Posted by Adrian View Post
We uploaded the 64-bit version with the changes to our experimental repository.
I can confirm the absence of that evil sahf instruction, and i did not notice any side effects on my machine (A recent intel i5 cpu).

Code:
[15/08/2016 19:03:59] [ClientBase][client_base.cpp(343)] Client build: 39674
[enio@thinkpad live]$ strings game | grep LuaJ
LuaJIT 2.0.4
[enio@thinkpad live]$ objdump -d game | grep sahf
[enio@thinkpad live]$
Thank you Adrian!
__________________
Fix the Marksman subclass: Suggestion
_Enio_ no ha iniciado sesión   Reply With Quote
Old 08-15-2016, 08:43 PM   #30
Adrian
NGD·Studios
 
Adrian's Avatar
 
Join Date: May 2007
Location: Wien, Österreich
Posts: 2,760
Adrian will become famous soon enoughAdrian will become famous soon enough
Default

Quote:
Originally Posted by _Enio_ View Post
I can confirm the absence of that evil sahf instruction, and i did not notice any side effects on my machine (A recent intel i5 cpu).

Code:
[15/08/2016 19:03:59] [ClientBase][client_base.cpp(343)] Client build: 39674
[enio@thinkpad live]$ strings game | grep LuaJ
LuaJIT 2.0.4
[enio@thinkpad live]$ objdump -d game | grep sahf
[enio@thinkpad live]$
Thank you Adrian!
Thank you for your stoic help!
__________________
Adrian no ha iniciado sesión   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:24 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, vBulletin Solutions, Inc.
NGD Studios 2002-2016 © All rights reserved