-
Notifications
You must be signed in to change notification settings - Fork 123
Tracking issue: Linux port using dxvk / gallium nine #348
Comments
FIX_LINUX this flag currently reflects parts of the code that could be improved, but not actual problems/bugs with the game. Currently gaming on Linux should be very close to gaming on Windows, except for this list:
|
Another thing about building on Ubuntu 22.04 or similar: if you have libtbb in your system, then you need to install libtbb2-dev (Source Package: tbb, not onetbb) + you need to add it in
|
Linux ARM buildWarning: you can only build Storm engine on ARM, it's not running yetIt's possible to build Storm engine on ARM with this repo: https://github.com/q4a/storm-engine/tree/nine-arm
There is 2 variant of build:
Running and debuggingI'm currently using:
DONT'T use LLDB on ARM - it's failing. |
Current ARM Linux status. I have 2 ARM SoC. High spec 64-bit ARM SoC (rk3588) with 16GB dual channel LPDDR4x - Radxa Rock5 5B (from october 2022): |
Compare perfomance DXVK vs Gallium Nine on x64 Linux.
Some HW info from
DXVK - on land at the port: 25 fps |
Here will be current lists of needed fixes for Linux port of engine using dxvk.
Current source code of dxvk port is here: https://github.com/storm-devs/storm-engine/tree/dxvk
Started status: there is 113
#ifdef
marked with FIX_LINUX which should be replaces with proper implementations, but engine already build fine with CLANG 11 and partially show main menu backgroundCurrent status:
113 marked
FIX_LINUX
tasks (from most important to less):FIX_LINUX ID3DXEffect
. Pushed workaround: CTechnique: + precompiled shaders. CheckFIX_LINUX Effects
FIX_LINUX D3DXCreateTextureFromFileA
: is it used at least somehow?FIX_LINUX D3DXCreateTextureFromFileInMemoryEx
: unused, created PR: Remove unused code #347FIX_LINUX HBITMAP
: unused, created PR: Remove unused code #347FIX_LINUX Screenshot
: I hope that SDL has some useful funcs for taking screenshotsFIX_LINUX ReleaseDC
: not sure, but may be importantFIX_LINUX VirtualKey
: There is dilemma: we can keep VirtualKeys for c-files in PROGRAM folder to maintain old mods or replace all VirtualKeys, because less code == less errors. Current decision - keep VirtualKeys: Replace GetKeyState and GetAsyncKeyState with core functions #328FIX_LINUX HINSTANCE
: for correct handling window and other: Linux related changes part 1 #366FIX_LINUX Cursor
: port all Cursor stuff to SDLFIX_LINUX GetTickCount
: I hope that we will find old branch/changes where is this changes already madeFIX_LINUX sentry_options
: few Windows only direct calls to crashpad_handler.exeFIX_LINUX WideCharToMultiByte
: some old conversationFIX_LINUX MultiByteToWideChar
: some old conversationFIX_LINUX DirectXMath
: one DirectXMath call in AVX/SSE2 ifdef. I created quick workaround (this increased 08 forFIX_LINUX DirectXMath
from 2 to 8), but I'll need to replace it with this lib: https://github.com/nfrechette/rtmFIX_LINUX DxErr.h
: few error handling, may be already in DXVK?FIX_LINUX _flushall
: not sureFIX_LINUX RDTSC_*
: need to test SDL_GetPerformanceCounter and use it (if it passes tests)FIX_LINUX __debugbreak
: need to create one place with debugbreak for all platforms/archsFIX_LINUX GetWindowRect
: I used SDL functions for Linux part, but it did not work well in Windows (why?)FIX_LINUX ddraw.h and amstream.h
: It need only for play avi into and other videos. Will require to use ffmpeg or something like thatFIX_LINUX ExitProcess
: I used "exit(0)" for Linux port, but it is part of SailorsEditor, which should be moved from engine IMHO.FIX_LINUX SHGetKnownFolderPath
: I used SDL_GetPrefPath for Linux port. Should I keep SHGetKnownFolderPath for compatibility?FIX_LINUX 7za.exe
: one direct call to 7za.exeFIX_LINUX CreateEventA
: not sure if I need to prevent multiple instances of gameFIX_LINUX Beep
: I'm fine if my pc speaker will not beep when I'm playng game)FIX_LINUX s_debug.h
: part for debugging user mods in compiler.cpp and s_dbg_*The text was updated successfully, but these errors were encountered: