Reporting Bugs
- First thing to do will be to check our GitLab issues if this bug is already known.
- If not create an issue with the
Bug template
and try to describe the bug as good as possible, include screenshots if needed. - Upload the log file for additional information which can help us identify the issue. See below how to get logs. (Note: make sure no sensitive information is included in the log files)
- Submit the issue
Tip: Incase you do not want to create an GitLab account you can join our Discord
and report the bug in #bugs-and-support
.
Collect Logs
If you encounter problems with Veloren, we might ask you for logs or a trace. This tutorial shows you how to collect the logs, depending on your operating system, and the way you have installed Veloren.
By default Veloren server and Voxygen will both produce logs.
They are printed in the terminal/cmd and to a file, called voxygen.log.<todays_date>
. It even prints where the file is located to terminal/cmd:
Nov 25 01:40:14.388 INFO veloren_voxygen::logging: Setup terminal and file logging. logdir="/mnt/games/cargo-build/debug/userdata/voxygen/logs"
By default the granularity is INFO
, but please provide logs on TRACE
level (as shown below).
Search for a message called Tracing is successfully set to TRACE
to verify TRACE
level is enabled.
Linux and macOS
Airshipper
- Start Airshipper with
-vv
argument. - When the game starts it will print to the terminal the location of the log file. Check Airshipper page.
Compiled
-
Start voxygen with
TRACE
level in terminal:RUST_LOG="trace" ./target/debug/veloren-voxygen # or RUST_LOG="trace" cargo run
-
Copy trace from terminal or the log file mentioned above.
Windows
Airshipper
- Opening a CMD.
On Windows press
Windows key + R
. Then typecmd
and hitenter
. - Type
airshipper run -vv
and hit enter. - Run the game (till you encounter the problem).
- The logs should be located in
%Appdata%/airshipper/profiles/default/userdata/voxygen/logs
Or check Airshipper page.
Compiled
Git Bash
-> See Linux/Compiled above
Cmd
- Open a CMD.
- Go to your veloren folder with the
cd
command, e.g.cd C:\Users\<Your Username>\Desktop\veloren
. - Write
set RUST_LOG=trace&& veloren-voxygen.exe
and hit enter (exactly like here, without whitespace before&&
) - The logs will now be printed to the CMD and the folder
userdata\voxygen\logs
or%appdata%\veloren\
.
Collecting info for graphics bugs
Sometimes it can be useful to collect extra information when debugging graphics issues. This info is not always needed so this mainly serves as a reference to point users to when the information would be helpful.
wgpu API trace
-
Create a folder that to hold the trace. (e.g.
wgpu-trace
)mkdir wgpu-trace
-
Run the game with the environment variable
WGPU_TRACE_DIR
set to the new folder. (the path can be absolute or relative)-
Linux
WGPU_TRACE_DIR="./wgpu-trace" airshipper start
-
Windows
set "WGPU_TRACE_DIR=./wgpu-trace" airshipper start
-
-
Reproduce the bug/crash and then exit the game (the trace will be larger if this takes a while).
-
Zip up the trace folder for easy sharing.
For more details about wgpu's API tracing see https://github.com/gfx-rs/wgpu/wiki/Debugging-wgpu-Applications#tracing-infrastructure
Dx12/Dx11 debug layer output
First, check that you are using the dx12 or dx11 graphics backend.
Using DebugView++
- Force the debug layer on for Voxygen (Note: if you compiled the game yourself without
--release
then this step can be skipped):- Run
dxcpl
. - Click "edit list".
- Add
veloren-voxygen.exe
and click ok. - Make sure "Force On" is selected in the debug layer section.
- Click "Apply".
Warning: Enabling debug layers adds extra overhead, make sure to follow the last step to disable them again.
- Run
- Setup DebugView++:
- Download the latest
DebugView++.exe
version from this page: https://github.com/CobaltFusion/DebugViewPP/releases. - Download the filter settings here: View.xml
- Run
DebugView++.exe
. - Open filter settings screen with
F5
. - Click "Load" button, select the downloaded filter settings file, click "Open", and then click "Ok" to close the filter settings screen.
- Download the latest
- Start voxygen (with the dx backend has issues) and run until the crash/error occurs.
- In DebugView++, press
Ctrl + S
to save the current view containing all the debug messages from voxygen. - Share the saved file.
- Run
dxcpl
again and remove voxygen from the list.
Using Visual Studio
- Install visual studio https://visualstudio.microsoft.com/downloads/.
- Force the debug layer on for Voxygen (Note: if you compiled the game yourself without
--release
then this step can be skipped):- Open visual studio.
- Go to Debug > Graphics > DirectX control panel.
- Click the
Edit List...
button.. - Add
veloren-voxygen.exe
to the list (be sure to remove this when finished). - Change the Debug Layer setting to Force On.
- Click apply and exit the control panel.
- Open the Voxygen executable as a project (original instructions):
- In visual studio: File > Open > Project.
- Navigate to veloren-voxygen.exe, select it, and click open.
- Run the project (green arrow and or option under the Debug menu).
- Reproduce the issue.
- Visual studio will have a section labeled "Output" with the output of the graphics debug layer and other random stuff (this can be shared via copy-paste).