Jump to content

AMD Ryzen, Threadripper user, read before posting


OptimusShepard
 Share

Recommended Posts

The current alpha 23b has some problems with the new Ryzen CPUs.

First problem ist the correct hardware detection. This leads to an crash by starting the game.

Second problem are random slowdowns and speedups while playing the game.

Both problems will be addressed with the next alpha 24. Until than the game has to be individually patched. Follow the instructions below.

 

Windows:

Replace the files of

%localappdata%\0 A.D. alpha\binaries\system

by the files of system.zip

 

system.zip

 

Linux (and Windows self builder):

Some of the distribution like Arch have already backported the patch (only Ryzen) for the first problem.

To solve the second problem, or if your distribution hasn't backported, you need to build the game by yourself.

https://trac.wildfiregames.com/wiki/BuildInstructions

https://trac.wildfiregames.com/wiki/BuildInstructionsGettingTheCode

https://code.wildfiregames.com/D3031

https://code.wildfiregames.com/D3066 (Linux)

https://code.wildfiregames.com/D2726 (Windows)

https://code.wildfiregames.com/D1789 (Threadripper)

The revision number of a23b is r21946.

 

If you have any further problems, feel free to open an new thread or to post on an existing thread. Every feedback is welcome.

Edited by OptimusShepard
Replacing D2353 by D3031. Adding D1789
Link to comment
Share on other sites

  • Stan` pinned this topic

Hm, as no one else have a Threadripper, no one can debug it. I have my self only a Ryzen. But maybe we could fix it anyway.

The crashlog you posted in the other thread, was that the first one? With an Ryzen you can press continue (I think 3 times) until you are in the windowed game. Pressing continue will oberwrite the other crashreports.

The first crash shows me (in my machine) something like "cache.validate". Do you get something like that, or did you break, so this was your first report?

  • Like 1
Link to comment
Share on other sites

Hey Friends!

I have tried the instructions above but neither the commands failed nor I couldn't load the files.

There is not much on the internet about this topic and I have read (I think) all search results I could find.

I changed my CPU to a Ryzen 5 3600 yesterday and yeah.... You probably know what happened. I updated the kernel of my Ubuntu 20 and installed the AMDgpu driver just in case but the problem  is apparently the CPU.
I can run the game 0AD after getting the mentioned crash report and it works as i tested it for a couple minutes on a big saved map but its only in windowed mode and no way to get fullscreen as before the CPU change.

I want to make a 0AD LAN "party" on Saturday so it would be nice to get it fixed.

Please give me an easy advice/manual for a beginner though I am not but still having probs understanding developer language sometimes.

 

Thanks a lot and cu

Screenshot from 2020-06-24 18-10-47.png

Edited by Kouper
Link to comment
Share on other sites

Hey @Kouper

Sorry you are experiencing such issues. to fix them you will have to compile the game yourself. To do so you need to follow the instructions here. You will need to install a bunch of dependencies, and to download the source code like shown here. To be able to play with your fellow friends you will need to checkout a special revision. You might want to do both steps at once because it's gonna take some time.

$ svn co -r21946 https://svn.wildfiregames.com/public/ps/trunk/ 0ad

then you'll need to patch the game using the following patch patch.diff Copy it in the 0ad folder.

$ cd 0ad
$ patch -p0 < patch.diff

then after you installed the dependencies and applied the patch you can run a script such as this one

#!/bin/sh
cd "0ad"
svn up
jobs=`nproc`
jobs=`expr $jobs + 1`
SVN_REV=`svnversion -n`
echo L\"${SVN_REV}-dev\" > build/svn_revision/svn_revision.txt
echo "Updating workspaces with $jobs jobs..."
cd build/workspaces
sh update-workspaces.sh -j$jobs > ../../../build-libs.log 
cd gcc
echo "Building pyrogenesis with $jobs jobs..."
make CXXFLAGS="-std=c++11 -march=native" -j$jobs  > ../../../../build.log
cd ../../../../

 

That should do the trick. Be patient and take your time, and you should have a working game in no time.

 

 

  • Confused 1
Link to comment
Share on other sites

Hey again,

I have tried again the instructions but get either the massage "command not found" or "E: Unable to locate package" and installing the 0ad-dbgsym_0.0.24~r23742-0ubuntu1~20.04~wfg0_amd64.ddeb or 0ad-dbgsym_0.0.24~r23742-0ubuntu1~20.04~wfg0_arm64.ddeb didn't work either. :(

I tried the fix for Windows and it was way toooo easy. Just downloading a folder, copying and replace the old one and DONE! Isn't there any similar solution for Ubuntu 20.04??? Because first, I love LINUX and secondly I realized Windows didn't' work as well as Ubuntu.

Haha live could be so easy, but its not xD

THANKS ANYWAY!!

Edited by Kouper
Link to comment
Share on other sites

1 hour ago, Kouper said:

Hey again,

I have tried again the instructions but get either the massage "command not found" or "E: Unable to locate package" and installing the 0ad-dbgsym_0.0.24~r23742-0ubuntu1~20.04~wfg0_amd64.ddeb or 0ad-dbgsym_0.0.24~r23742-0ubuntu1~20.04~wfg0_arm64.ddeb didn't work either. :(

I tried the fix for Windows and it was way toooo easy. Just downloading a folder, copying and replace the old one and DONE! Isn't there any similar solution for Ubuntu 20.04??? Because first, I love LINUX and secondly I realized Windows didn't' work as well as Ubuntu.

Haha live could be so easy, but its not xD

THANKS ANYWAY!!

Where did you get those packages from?

Good to know that the fix also work on ThreadRippers!

Link to comment
Share on other sites

  • 3 months later...

Hello,

i love this game, but since i got my new pc last year, i am unable to play it.

I run arch linux, which supposedly has the necessary patches backported, but 0ad still fails to run on my Threadripper 1950x cpu. Is there anything i can do to resolve this issue?

Edited by django
Link to comment
Share on other sites

1 hour ago, django said:

Hello,

i love this game, but since i got my new pc last year, i am unable to play it.

I run arch linux, which supposedly has the necessary patches backported, but 0ad still fails to run on my Threadripper 1950x cpu. Is there anything i can do to resolve this issue?

Do you have a crash log, or crash description?

Link to comment
Share on other sites

21 hours ago, OptimusShepard said:

Do you have a crash log, or crash description?

sure, thanks for asking:

 

 TIMER| InitVfs: 1.82007 ms
Writing the mainlog at /home/user/.config/0ad/logs/mainlog.html
TIMER| CONFIG_Init: 1.75588 ms
Sound: AlcInit success, using OpenAL Soft
TIMER| shutdown ConfigDB: 0.19 us
TIMER| resource modules: 2.90954 ms
TIMER TOTALS (9 clients)
-----------------------------------------------------
  tc_pool_alloc: 0 c (0x)
  tc_png_decode: 0 c (0x)
  tc_dds_transform: 0 c (0x)
  tc_transform: 0 c (0x)
  tc_plain_transform: 0 c (0x)
  tc_ShaderGLSLLink: 0 c (0x)
  tc_ShaderGLSLCompile: 0 c (0x)
  tc_ShaderValidation: 0 c (0x)
  xml_validation: 0 c (0x)
-----------------------------------------------------
TIMER| shutdown misc: 101.653 us
TIMER| InitVfs: 66.7912 ms
Writing the mainlog at /home/user/.config/0ad/logs/mainlog.html
TIMER| CONFIG_Init: 907.627 us
Sound: AlcInit success, using OpenAL Soft
cache.cpp(54): Assertion failed: "tlb.Validate()"
Assertion failed: "tlb.Validate()"
Location: cache.cpp:54 (AddTLB)

Call stack:

(0x55efad2cd026) /usr/bin/pyrogenesis(+0x5f9026) [0x55efad2cd026]
(0x55efad27dc82) /usr/bin/pyrogenesis(+0x5a9c82) [0x55efad27dc82]
(0x55efad27f207) /usr/bin/pyrogenesis(+0x5ab207) [0x55efad27f207]
(0x55efad27f793) /usr/bin/pyrogenesis(+0x5ab793) [0x55efad27f793]
(0x55efad2c4f37) /usr/bin/pyrogenesis(+0x5f0f37) [0x55efad2c4f37]
(0x55efad2c53f7) /usr/bin/pyrogenesis(+0x5f13f7) [0x55efad2c53f7]
(0x55efad2c5735) /usr/bin/pyrogenesis(+0x5f1735) [0x55efad2c5735]
(0x55efad2c5abe) /usr/bin/pyrogenesis(+0x5f1abe) [0x55efad2c5abe]
(0x55efad2fe3d3) /usr/bin/pyrogenesis(+0x62a3d3) [0x55efad2fe3d3]
(0x55efad2c581f) /usr/bin/pyrogenesis(+0x5f181f) [0x55efad2c581f]
(0x55efad2c758b) /usr/bin/pyrogenesis(+0x5f358b) [0x55efad2c758b]
(0x55efad2fe3d3) /usr/bin/pyrogenesis(+0x62a3d3) [0x55efad2fe3d3]
(0x55efad2c717b) /usr/bin/pyrogenesis(+0x5f317b) [0x55efad2c717b]
(0x55efacf7c401) /usr/bin/pyrogenesis(+0x2a8401) [0x55efacf7c401]
(0x55efacf7263e) /usr/bin/pyrogenesis(+0x29e63e) [0x55efacf7263e]
(0x55efacd7a306) /usr/bin/pyrogenesis(+0xa6306) [0x55efacd7a306]

errno = 0 (Invalid alignment)
OS error = ?

 

Edited by django
Link to comment
Share on other sites

11 hours ago, django said:

sure, thanks for asking:

I'm a bit confused, I was thinking, that the cache errors only occur on the new Threadripper 3000 series. I made a new workaround, which should prevent from crashing because of cache detection. But you would need to build the game by your own. Could you build it?

The revision number of a23b is r21946. You need the new patch D3031. I'm not sure, if the Threadrippers always needs the patch D1789, but I guess, it shouldn't hurt to take this patch too.

Link to comment
Share on other sites

19 hours ago, OptimusShepard said:

I'm a bit confused, I was thinking, that the cache errors only occur on the new Threadripper 3000 series. I made a new workaround, which should prevent from crashing because of cache detection. But you would need to build the game by your own. Could you build it?

I will try to build it with the patches you mentioned, thanks. :)

Link to comment
Share on other sites

Today i failed at compiling.  I tried to apply https://code.wildfiregames.com/D2745 to fix this, but compilation still fails, maybe i am doing something wrong. Will try again tomorrow.

 

/usr/bin/ld: ../../../libraries/source/fcollada/lib/libFColladaSR.a(FAXInstanceExport.o): in function `FArchiveXML::WritePhysicsRigidBodyInstance(FCDObject*, _xmlNode*)':
FAXInstanceExport.cpp:(.text+0xc46): undefined reference to `_xmlNode* FArchiveXML::AddPhysicsParameter<FMVector3, 0>(_xmlNode*, char const*, FCDParameterAnimatableT<FMVector3, 0>&)'
/usr/bin/ld: FAXInstanceExport.cpp:(.text+0xc5d): undefined reference to `_xmlNode* FArchiveXML::AddPhysicsParameter<FMVector3, 0>(_xmlNode*, char const*, FCDParameterAnimatableT<FMVector3, 0>&)'

 

Link to comment
Share on other sites

I succeeded at compiling.

Instead of checking out a23b, i checked out everything until (and including) https://code.wildfiregames.com/D2745 and then i applied the two patches you mentioned. While this was not as recommended, the compilation was successful and the game can now be started on my Threadripper 1950x.

I have no idea, how stable this will be for game-play, but at least i can confirm, that the patches made the game start-able. :)

Thanks a lot so far. Any additional hints are welcome.

Edited by django
Link to comment
Share on other sites

  • Stan` unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...