Autor Wątek: Gallium Nine  (Przeczytany 552 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Premislaus

  • SUSE User
  • *
  • Wiadomości: 61
Gallium Nine
« dnia: Czerwiec 27, 2018, 09:45:14 am »
Wreszcie znalazłem chęć na przetestowanie Gallium Nine. Jest to natywny DirectX 9 dla Linuksa. Wymaga otwartych sterowników korzystających z Gallium (czyli odpada Intel i wszystko własnościowe). Dlatego interesują mnie tylko Radeony jeśli chodzi o GPU w komputerze.

Jestem zielony jeśli chodzi o Wine (często instrukcje z neta są nieadekwatne), ale z pomocą internetu udało mi się zainstalować i włączyć grę. Największy problem to klient Origin, wymagany, w moim przypadku, do zainstalowania gry. Zwyczajnie łapie crashe. Pobrałem wersję Origin dla systemów legacy (win xp). Niestety przez niego gra się wolno pobierała (10 GB, ok 3 Mb/s), ale on działał. Uruchomienie gry za pomocą klienta oczywiście scrashowało się, ale na szczęście zdążył pobrać jakiś klucz z serwera który podpisał DLC.

Wine 3.11 z CSMT nie pozwala na zabawę. Jest to typowy scenariusz CPU bound, czyli 100% zużycia procesora, a GPU oscyluje pomiędzy 10-20%, co przekłada się na 10 FPS. Toteż w winecfg włączyłem obsługę gallium-nine. Musicie wiedzieć, że trzeba pobrać spaczowaną wersję wine. W przypadku openSUSE jest to pakiet wine-nine. Samo wine-nine nie wystarczy, trzeba jeszcze pobrać pakiety (w tym 32-bitowy) Mesa-libd3d.

Wine-nine to 22-27 FPS, na ogół ok. 75% zużycia CPU i grubo ponad 50% GPU. Pewnie dałoby się jeszcze urwać parę FPSów, ale nie wiem jak to zrobić.

Oczywiście korzystam z governora performance.

To mydło na screenshotach to zabieg artystyczny bowiem postać znajduje się w innym wymiarze.

BTW jak ktoś ma Radeona i jakąś grę z Windowsa to mógłby wrzucić wynik.

Wszystko ustawienia graficzne wbite na maxa, przy rozdzielczości 1366x768. Gra działa jak na Windowsie (z tego co pamiętam):





« Ostatnia zmiana: Czerwiec 27, 2018, 09:53:13 am wysłana przez Premislaus »

zgrupowanie operacyjno-manewrowe obi

  • Geeko's friend
  • SUSE Root
  • *
  • Wiadomości: 1603
Odp: Gallium Nine
« Odpowiedź #1 dnia: Czerwiec 29, 2018, 04:24:09 am »
jak uzyskujesz te wykresy?
usb usb usb usb usb usb usb

Premislaus

  • SUSE User
  • *
  • Wiadomości: 61
Odp: Gallium Nine
« Odpowiedź #2 dnia: Czerwiec 29, 2018, 09:55:46 am »
jak uzyskujesz te wykresy?

Musisz korzystać z Gallium.

Odpalam grę z konsoli i przed uruchamianym programem dodaję - GALLIUM_HUD="GPU-load,cpu0,cpu1,fps;VRAM-usage,shader-clock,memory-clock,draw-calls" (wykres będzie jeszcze bardziej szczegółowy od tego co widać na screenach).

https://manerosss.wordpress.com/2017/07/13/howto-gallium-hud/

Działa to też na Steamie. Wpisujesz czy wklejasz to w opcjach uruchamiania (klikasz prawym na posiadanej grze i bodaj właściwości - tam to jest), tyle że na samym końcu musisz dodać %command%.

Lista argumentów  w moim przypadku (GALLIUM_HUD=help glxgears):

fps
    cpu
    cpu0
    cpu1
    samples-passed
    primitives-generated
    ia-vertices
    ia-primitives
    vs-invocations
    gs-invocations
    gs-primitives
    clipper-invocations
    clipper-primitives-generated
    ps-invocations
    hs-invocations
    ds-invocations
    cs-invocations
    num-compilations
    num-shaders-created
    num-shader-cache-hits
    draw-calls
    decompress-calls
    MRT-draw-calls
    prim-restart-calls
    spill-draw-calls
    compute-calls
    spill-compute-calls
    dma-calls
    cp-dma-calls
    num-vs-flushes
    num-ps-flushes
    num-cs-flushes
    num-CB-cache-flushes
    num-DB-cache-flushes
    num-resident-handles
    tc-offloaded-slots
    tc-direct-slots
    tc-num-syncs
    CS-thread-busy
    gallium-thread-busy
    requested-VRAM
    requested-GTT
    mapped-VRAM
    mapped-GTT
    buffer-wait-time
    num-mapped-buffers
    num-GFX-IBs
    num-SDMA-IBs
    GFX-BO-list-size
    num-bytes-moved
    num-evictions
    VRAM-CPU-page-faults
    VRAM-usage
    VRAM-vis-usage
    GTT-usage
    GPIN_000
    GPIN_001
    GPIN_002
    GPIN_003
    GPIN_004
    temperature
    shader-clock
    memory-clock
    GPU-load
    GPU-shaders-busy
    GPU-ta-busy
    GPU-gds-busy
    GPU-vgt-busy
    GPU-ia-busy
    GPU-sx-busy
    GPU-wd-busy
    GPU-bci-busy
    GPU-sc-busy
    GPU-pa-busy
    GPU-db-busy
    GPU-cp-busy
    GPU-cb-busy
    GPU-sdma-busy
    GPU-pfp-busy
    GPU-meq-busy
    GPU-me-busy
    GPU-surf-sync-busy
    GPU-cp-dma-busy
    GPU-scratch-ram-busy
« Ostatnia zmiana: Czerwiec 29, 2018, 09:58:38 am wysłana przez Premislaus »