I hope this question is ok here. It’s about gaming on Linux after all so I figured here should be appropriate but if not I apologize and would kindly request someone point me to the right place. I already posted this at r/pcmasterrace but was suggested to post in a Linux focused subredit (which makes sense, should have done that right away)

My situation is a bit special. I am currently running Fedora 39 on a Ryzen 7800X3D. I just recently moved to Linux from Windows a bit under 2 months ago so I don’t have much experience there and my system was still built with Windows in mind.

I’m still playing Ragnarok Online, an ancient MMO from 2002 that I run through CrossOver, so basically WINE. I play this using many accounts so I’m used to just having 8 clients open and 7-8 connected to the servers, which never was a problem on Windows (plus playing modern games with all those RO clients sitting in the background). Now, running this through compatability layers on Linux seems to put really hefty strain on the CPU. I tried this with a few CPUs and basically, it seems to directly correlate with amount of CPU cores. I was able to open 6 clients on a Ryzen 7600 and hit 95-100% CPU load, any additional clients would cause the game to perform really poorly to the point of being unplayable (and rather choppy even with a few less clients) and randomly disconnect clients every other minute. The 7800X3D behaves the same except with a base line of 8 clients instead of 6 and on another Ryzen 3900XT system, I was able to add yet more clients, although the older CPU seems to struggle more with running the game smoothly even with a few less clients open. Even if I reduce amount of clients by a few, the game is not running very smoothly with several open, especially when doing other things on the side such as recording gameplay. Performance with just a few clients open is perfectly fine, though.
That aside, I’m of course still playing modern games, which is why I initially got the 7800X3D.

Now I was thinking about upgrading my CPU to something more “many RO clients friendly” aka. more cores but I’m unsure about what CPU would make the most sense here. I understand Linux doesn’t have the ability to split load across the different CCDs the way Windows does. What I am wondering now is how well the 3D V-Cache on the Ryzen 7950X3D works under Linux and whether it would make sense to go with that CPU or if maybe the regular 7950X would make more sense in a core heavy Linux scenario.

Some input would be appreciated. Thanks in advance!

  • Scill77@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    but it’s very complicated

    I would not say so. It’s just one launch option WINE_CPU_TOPOLOGY specifying on what cores the game is going to run. Same as gamemode or mangohud.

    • gardotd426@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      gamemoderun %command or mangohud %command% are NOT the same as WINE_CPU_TOPOLOGY=0,16,1,17,2,18,3,19,4,20,5,21,6,22,7,23 which requires using lstopo to confirm you’re using the correct core numbers, which also forces you to run all games with only 8 cores/16 threads, so half your cores aren’t even able to touch the game whatsoever.

      Not to mention the fact that you also have to do a completely different thing, using taskset, for native titles.

      Is it complicated for me? No, because I’m a power user. Is it going to be complicated for the vast majority of users? 100%. And OP is one of them.

      • Salander27@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        But you can literally just combine that as WINE_CPU_TOPOLOGY=0,16,1,17,2,18,3,19,4,20,5,21,6,22,7,23 gamemoderun %command%, same as setting any environmental variable to be passed to the game. You’re making it out to be more complicated than it is.

        Also, I disagree with your assessment to stick with the 7950x or the 7800x3d. If you want more CPU power AND you want to game then the 7950x3d is still a great option. It’s generally more efficient than the 7950x while performing about the same in CPU tasks. If you have a game that you think can benefit from the 3d-vcache then you can limit the core topology for that game. You get the best of both worlds.