Jump to content

Debian Bookworm 12.9 + rustup = successful compilation of 0.27.0-RC2


Recommended Posts

@Meister, @Nadporost – thanks for pointing me to 'rustup'.

https://www.rust-lang.org/tools/install

Thanks to this I managed to compile 0ad 0.27.0-RC2 on Debian 12.9.
This is not in line with Debian's ironclad rules, but what wouldn't you do for a few moments of pleasure?

As usual I did it on "Live".

cat /run/live/medium/.disk/info
Official Debian GNU/Linux Live 12.9.0 xfce 2025-01-11T10:25:55Z

cat /etc/debian_version 
12.9

apt policy rustc cargo 
rustc:
  Installed: (none)
  Candidate: 1.63.0+dfsg1-2
  Version table:
     1.63.0+dfsg1-2 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages
cargo:
  Installed: (none)
  Candidate: 0.66.0+ds1-1
  Version table:
     0.66.0+ds1-1 500
        500 http://deb.debian.org/debian bookworm/main amd64 Packages

Since I will be using "rustup" I will not install 'rustc' and 'cargo' from the Debian repository!
If the Debian 'rustc' and 'cargo' were on the system I think they should be uninstalled first.

Now the commands.
First 'rustup'.

mkdir rust
cd rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

I confirm 'standard installation' – Enter.
I receive, among other things, the following information:

Quote

Rust is installed now. Great!
To get started you may need to restart your current shell.
This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env"

I exit the terminal: exit.

I open the terminal again and type:

. "$HOME/.cargo/env"

rustc --version
rustc 1.84.0 (9fc6b4312 2025-01-07)

cargo --version
cargo 1.84.0 (66221abde 2024-11-19)

I'm checking if I have the required dependencies.

Note!
I've crossed out 'cargo' and 'rustc', I've also removed 'subversion'.
I've added: 'llvm'.

dpkg -l build-essential cmake libboost-dev libboost-system-dev libboost-filesystem-dev libcurl4-gnutls-dev libenet-dev libfmt-dev libfreetype-dev m4 libgloox-dev libicu-dev libminiupnpc-dev libnvtt-dev  libogg-dev libopenal-dev libpng-dev libsdl2-dev libsodium-dev libvorbis-dev libwxgtk3.2-dev libxml2-dev llvm python3 zlib1g-dev

If something is missing – you have to install it.
Now compilation – commands in telegraphic short:
Download, verify, unpack:

mkdir 0.27.0-rc2
cd 0.27.0-rc2/
wget https://releases.wildfiregames.com/rc/0ad-0.27.0-rc2-unix-build.tar.gz
wget https://releases.wildfiregames.com/rc/0ad-0.27.0-rc2-unix-data.tar.gz
wget https://releases.wildfiregames.com/rc/0ad-0.27.0-rc2-unix-build.tar.gz.sha1sum
wget https://releases.wildfiregames.com/rc/0ad-0.27.0-rc2-unix-data.tar.gz.sha1sum
sha1sum -c 0ad-0.27.0-rc2-unix-build.tar.gz.sha1sum
sha1sum -c 0ad-0.27.0-rc2-unix-data.tar.gz.sha1sum
tar xpf 0ad-0.27.0-rc2-unix-build.tar.gz
tar xpf 0ad-0.27.0-rc2-unix-data.tar.gz
cd 0ad-0.27.0

I gave up on checking the minisign (https://trac.wildfiregames.com/wiki/VerifyingYourDownloads).
Instead of 'tar.gz' you can download smaller 'tar.xz' files.
Compilation commands:

cd libraries/
./build-source-libs.sh 
cd ../build/workspaces/
./update-workspaces.sh
cd gcc/
make

After './build-source-libs.sh' is finished, we should see: 'Your build was successful!'.
Then it's good.
We can add the '-j N' option to the above commands, where 'N' is the result of the 'nproc' command - the number of processor cores.
If for some reason we repeat the 'make' command, we first issue the 'make clean' command.

Now the test

cd ../../../binaries/system/
./test

We should see:
'Running cxxtest tests (417 tests)...OK!'

And running:

./pyrogenesis

After launch, version control:

grep build_version ~/.config/0ad/logs/userreport_hwdetect.txt
  "build_version": "release-a27, 73b2eed323",
      "build_version": "2.26.5",
      "build_version": 20100,

cat ../../build/build_version/build_version.txt
L"release-a27, 73b2eed323" 

On Debian Live, in the case of the NVidia card, we only have the 'nouveau' driver.
In the advanced graphics settings, we change the default 'OpenGL' to 'Vulkan', save, exit the game and start it again.
If we do not do this (we stay on OpenGL), we will see strange longitudinal "shadows".
In my case, the game did not start on the outdated 'OpenGL ARB' - I had to change 'rendererbackend' to vulkan in the '~/.config/0ad/config/user.cfg' file.

Regards

 

 

 

  • Like 1
Link to comment
Share on other sites

I don't have the above compilation on Debian 12.9 anymore - because it was on Live.

But I can recreate "strange longitudinal shadows" from the compilation performed on Debian Testing.

In my opinion, the cause of this is the duo: "nouveau driver + OpenGL".

How can I recreate it?

You need a PC with an NVidia card - I have a GTX1660Ti.
1. Run Debian Testing Live on it.
2. Connect the disk with the 0.27.0-RC2 compilation on Debian Testing.
3. Install missing packages:
 

apt install libboost-filesystem1.83.0 libenet7 libfmt10 libgloox18 libminiupnpc18

4. Go to the game directory:' /binaries/system'
5. Check and run:

./test
./pyrogenesis


6. Check if it is as advanced graphics, renderer backend: "OpenGL"
7. Play.

In my case I have:

cat /run/live/medium/.disk/info
Auto-generated Debian GNU/Linux Live testing xfce 2025-01-20T02:15:25Z

cat /etc/debian_version
trixie/sid

$inxi -G
Graphics:
 Device-1: NVIDIA TU116 [GeForce GTX 1660 Ti] driver: nouveau v: kernel
 Display: x11 server: X.Org v: 21.1.15 driver: X: loaded: modesetting
 unloaded: fbdev,vesa dri: nouveau gpu: nouveau resolution: 1920x1080~60Hz
 API: EGL v: 1.5 drivers: nouveau,swrast
 platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.5 compat-v: 4.3 vendor: mesa v: 24.2.8-1 renderer: NV168
API: Vulkan v: 1.3.296 drivers: N/A surfaces: xcb,xlib
Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
x11: xdriinfo, xdpyinfo, xprop, xrandr

cat /build/build_version/build_version.txt
L"release-a27, 73b2eed323"

Screenshots and logs attached.

Best regards.

PS.
Playing using the 'nouveau' driver is quite cumbersome and that's why every player will install proprietary Nvidia drivers, where this problem does not occur.

I think the above shadows are a kind of curiosity rather than a bigger bug.

 

screenshot0002.png

screenshot0004.png

screenshot0006.png

logs.zip

Edited by zyli
Link to comment
Share on other sites

4 hours ago, zyli said:

I don't have the above compilation on Debian 12.9 anymore - because it was on Live.

But I can recreate "strange longitudinal shadows" from the compilation performed on Debian Testing.

In my opinion, the cause of this is the duo: "nouveau driver + OpenGL".

How can I recreate it?

You need a PC with an NVidia card - I have a GTX1660Ti.
1. Run Debian Testing Live on it.
2. Connect the disk with the 0.27.0-RC2 compilation on Debian Testing.
3. Install missing packages:
 

apt install libboost-filesystem1.83.0 libenet7 libfmt10 libgloox18 libminiupnpc18

4. Go to the game directory:' /binaries/system'
5. Check and run:

./test
./pyrogenesis


6. Check if it is as advanced graphics, renderer backend: "OpenGL"
7. Play.

In my case I have:

cat /run/live/medium/.disk/info
Auto-generated Debian GNU/Linux Live testing xfce 2025-01-20T02:15:25Z

cat /etc/debian_version
trixie/sid

$inxi -G
Graphics:
 Device-1: NVIDIA TU116 [GeForce GTX 1660 Ti] driver: nouveau v: kernel
 Display: x11 server: X.Org v: 21.1.15 driver: X: loaded: modesetting
 unloaded: fbdev,vesa dri: nouveau gpu: nouveau resolution: 1920x1080~60Hz
 API: EGL v: 1.5 drivers: nouveau,swrast
 platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.5 compat-v: 4.3 vendor: mesa v: 24.2.8-1 renderer: NV168
API: Vulkan v: 1.3.296 drivers: N/A surfaces: xcb,xlib
Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
x11: xdriinfo, xdpyinfo, xprop, xrandr

cat /build/build_version/build_version.txt
L"release-a27, 73b2eed323"

Screenshots and logs attached.

Best regards.

PS.
Playing using the 'nouveau' driver is quite cumbersome and that's why every player will install proprietary Nvidia drivers, where this problem does not occur.

I think the above shadows are a kind of curiosity rather than a bigger bug.

 

screenshot0002.png

screenshot0004.png

screenshot0006.png

logs.zip 12.12 kB · 6 downloads

 

This looks like a mesa/nouveau issue, I remember a similar bug with other graphics cards in the past.

Please report it here: https://gitlab.freedesktop.org/mesa/mesa/-/issues

Link to comment
Share on other sites

15 hours ago, zyli said:

On Debian Live, in the case of the NVidia card, we only have the 'nouveau' driver.
[...]
In my case, the game did not start on the outdated 'OpenGL ARB' - I had to change 'rendererbackend' to vulkan in the '~/.config/0ad/config/user.cfg' file.

What do you mean with the game did not start on the outdated 'OpenGL ARB'?

If you run it from command line, do you get some error when using 'OpenGL ARB'?

Link to comment
Share on other sites

Debian Trixie Live + driver 'nouveau' + 0.27.0-RC2 + OpenGL ARB

PS.
After pressing the 'Suppress' key twice, the game starts in a window.

'Alt+ Enter' switches to full screen.
After selecting the game - 'Start game' - the game loads and suddenly - 0ad disappears.

OpenGL-ARB_error.png

logs.zip

Edited by zyli
Link to comment
Share on other sites

After compiling on Debian Trixie + proprietary NVidia driver in case of 'OpenGL ARB' it is the same.
There is probably no need to run Trixie Live with 'nouveau'?

grep build_version ~/.config/0ad/logs/userreport_hwdetect.txt
  "build_version": "release-a27, 8f8d08b9f3",
      "build_version": "2.30.11",
      "build_version": 20100,

 

logs.zip

Link to comment
Share on other sites

nouveau is the open source driver, which is usually enabled by default, unless you install proprietary closed source NVidia driver.

If the 'OpenGL ARB' issue happens with both driver, it may be a 0ad problem.

About the longitudinal "shadows" issue with rc2, it looks like a mesa/nouveau issue (that can eventually be fixed in the driver) so if you want to contribute I would suggest to report it here: https://gitlab.freedesktop.org/mesa/mesa/-/issues

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...