PA standalone launcher fails while works through steam

Discussion in 'Mac and Linux' started by gillza, March 5, 2014.

  1. gillza

    gillza Member

    Messages:
    42
    Likes Received:
    18
    Hello,

    I haven't played on Linux in a few weeks and decided to update the game and play yesterday. Downloaded the standalone package from Uber, extracted and... it fails to load the game. I get dark screen, and nothing else.

    Installed steam and downloaded the game and all works. Anyone else experienced something similar? Where else besides /home/user/.local does game store settings/data/configs (maybe I should start from scratch with standalone)?
  2. DeathByDenim

    DeathByDenim Post Master General

    Messages:
    4,328
    Likes Received:
    2,125
    This might be a libudev issue. Maybe Steam provides that for you. You can check the log in ~/.local/Uber Entertainment/Planetary Annihilation/log. Does it mention anything about libudev when you get the black screen? Alternatively, you can look in the PA install folder. There should be a host folder there. Does it contain a symlink called libudev.so.0? If not, they you need to create it. See bug FS#2024 for workarounds.
    gillza likes this.
  3. gillza

    gillza Member

    Messages:
    42
    Likes Received:
    18
    Thank you for the link. Interestingly this was not an issue before.

    Inserted this into coherent_ui and all works now

    #!/bin/bash

    function check_udev {
    ldconfig -p | grep libudev.so.0 > /dev/null
    return $?
    }
    HOST_DIR=`dirname "$0"`
    if [ -n "$LD_LIBRARY_PATH" ]
    then
    export LD_LIBRARY_PATH="$HOST_DIR":$LD_LIBRARY_PATH
    else
    export LD_LIBRARY_PATH="$HOST_DIR"
    fi

    if ! (check_udev || [ -e "$HOST_DIR/libudev.so.0" ] )
    then
    UDEV_SO_LIST=( $(ldconfig -p | grep libudev.so.1 | sed -e 's/.*=>\s*//') )
    if [ ${#UDEV_SO_LIST[@]} = 0 ]; then
    echo "Could not find libudev.so.1"
    fi

    for UDEV_SO in "${UDEV_SO_LIST[@]}"
    do
    if file -L $UDEV_SO | fgrep 'ELF 64-bit' &>/dev/null; then
    ln -s "$UDEV_SO" "$HOST_DIR/libudev.so.0"
    break
    fi
    done
    fi

    exec -a "$0" "$HOST_DIR/CoherentUI_Host.bin" "$@"
  4. DeathByDenim

    DeathByDenim Post Master General

    Messages:
    4,328
    Likes Received:
    2,125
    Yeah, it's kind of odd. That bug has been around for a while now. It all depends on the output of ldconfig. If there are multiple libraries the stock script fails. Maybe you recently installed 32-libs for some application? Anyway, glad it works now. :)

    By the way, put code between [ code] and [ /code] blocks. It's prettier. :)

Share This Page