DagorEngine icon indicating copy to clipboard operation
DagorEngine copied to clipboard

DagorEngine build experience on Linux

Open boberfly opened this issue 1 year ago • 4 comments

Hi I gave DagorEngine a build on a Ubuntu 24.04 from source and I'd like to document my findings to help others.

Specs:

  • TR 3990x 64-core 256GB
  • 6900XT 16GB
  • X11 Gnome desktop

Git-cloned here: /home/alex/dev/dagordev/DagorEngine Devtools here: /home/alex/dev/dagordev/devtools I followed the instructions by first running the devtools build. One thing to note is having jam 2.6.1 from apt pre-installed wasn't suitable until I removed it and used the one that is downloaded by this script (2.5-G8 is a hard-requirement, otherwise the scripts will fail).

I downloaded the following and extracted over /home/alex/dev/dagordev/DagorEngine

  • tools-base.7z
  • samples-base.7z
  • outerSpace-devsrc.7z
  • east_district-dagor.tar.gz

My .bashrc has added:

export GDEVTOOL=/home/alex/dev/dagordev/devtools
export PATH=$GDEVTOOL:$PATH

Running ./build_all_linux.sh successfully builds and is about a half-hour roughly. Running ./dabuild_all_linux.sh successfully builds and is about 3 minutes (important! I was getting issues with res/.blk issues without it!)

Running dngSceneViewer/east_district ./viewer.linux.sh is working except it seems like the mouse cursor is hard-locked to the left, and getting into the game it is permanently strafing the player to the left, maybe a Linux bug?

Running outerSpace via ./launcher_linux.sh I get ./launcher_linux.sh: line 1: $'\r': command not found however the launcher does launch. I run default values and hit the play button top-right and plays great, and the left-key is not stuck.

The other examples look like they load great and the GI and water/skies samples look great here!

Cheers

boberfly avatar Dec 11 '24 05:12 boberfly

Just to note I tried vkd3d-proton 2.13 via Bottles to see how the windows binary would work in DX12 mode and I got this: Screenshot_20241211_171657

Worth a shot, I guess VKD3D is missing some cap checks? I also tried my second GPU (Geforce 2070 RTX 8GB) same result.

boberfly avatar Dec 11 '24 06:12 boberfly

Running outerSpace via ./launcher_linux.sh I get ./launcher_linux.sh: line 1: $'\r': command not found however the launcher does launch. I run default values and hit the play button top-right and plays great, and the left-key is not stuck.

I think this is cause by the fact outerSpace-devsrc.7z was built on windows so shell scripts had \r\n instead of just \n I will take care on it for next update.

NicSavichev avatar Dec 11 '24 07:12 NicSavichev

Running dngSceneViewer/east_district ./viewer.linux.sh is working except it seems like the mouse cursor is hard-locked to the left, and getting into the game it is permanently strafing the player to the left, maybe a Linux bug?

This may be Linux bug indeed, since I tested built applications on 2 different linux distros and haven't faced such problem. Also it may be some obscure bug in our hid driver related to specific linux distro, you could add logs to see what happens in driver (prog/engine/drv/hid_mouse) Did you try to run prebuilt linux binaries? It is built on Centos7 and has minimal dependencies on system libs so it should run on any linux (we use it to build linux versions of our games)

NicSavichev avatar Dec 11 '24 07:12 NicSavichev

Hi @NicSavichev thanks for the replies.

Also it may be some obscure bug in our hid driver related to specific linux distro, you could add logs to see what happens in driver (prog/engine/drv/hid_mouse)

I'm very new so I'm not too sure how to do this but I can take a look.

Did you try to run prebuilt linux binaries?

Not yet however I think the viewer/east_district is the outlier which is using the prebuilt binaries (I get FMOD audio, I don't have a license for that one so I presume audio wouldn't work if that's missing).

It is built on Centos7 and has minimal dependencies on system libs so it should run on any linux (we use it to build linux versions of our games)

Good choice indeed, I have a VFX dev background and that's the oldest distro/glibc we target (now Rocky/Alma 8) - I can try building in a distrobox container with centos7/rocky8 and see if the HID issue appears when I run it on the host distro.

I saw Enlisted is supported on Steamdeck so that means Proton should be fine with DagorEngine, I'll take a look at that assert later if it's something trivial.

Cheers!

boberfly avatar Dec 11 '24 23:12 boberfly