1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Steam on non-Ubuntu 64bit...

Discussion in 'General Linux Discussion' started by Kaitain, Feb 9, 2018.

  1. Kaitain

    Kaitain Active Member

    Joined:
    Jul 24, 2016
    Messages:
    363
    Likes Received:
    28
    Trophy Points:
    28
    I've had a happy afternoon playing Civilization V. Sadly, it didn't work out of the box, flashing the screen for a mere moment, then bailing out. Launching Steam from the console, I saw the following:

    Code:
    Civ5XP[5289] general protection ip:f73f32c9 sp:ee29fb14 error:0 in libxcb.so.1.1.0[f73e8000+2a000]
    No problem, I thought, it should be as simple as forcing Steam to use the supplied libraries, rather than the system libraries:

    Code:
    STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam steam://rungameid/8930
    This didn't work. It complained about being unable to find my opengl drivers. So in true "sledgehammer-to-crack-a-nut" style, just delete the steam-provided libraries that are causing me problems, as a normal user:
    Code:
     find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
    ... and now I'm back to:
    Code:
    Civ5XP[5289] general protection ip:f73f32c9 sp:ee29fb14 error:0 in libxcb.so.1.1.0[f73e8000+2a000]
    A little google-fu later, I find a bug report on Arch linux boards that suggests that 32bit compatibility is broken if libxcb is compiled with -O2 optimisation. Interestingly, this affects Fedora as well, and might have been part of Gizmo's trouble with WebEx, which depends on having a working 32bit libxcb.

    In Gentoo, as root:
    Code:
     mkdir -p /etc/portage/env/x11-libs
    nano -w /etc/portage/env/x11-libs/libxcb
    Give libxcb new cflags:
    Code:
    CFLAGS="-O1 -march=bdver4 -mno-fma4 -mno-tbm -mno-xop -mno-lwp -mclzero -madx -mrdseed -mmwaitx -msha -mxsavec -mxsaves -mclflushopt -mpopcnt -pipe"
    CXXFLAGS="${CFLAGS}"
    (Note these elaborate CFLAGs are taken from Gentoo's Ryzen wiki)

    Rebuild libxcb (took about 30s) and everything works!

    Using /etc/portage/env/(stuff) is not new, but is new to me as I've never had cause to use the feature before...
  2. Gizmo

    Gizmo Chief Site Administrator Staff Member

    Joined:
    Dec 6, 2012
    Messages:
    2,080
    Likes Received:
    118
    Trophy Points:
    63
    Location:
    Webb City, Missouri
    Home page:
    cool find, Kaitain!
  3. ThunderRd

    ThunderRd Irreverent Query Chairman Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    1,881
    Likes Received:
    66
    Trophy Points:
    48
    Location:
    Northern Thailand, the Land of Smiles
    Home page:
    I've found it extremely useful when a particular package doesn't want to compile for some reason; once I've found the cause, it's often an environment variable I can assign on a per-package basis.

    On that note, Gizmo, did you ever try Cinnamon again with MAKEOPTS="-jx"?
  4. Gizmo

    Gizmo Chief Site Administrator Staff Member

    Joined:
    Dec 6, 2012
    Messages:
    2,080
    Likes Received:
    118
    Trophy Points:
    63
    Location:
    Webb City, Missouri
    Home page:
    I haven't had a chance to try.
  5. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    7,555
    Likes Received:
    542
    Trophy Points:
    113
    Location:
    Linux, Arizona
    Home page:
    Wow, this is why I avoid Arch when doing guides. I can't imagine a new Linux gamer figuring this out.
  6. cloasters

    cloasters Well-Known Member

    Joined:
    Jul 3, 2013
    Messages:
    3,530
    Likes Received:
    54
    Trophy Points:
    48
    You are THE man Kaitain, thanks for doing all that research and figuring out this issue!
  7. Kaitain

    Kaitain Active Member

    Joined:
    Jul 24, 2016
    Messages:
    363
    Likes Received:
    28
    Trophy Points:
    28
    True, but the target audience wasn't really your average guide reader. (If somebody can't figure out by now, install PoL, install dotnet, install Steam, install game, run game, then they probably shouldn't be trusted with a computer).

    Trying to run Steam on something other than the supported versions of Ubuntu comes with big fat "ignore at your peril" health warnings printed by the Steam installer, on their installation instructions, on their FAQ and on their forums. If you are foolish enough or expert enough to run it on a different system, then the above is the sort of issue you might face. Thankfully there's a lot of help available, so it doesn't have to be too scary.

    Aww thanks! Other people did the clever stuff, I just put it together in one place...
    booman likes this.
  8. cloasters

    cloasters Well-Known Member

    Joined:
    Jul 3, 2013
    Messages:
    3,530
    Likes Received:
    54
    Trophy Points:
    48

    No gainsaying the fact that you are one amazing Linux user. And contributer!
  9. booman

    booman Grand High Exalted Mystic Emperor of Linux Gaming Staff Member

    Joined:
    Dec 17, 2012
    Messages:
    7,555
    Likes Received:
    542
    Trophy Points:
    113
    Location:
    Linux, Arizona
    Home page:
    I'm very thankful there is always help online!
    I wouldn't have gotten very far without Linux forums and would be stuck using Windows for gaming.

Share This Page