Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Blog Ubuntu -- Správa "projektů" české komunity Ubuntu

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

Autor Téma: benchmark.sh - Metro 2033 REDUX  (Přečteno 2596 krát)

majakmp3

  • Člen
  • **
  • Příspěvků: 424
  • Karma: +40/-33
    • Zobrazit profil
benchmark.sh - Metro 2033 REDUX
« kdy: 21 Duben 2016, 11:51:17 »
Zdravím, podařilo se někomu pod Linuxem rozchodit benchmark hry Metro 2033 REDUX?

Hra mi funguje bez problému, nicméně benchmark ihned spadne s chybou segmentation fault.

1) Pokud spustím Steam a až potom spustím benchmark.sh, tak benchmark ihned po iniciaci spadne s chybou segmentation fault:

Kód: [Vybrat]
Setting breakpad minidump AppID = 286690
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197972529053 [API loaded no]
Segmentation fault (core dumped)

2) Pokud Steam není spuštěn, pak se po zadání sh benchmark.sh spustí steam a naběhne hra, nikoliv benchmark:

Kód: [Vybrat]
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
lynx@lynx-Z170-D3H:~/.steam/steam/steamapps/common/Metro 2033 Redux$ Running Steam on ubuntu 15.10 64-bit
STEAM_RUNTIME is enabled automatically
[2016-04-19 19:54:32] Startup - updater built Mar 31 2016 19:10:48
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
[2016-04-19 19:54:32] Ověřování instalace...
[2016-04-19 19:54:32] Verification complete
Installing breakpad exception handler for appid(steam)/version(1459463254)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
[0419/195432:ERROR:main_delegate.cc(777)] Could not load cef_extensions.pak
[0419/195432:ERROR:browser_main_loop.cc(203)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[0419/195432:WARNING:dns_config_service_posix.cc(302)] Failed to read DnsConfig.
Installing breakpad exception handler for appid(steamwebhelper)/version(20160331191033)
Installing breakpad exception handler for appid(steamwebhelper)/version(1459451433)
Installing breakpad exception handler for appid(steamwebhelper)/version(20160331191033)
Installing breakpad exception handler for appid(steamwebhelper)/version(1459463254)
Installing breakpad exception handler for appid(steamwebhelper)/version(1459463254)
[0419/195432:ERROR:main_delegate.cc(777)] Could not load cef_extensions.pak
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Created shared memory when not owner SteamController_Shared_mem
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)

** (steam:1978): WARNING **: Unknown device type 14

** (steam:1978): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/1: unknown object type
Installing breakpad exception handler for appid(steam)/version(1459463254)

** (steam:1978): WARNING **: Ignoring invalid property 'secondaries'

** (steam:1978): WARNING **: Ignoring invalid property 'route-data'

** (steam:1978): WARNING **: Ignoring invalid property 'address-data'

** (steam:1978): WARNING **: Ignoring invalid property 'route-data'

** (steam:1978): WARNING **: Ignoring invalid property 'address-data'
Generating new string page texture 2: 48x256, total string texture memory is 49,15 KB
Generating new string page texture 3: 384x256, total string texture memory is 442,37 KB
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
Installing breakpad exception handler for appid(steam)/version(1459463254)
roaming config store loaded successfully - 7607 bytes.
migrating temporary roaming config store
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
Installing breakpad exception handler for appid(steam)/version(1459463254)
Failed to init SteamVR because it isn't installed
ExecCommandLine: ""/home/lynx/.local/share/Steam/ubuntu12_32/steam" "steam://run/286690/" "-benchmark" "benchmarks\benchmark33" "-bench_runs" "2" "
ExecSteamURL: "steam://run/286690/"
Installing breakpad exception handler for appid(steam)/version(1459463254)
System startup time: 4,13 seconds
Generating new string page texture 71: 256x256, total string texture memory is 704,51 KB
Game update: AppID 286690 "Metro 2033 Redux", ProcID 2095, IP 0.0.0.0:0
ERROR: ld.so: object '/home/lynx/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/lynx/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Running Steam on ubuntu 15.10 64-bit
STEAM_RUNTIME has been set by the user to: /home/lynx/.local/share/Steam/ubuntu12_32/steam-runtime
ExecCommandLine: "/home/lynx/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"
ExecSteamURL: "steam://open/driverhelperready"
Setting breakpad minidump AppID = 286690
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197972529053 [API loaded no]
Installing breakpad exception handler for appid(gameoverlayui)/version(20160331191130)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)

Pokud hru skrze menu ukončím, pak ještě přibude:

Kód: [Vybrat]
Game removed: AppID 286690 "Metro 2033 Redux", ProcID 2207
No cached sticky mapping in ActivateActionSet.

Zkoušel jsem různé verze ubuntu:

Xubuntu 14.04.2
Xubuntu 14.04.4
Ubuntu 14.04.4
Xubuntu 15.10
Xubuntu 16.04 daily build z 19.4. i beta 2
Všechny zkoušené distribuce byly 64 bit, většina instalována na GPT ext4, ve dvou případech MBR ext4.

To znamená, že byla použita různá jádra, různé verze Xorg i dalších komponent. Zkoušel jsem různé grafické karty AMD Radeon HD 6770M, Radeon R9 -390, Nvidia GTX 555M, GTX 970 a různé verze uzavřených ovladačů. (Nikdy se mi však nepodařilo funkčním způsobem nainstalovat nesvobodné ovladače přímo ze stránek výrobců. U AMD instalace nedojela do konce - chybová hláška a předčasné ukončení, u Nvidie sice vše proběhlo v pořádku, ale po restartu naběhl OS do grafického módu s nízkým rozlišením, se kterým toho nešlo příliš mnoho dělat). Nesvobodné ovladače vybrané v nástroji Dodatečné ovladače fungovaly, nicméně benchmark vždy hned na začátku spadl s hláškou: segmentation fault.

Poradíte prosím někdo, jak ten benchmark pod Linuxem rozběhnout?
Předem moc děkuji.

ntz_reloaded

  • Lokaj
  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3660
  • Karma: +360/-65535
  • skill :: ur home erly
    • Zobrazit profil
Re:benchmark.sh - Metro 2033 REDUX
« Odpověď #1 kdy: 21 Duben 2016, 11:58:44 »
Pokud to pada na segfault, tak je to spatne vybuildeny ... segfault je proste vzdy bug a nema smysl se s tim trapit ...

samozrejme muzes to zacit debugovat a dokonce i muzes najit reseni, ale ja bych do toho asi nesel .. osobne si myslim, ze ti to pada kvuli tomu, ze se to slinkuje s nejakou sdilenou knihovnou ze systemu misto nejake sve vlastni .. viz

Kód: [Vybrat]
ERROR: ld.so: object '/home/lynx/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/lynx/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

zkus vyexportovat z command lajny neco jako LD_LIBRARY_PATH='/home/lynx/.local/share/Steam/ubuntu12_32/' a potom to pustit znovu .... pokud tam budes davat vic cest, tak se oddeluji dvojteckou jako v pripade PATH
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

majakmp3

  • Člen
  • **
  • Příspěvků: 424
  • Karma: +40/-33
    • Zobrazit profil
Re:benchmark.sh - Metro 2033 REDUX
« Odpověď #2 kdy: 29 Duben 2017, 23:45:22 »
V této diskuzi https://bugs.freedesktop.org/show_bug.cgi?id=95329 je zmiňováno údajně funkční řešení, říká se zde:

The cause of the issue is in metro.bin, not in Mesa. Found via running "valgrind benchmark.sh".
The following code fixes the issue:


Kód: [Vybrat]
$ cat posix_memalign.c
#include <errno.h>
#include <malloc.h>
#include <stdlib.h>
#include <strings.h>

int posix_memalign(void **memptr, size_t alignment, size_t size) {
        if(alignment < 32) {
                alignment = 32;  // Optional. Might boost memcpy().
        }
        size *= 2;       // Required
        void *p = memalign(alignment, size);
        if(!p && size) {
                return ENOMEM;
        }
        bzero(p, size);  // Optional
        *memptr = p;
        return 0;
}

$ gcc -m32 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign32.so posix_memalign.c
$ gcc -m64 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign64.so posix_memalign.c
$ export LD_PRELOAD="$PWD/posix_memalign32.so:$PWD/posix_memalign64.so:$LD_PRELOAD"
$ .../Metro 2033 Redux/benchmark.sh

Tedy, že problém je v souboru metro.bin, a že výše uvedený kód situaci vyřeší.  Jenomže já si  s tím kódem nevím rady. Pokud ho zadám do terminálu, tak na mě vyskočí mraky chybových hlášek a jinak se nic neděje. Na druhou stranu, pokud bych měl kód umístit do souboru metro.bin nevím, čím bych měl soubor metro.bin otevřít k editování (soubor má asi 50MB) a ani nevím na jaké místo by zmiňované řádky měly přijít.

Věděl by si s tím někdo rady?

Předem moc děkuji za případné rady.

donny

  • Závislák
  • ****
  • Příspěvků: 1845
  • Karma: +171/-19
    • Zobrazit profil
Re:benchmark.sh - Metro 2033 REDUX
« Odpověď #3 kdy: 01 Květen 2017, 18:23:17 »
Vytvor soubor posix_memalign.c, ktery bude obsahovat
Kód: [Vybrat]
#include <errno.h>
#include <malloc.h>
#include <stdlib.h>
#include <strings.h>

int posix_memalign(void **memptr, size_t alignment, size_t size) {
        if(alignment < 32) {
                alignment = 32;  // Optional. Might boost memcpy().
        }
        size *= 2;       // Required
        void *p = memalign(alignment, size);
        if(!p && size) {
                return ENOMEM;
        }
        bzero(p, size);  // Optional
        *memptr = p;
        return 0;
}
Otevri terminal (a vsechny nasledujici prikazy zadavej do stejneho terminalu), jdi do adresare s tim souborem vytvorenym vyse a tam spust nasledujici dva prikazy:
Kód: [Vybrat]
gcc -m32 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign32.so posix_memalign.c
Kód: [Vybrat]
gcc -m64 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign64.so posix_memalign.cto by melo vytvorit soubory posix_memalign32.so a posix_memalign64.so.
Pak spust:
Kód: [Vybrat]
export LD_PRELOAD="$PWD/posix_memalign32.so:$PWD/posix_memalign64.so:$LD_PRELOAD"
a hned potom ze stejneho terminalu spustu ten benchmark.sh (samozrejme dopln vlastni cestu k souboru benchmark.sh):
Kód: [Vybrat]
/cesta/k/souboru/benchmark.sh
archlinux @ ASUS N53S | Raspbian 7 @ Raspberry Pi
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better!

majakmp3

  • Člen
  • **
  • Příspěvků: 424
  • Karma: +40/-33
    • Zobrazit profil
Re:benchmark.sh - Metro 2033 REDUX
« Odpověď #4 kdy: 05 Květen 2017, 23:09:47 »
Vytvor soubor posix_memalign.c, ktery bude obsahovat
Kód: [Vybrat]
#include <errno.h>
#include <malloc.h>
#include <stdlib.h>
#include <strings.h>

int posix_memalign(void **memptr, size_t alignment, size_t size) {
        if(alignment < 32) {
                alignment = 32;  // Optional. Might boost memcpy().
        }
        size *= 2;       // Required
        void *p = memalign(alignment, size);
        if(!p && size) {
                return ENOMEM;
        }
        bzero(p, size);  // Optional
        *memptr = p;
        return 0;
}
Otevri terminal (a vsechny nasledujici prikazy zadavej do stejneho terminalu), jdi do adresare s tim souborem vytvorenym vyse a tam spust nasledujici dva prikazy:
Kód: [Vybrat]
gcc -m32 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign32.so posix_memalign.c
Kód: [Vybrat]
gcc -m64 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign64.so posix_memalign.cto by melo vytvorit soubory posix_memalign32.so a posix_memalign64.so.
Pak spust:
Kód: [Vybrat]
export LD_PRELOAD="$PWD/posix_memalign32.so:$PWD/posix_memalign64.so:$LD_PRELOAD"
a hned potom ze stejneho terminalu spustu ten benchmark.sh (samozrejme dopln vlastni cestu k souboru benchmark.sh):
Kód: [Vybrat]
/cesta/k/souboru/benchmark.sh
Díky za radu, ale asi nemám splněny veškeré závislosti.
1) Vytvořil jsem výše zmiňovaný soubor, vložil do něj uvedený kód a uložil ho (u mě se nachází zde: /home/lynx/.steam/steam/steamapps/common/Metro 2033 Redux/posix_memalign.c)

2) po zadání tohoto příkazu
Kód: [Vybrat]
gcc -m32 -shared -fPIC -O2 -g -Wall -Werror -std=c99 -o posix_memalign32.so posix_memalign.c vyskočila tato chybová hláška:
In file included from /usr/include/errno.h:28:0,
                 from posix_memalign.c:1:
/usr/include/features.h:367:25: fatal error: sys/cdefs.h: Adresář nebo soubor neexistuje
compilation terminated.

3) po zadání druhého řádku vše vypadá OK

4) poslední příkaz v terminálu vyprodukoval následující chyby:
Kód: [Vybrat]
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'Redux/posix_memalign32.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'Redux/posix_memalign64.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
benchmark.sh    content09.vfs0  content21.vfs0   posix_memalign.c
content.vfx     content10.vfs0  content22.vfs0   posix_memalign64.so
content00.vfs0  content11.vfs0  content23.vfs0   shaders_0.ogl
content00.vfs1  content12.vfs0  content24.vfs0   shaders_1.ogl
content01.vfs0  content13.vfs0  content25.vfs0   shaders_2.ogl
content02.vfs0  content14.vfs0  content26.vfs0   shaders_3.ogl
content03.vfs0  content15.vfs0  content27.vfs0   steam_appid.txt
content04.vfs0  content16.vfs0  libsteam_api.so  typed_strings.bin
content05.vfs0  content17.vfs0  metro            user.cfg
content06.vfs0  content18.vfs0  patch.vfs0       110000100bb1f9d
content07.vfs0  content19.vfs0  patch.vfx0       2033
content08.vfs0  content20.vfs0  plwait.ogv
lynx@lynx-Z170-D3H:~/.steam/steam/steamapps/common/Metro 2033 Redux$ sh benchmark.sh
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'Redux/posix_memalign32.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'Redux/posix_memalign64.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot read file data): ignored.
ERROR: ld.so: object 'Redux/posix_memalign32.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/home/lynx/.steam/steam/steamapps/common/Metro' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '2033' from LD_PRELOAD cannot be preloaded (cannot read file data): ignored.
ERROR: ld.so: object 'Redux/posix_memalign64.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Setting breakpad minidump AppID = 286690
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561197972529053 [API loaded no]
Segmentation fault (core dumped)

5) Celé to opět skončilo na Segmentation Fault

Nevidíte v mém počínání nějaký renonc?

Předem děkuji a přejí hezký, prodloužený víkend.

donny

  • Závislák
  • ****
  • Příspěvků: 1845
  • Karma: +171/-19
    • Zobrazit profil
Re:benchmark.sh - Metro 2033 REDUX
« Odpověď #5 kdy: 09 Květen 2017, 01:03:33 »
To jsou ty mezery v nazvu adresare. Zkus ten exportovaci prikaz takto:

Kód: [Vybrat]
cd /home/lynx/.steam/steam/steamapps/common/Metro\ 2033\ Redux/

export LD_PRELOAD="/home/lynx/.steam/steam/steamapps/common/Metro\ 2033\ Redux/posix_memalign64.so:$LD_PRELOAD"

./benchmark.sh
archlinux @ ASUS N53S | Raspbian 7 @ Raspberry Pi
Ever tried. Ever failed. No matter. Try again. Fail again. Fail better!