Commit Graph

61 Commits

Author SHA1 Message Date
Jet Pham f1785f6512 docs: update deprecated xorg packages in nix instructions (#23167)
# Objective

- Resolves Nix evaluation warnings caused by [the deprecation of the
`xorg` package set in
`nixpkgs`](https://github.com/NixOS/nixpkgs/pull/479724).

## Solution

- Replaced deprecated `xorg.libX...` package names with their updated
names (`libx11`, `libxcursor`, `libxi`, `libxrandr`).

## Testing

- The previous listed package names gave the following warnings:
  ```shell
evaluation warning: The xorg package set has been deprecated,
'xorg.libX11' has been renamed to 'libx11'
evaluation warning: The xorg package set has been deprecated,
'xorg.libXcursor' has been renamed to 'libxcursor'
evaluation warning: The xorg package set has been deprecated,
'xorg.libXi' has been renamed to 'libxi'
evaluation warning: The xorg package set has been deprecated,
'xorg.libXrandr' has been renamed to 'libxrandr'
  ```
- After the change there are no more warnings and uses the same packages
2026-02-28 17:04:41 +00:00
DefectiveDev 65f197a9e4 Update linux_dependencies.md NixOS Wayland Dependency (#22712)
Added a line for Wayland NixOS users!
2026-01-26 18:20:50 +00:00
Bayley Foster d533ceaf32 Add wayland to flake.nix linux dependencies example (#22216)
# Objective

Fixes #22215

## Solution

- Adds wayland to `flake.nix` example in the Linux dependencies
documentation

## Testing

- Did you test these changes? If so, how?
Use the main branch `flake.nix` and run `cargo build` and it gives:
`error: failed to run custom build command for wayland-sys v0.31.7`
With this change it does compile successfully

---
2025-12-22 01:06:50 +00:00
dearfl 40767f4226 update linux dependencies (#21651)
# Objective

close #21334

## Solution

update linux dependencies in docs
2025-10-26 21:45:48 +00:00
Yuki Osada a16adc751b Update add flake.nix example (#19321)
# Objective

I can't build a project using bevy under the environment of NixOS, so I
have to create flake.nix file.

## Solution

I add flake.nix example to `linux_dependencies.md`.

## Testing

I checked my NixOS environment in a project using bevy and booted the
project's game successfully.

---

## Showcase

<details>
  <summary>Click to view showcase</summary>

1. Create a GitHub project using bevy.
2. Add a flake.nix file.
3.  Commit to add this file to the GitHub repository.
4. Run `nix develop`

</details>

---------

Co-authored-by: nukanoto <me@nukanoto.net>
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
Co-authored-by: Ilia <43654815+istudyatuni@users.noreply.github.com>
2025-06-08 02:15:19 +00:00
Saladin af874a58c3 Added explicit dependencies for Arch Linux (#10386)
As I run bevy in a apx container, the default dependencies are bare
minimum.. because of which I was able to find the explicit dependencies
required for bevy. 👍 the same shall also be applicable for the other
distributions but I will have to figure out explicit ones for them and
might open a PR for them later.

# Objective

- Have explicit dependencies listed for a bare minimum system /
container

## Solution

- Running bevy in a bare minimum apx / distrobox container.

---

## Changelog

- Added explicit dependency instructions for Arch Linux

Co-authored-by: SHuRiKeN <40650341+shuriken1812@users.noreply.github.com>
Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
2025-05-26 15:32:48 +00:00
damccull 16dacb0fb6 Update linux_dependencies.md (#18523)
# Objective

The latest version of nixpkgs doesn't include the file, breaking the old
link.

## Solution

Change the nixos packaging example link to a permalink with the latest
known version of the 'jumpy' program.

## Testing

- Did you test these changes? If so, how?
  - No testing needed. Just a link change.
- Are there any parts that need more testing?
  - No
2025-03-25 01:51:18 +00:00
Rob Parrett b77e3ef33a Fix a few typos (#17292)
# Objective

Stumbled upon a `from <-> form` transposition while reviewing a PR,
thought it was interesting, and went down a bit of a rabbit hole.

## Solution

Fix em
2025-01-10 22:48:30 +00:00
AlephCubed f2931dc433 Updated nixos link in linux_dependencies.md. (#17146)
Fixes dead link to nixos file and includes a slight wording change.

Adopts #16601 and closes #16811.

---------

Co-authored-by: Thomas M. DuBuisson <thomas.dubuisson@gmail.com>
2025-01-05 02:35:36 +00:00
to-bak 31367108f7 Update linux dependency documentation for NixOS (and nix) (#16881)
# Objective
- Updates the linux-dependencies docs to 1) fix problems with nix
`alsa-lib`, and 2) include additional documentation to run bevy with nix
on non NixOS systems. (nix is a package manager that can be run outside
of NixOS).

## Solution
1. the nix `alsa-lib` package doesn't include `alsa-plugins`, which bevy
depends on. Instead, use the `alsa-lib-with-plugins` package, which
wraps `alsa-plugins` into `alsa-lib`. For more information see:
https://github.com/NixOS/nixpkgs/pull/277180
2. using nix on non NixOS systems, software like `nixGL` is required to
correctly link graphics drivers.

## Testing
- Tested on ubuntu 22.04 with nix.
2024-12-29 19:20:51 +00:00
Adry 0dd00e9204 Note on compiling on FreeBSD (#15232)
The hgame kernel module is necessary to load on start up, otherwise,
Bevy will crash. Adding a note to the docs to help anyone struggling
with this.
2024-09-16 23:18:14 +00:00
François 049de6fcbe add libxkbcommon-x11-0 to the default linux dependencies (#11060)
# Objective

- After #10702, it seems `libxkbcommon-x11-0` is now a default
dependency
```
2023-12-21T14:13:14.876926Z  INFO log: Failed loading `libxkbcommon-x11.so.0`. Error: CantOpen(DlOpen { desc: "libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory" })   
```

## Solution

- Add the new dependency on linux
2023-12-21 23:14:05 +00:00
nelson f12e90670a Add Solus package requrements to linux_dependencies.md (#10996)
Packages are all available but follow a different naming convention on
[Solus OS](https://getsol.us/). This change will help people develop
with bevy on Solus.

# Objective

Update documentation with install instructions on Solus

## Solution

Updated documentation
2023-12-17 00:46:50 +00:00
James McNulty 038d11329c Wslg docs (#9842)
# Objective

- WSL documentation was out-of-date and potentially misleading. The
release of WSLg makes a lot of stuff easier

## Solution

- Just updating docs for now

## NB
I haven't been able to get a full end-to-end GPU on WSL test going yet,
but plan to update this documentation again once I have more of a grasp
on that
2023-09-20 12:10:56 +00:00
Rdbo 93d7328c6a Add setup documentation for Alpine Linux (#7752)
Adds documentation for setting up bevy on Alpine Linux and its derivatives.
It contains instructions on installing the required packages and also fixing runtime errors.
2023-02-20 04:31:49 +00:00
figsoda d2963267ba improve nix docs (#7044)
# Objective

`xlibsWrapper` is being deprecated: https://github.com/NixOS/nixpkgs/issues/194054, this pr removes the deprecated xlibsWrapper and makes a couple more improvements

## Solution

- rename NixOS to Nix since this is not specific to NixOS
- remove usage of `xlibsWrapper`
- add instructions for nix flakes with `nix develop`
- add example of a packaged bevy program in nixpkgs
- minor cosmetic/grammatical changes
2022-12-29 21:37:27 +00:00
aktaboot 4ca19ac4d3 Update linux_dependencies.md (#7021)
fixes alsalib dependency for NixOS
2022-12-26 16:52:17 +00:00
Lixou aeb2c4b917 Update linux_dependencies.md for Arch - Vulkan API not only for Intel GPUs (#6729)
fix note in arch's linux deps.
2022-12-11 19:24:18 +00:00
zxygentoo 68a7127a27 Update linux_dependencies.md (#6915)
Add a section about install `vulkan-loader` on Gentoo.

# Objective

- Clarify the dependency about install on Gentoo with NVIDIA GPU and using a proprietary driver.

## Solution

- Emerge `vulkan-loader` to help Bevy to find the correct ICD.
2022-12-11 18:46:48 +00:00
KazaniAvali 7963bb9ab3 Docs: amdgpu-pro-vulkan on Gentoo. (#6749)
When running Bevy on Gentoo using an AMD Radeon GPU, it panics unless `amdgpu-pro-vulkan` has been installed (and it took quite a bit of experimentation to find this information). This PR adds a mention of this to the linux dependencies documentation.
2022-11-28 13:54:15 +00:00
cathalogue 2cde4c73ed Update linux_dependencies.md (#6205)
for nix build, pkgconfig has been renamed to pkg-config. Very small fix :>

# Objective

- Describe the objective or issue this PR addresses.
- If you're fixing a specific issue, say "Fixes #X".

## Solution

- Describe the solution used to achieve the objective above.

---

## Changelog

> This section is optional. If this was a trivial fix, or has no externally-visible impact, you can delete this section.

- What changed as a result of this PR?
- If applicable, organize changes under "Added", "Changed", or "Fixed" sub-headings
- Stick to one or two sentences. If more detail is needed for a particular change, consider adding it to the "Solution" section
  - If you can't summarize the work, your change may be unreasonably large / unrelated. Consider splitting your PR to make it easier to review and merge!

## Migration Guide

> This section is optional. If there are no breaking changes, you can delete this section.

- If this PR is a breaking change (relative to the last release of Bevy), describe how a user might need to migrate their code to support these changes
- Simply adding new functionality is not a breaking change.
- Fixing behavior that was definitely a bug, rather than a questionable design choice is not a breaking change.
2022-10-10 16:34:24 +00:00
Nicola Papale 4e5b165fa0 Add details about intel linux vulkan driver (#6103)
# Objective

Fixes #6073

# Solution

Add a paragraph about `vulkan-intel` to the archlinux section.
2022-09-28 20:38:43 +00:00
bjorn3 f68f5cd2a5 Add troubleshooting for pkgconfig errors on fedora (#5821)
# Objective

- There can be a confusing pkgconfig error on fedora.

## Solution

- Add troubleshooting guide for pkgconfig errors on fedora.

---

cc https://github.com/bevyengine/bevy/issues/2826
cc https://github.com/bevyengine/bevy/issues/5738

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2022-08-29 23:16:43 +00:00
SuperSamus 4c35ecf71f linux_dependencies: fix NixOS (#5251)
I forgot a rec... (and I removed the redundant file name).

# Objective

- Fix the whoopsie from #5086.
2022-07-08 17:14:34 +00:00
SuperSamus 3d68094f6f linux_dependencies: cleanup NixOS (#5086)
# Objective

Small cleanup to NixOS dependencies.
Switched `clang` and `lld` to `bintools` because of [this](https://matklad.github.io/2022/03/14/rpath-or-why-lld-doesnt-work-on-nixos.html).
2022-06-24 02:13:00 +00:00
Domi 30ca97e287 Fix Nix section of linux_dependencies.md (#5050)
# Objective

`nix-shell` reported: ```error: 'x11' has been renamed to/replaced by 'xlibsWrapper'```.

## Solution

Replacing `x11` with `xlibsWrapper` in the Nix section of linux_dependencies.md fixes the problem on my system, and bevy projects build fine.
2022-06-20 19:06:38 +00:00
Thomas Hansen ba53a44956 Add Clear Linux OS dependencies (#4852) 2022-05-30 18:13:36 +00:00
Thomas Hansen 7d21ca3744 Add alsa-lib-devel to OpenSUSE dependencies (#4635)
Needed for compilation, tumbleweed. This PR adds the needed alsa package for OpenSUSE to the documentation.
2022-05-01 01:00:27 +00:00
persik 31636a3504 Update linux_dependencies for Gentoo. (#4195)
# Objective

- Add dependencies installation instructions for Gentoo for `linux_dependencies.md`.

## Solution

- Edit the `linux_dependencies.md`.
2022-03-21 04:15:37 +00:00
Zhe Chen 836ffeda31 Add missing dependencies for Fedora with Wayland (#3708)
# Objective

- The Linux dependencies document lacks packages for Fedora with Wayland.

## Solution

- Add instructions to install packages for running Bevy apps in Fedora with Wayland.
2022-01-17 22:22:16 +00:00
SuperSamus fc0f15f11e Documentation: simplify NixOS dependencies (#3527)
# Objective

The description of NixOS dependencies is extremely long and spends entire paragraphs just for simple line changes.
With this PR it should be much simpler.

## Solution

- Linking Vulkan in `build.rs` is less effective than adding it in LD_LIBRARY_PATH, so I removed the former (related to #1992);
- I put a simple comment explaining the line in the list of dependencies, instead of making entire paragraphs;
- Clang is not in an absolute path in `.cargo/config_fast_builds` anymore, so that there is no need to specify it in `docs/linux_dependencies.md` (didn't test if this breaks other distros, though I doubt it. Also, maybe it could also be done on Darwin for consistency?);
- Also added optional wayland dependencies.

A few notes:
- The x11 libraries will be linked only during the compilation phase. This means that if you use the `x11` feature without these libraries in the environment (for example because you forget to enter the nix shell before compiling), the program will still compile successfully but won't run. You'll have to `cargo clean` and recompile with the x11 libraries in the environment. I don't know if this is important enough to be added to the documentation, but it's not specified anywhere, though I don't think it's specific to NixOS;
- The wayland dependencies need to be put in LD_LIBRARY_PATH only in certain conditions (IIRC, only if using the `dynamic` feature) and the text doesn't specify it. Because putting them there doesn't increase the number of dependencies (they are already in buildInputs) or alter the performance, I doubt anyone will care;
- Should I comment out what isn't needed by default?
- ~I removed `cargo` from buildInputs. Ignoring the fact that it should be in nativeBuildInputs, having it in `shell.nix` allows to use stable Rust in case it's not in the system environment, but maybe the user wanted to use the version that was already in the system environment and will be caught by surprise. In my opinion, if someone is looking at a Bevy's documentation on NixOS, that user will either have Rust already in the system environment (eg. via rustup) or is capable to add the toolchain they want on shell.nix by themselves. This isn't exactly the place to explain how this works.~ ~EDIT: I replaced `cargo` with Rust from the [Oxalica overlay](https://github.com/oxalica/rust-overlay) in order to have the latest nightly.~ EDIT: Removed `cargo` from dependencies. See comments for details.
2022-01-10 17:05:13 +00:00
SarthakSingh31 2d301ea0ea Add instruction to enable ALSA api routing on Arch / Manjaro systems (#3455)
# Objective

Every few months a person using Arch asks for help with the following error on discord:
```
ALSA lib pcm_dmix.c:1032:(snd_pcm_dmix_open) unable to open slave
```
This error is caused by their sound server not being configured for ALSA. The fix is to install `pipewire-alsa` or `pulseaudio-alsa` depending on the sound server they use.

Examples:
- https://discord.com/channels/691052431525675048/749690364792668301/924380204237987861
- https://discord.com/channels/691052431525675048/742884593551802431/907392651689619486
- https://discord.com/channels/691052431525675048/742884593551802431/838062316360433664

## Solution

Add the instruction to install either `pipewire-alsa` or `pulseaudio-alsa` to [linux_dependencies.md](https://github.com/bevyengine/bevy/blob/main/docs/linux_dependencies.md#arch--manjaro)

## Extra Info

A lot of people don't run into this issue because `pipewire-alsa` / `pulseaudio-alsa` is a dependency for gnome and cinnamon.

@alice-i-cecile Sorry, had to recreate the pr. It doesn't let me reopen and change the branch of the original pr.
2022-01-05 23:28:30 +00:00
François a6d3cd92fe revert new dependency for fedora added in #3517 (#3530)
# Objective

- Revert #3517 as the dependency added (rust-libudev-devel) has a dependency on cargo which install the package manager version, which isn't compatible with rustup version and may break the setup of users


Co-authored-by: François <8672791+mockersf@users.noreply.github.com>
2022-01-02 20:36:41 +00:00
Oscar 478bf7a2b6 Remove Lutris from NixOS dependency section (#2945)
# Objective

- Using the instructions given for NixOS results in an unnecessarily long time to evaluate the shell expression due to unnecessary dependencies pulled in by `lutris`.

## Solution

- Removed `lutris` dependency.

Lutris is a GUI tool for running games on wine, I'm assuming it was pulled in by accident as it's definitely not necessary for running bevy. A hello world example, at the least, works fine without it.
2022-01-01 22:55:19 +00:00
Joel Godfrey-Smith 6b239713bf Update linux_dependencies.md (#3517)
Thanks for making Bevy. Recommend adding rust-libudev-devel as an additional dependence for Fedora.

# Objective

- Describe the objective or issue this PR addresses.
- If you're fixing a specific issue, say "Fixes #X".

## Solution

- Describe the solution used to achieve the objective above.
2022-01-01 22:28:44 +00:00
François 92a7e16aed Update dependencies ron winit& fix cargo-deny lists (#3244)
# Objective

- there are a few new versions for `ron`, `winit`, `ndk`, `raw-window-handle`
- `cargo-deny` is failing due to new security issues / duplicated dependencies

## Solution

- Update our dependencies
- Note all new security issues, with which of Bevy direct dependency it comes from
- Update duplicate crate list, with which of Bevy direct dependency it comes from

`notify` is not updated here as it's in #2993
2021-12-09 20:14:00 +00:00
Thomas Heartman e317058677 Docs/more nixos instructions (#2775)
# Objective

Expand the documentation for NixOS setups (as discussed in Discord)

## Solution

Added more info to `linux_dependencies.md` about NixOS. This is based off my own experience (as documented in [this blog post](https://blog.thomasheartman.com/posts/bevy-getting-started-on-nixos)), so I can't confirm that it'll work for everyone. However, if there are further tweaks necessary, then I think that this should nevertheless work as a good starting point and should give future users an idea of what they may need to change or update.

Feedback and tweaks are very welcome 😄
2021-09-06 19:16:09 +00:00
Daniel McNab 0aced5fb72 Revert #331 (#2502)
# Objective

@TomBebb (other account being @TomBebbington ) proved unreachable for #2373, so we need to revert their changes for the relicense.

## Solution

Revert their changes. This is only linux distro docs, so it's not critical code.

If someone else wants to test `bevy` on solus to work out the set of packages independently, then we'll probably accept a PR to add these. One suggestsion would be to consider the packages required on other systems, since there is likely to be some overlap.

## Alternatives

Link to this old version in the `linux_dependencies.md` file.
2021-07-19 21:13:30 +00:00
Daniel McNab 3a20462d3f Useful changes with relicensing benefits (#2497)
This obsoletes #1111 and #2445, since @ColonisationCaptain and @temhotaokeaha haven't replied to #2373.

I believe that both of those PRs would be fine to keep, but they're even more fine to keep now :)
2021-07-17 21:59:31 +00:00
dintho 337e6d5893 Added Opensuse Tumbleweed (#2375)
# Objective

- Describe the objective or issue this PR addresses.
- added openSUSE Tumbleweed deps that i needed to install today 2021-06-22

## Solution

- Describe the solution used to achieve the objective above.
- added info to doc
2021-07-05 22:35:50 +00:00
James Leflang cc0ee536f0 Add note about linker errors for Fedora users (#2009)
This PR adds a note to the Fedora section of Linux Dependencies on solving linker errors.

Fixes #1815.

Co-authored-by: James Leflang <59455417+jleflang@users.noreply.github.com>
2021-04-27 02:41:34 +00:00
Saverio Miroddi b80814681a Add g++ to the Ubuntu dependencies (#1874)
The g++ package may not be preinstalled.

Also, replaced the mention of "fast" compiles, with generic instructions about how to install clang; this is because on my test system, clang didn't make any difference, and it's likely not to do any in general, as it is a relatively small part of the build.

Closes #1294.
2021-04-14 22:02:52 +00:00
Psychoticpotato 2a3a32b66f Add mesa-vulkan-drivers to Debian install (#1489)
I received the `Unable to find GPU` error, but I got it to render by using this package.  Not 100% sure if a better option exists.
2021-03-07 19:17:25 +00:00
Marek Fajkus a5170625dc Update and simplify NixOS documentation (#1495)
Some updates and simplifications to the NixOS specific part of documentation.
2021-03-03 03:27:02 +00:00
MinerSebas c9f19d8663 Cleanup of Markdown Files and add CI Checking (#1463)
I have run the VSCode Extension [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) on all Markdown Files in the Repo.
The provided Rules are documented here: https://github.com/DavidAnson/markdownlint/blob/v0.23.1/doc/Rules.md

Rules I didn't follow/fix:
* MD024/no-duplicate-heading
  * Changelog: Here Heading will always repeat.
  * Examples Readme: Platform-specific documentation should be symmetrical.
* MD025/single-title
* MD026/no-trailing-punctuation
  * Caused by the ! in "Hello, World!".
* MD033/no-inline-html
  * The plugins_guidlines file does need HTML, so the shown badges aren't downscaled too much.
* ~~MD036/no-emphasis-as-heading:~~
  * ~~This Warning only Appears in the Github Issue Templates and can be ignored.~~
* ~~MD041/first-line-heading~~
  * ~~Only appears in the Readme for the AlienCake example Assets, which is unimportant.~~

---

I also sorted the Examples in the Readme and Cargo.toml in this order/Priority:
* Topic/Folder
* Introductionary Examples
* Alphabetical Order

The explanation for each case, where it isn't Alphabetical :
* Diagnostics
  * log_diagnostics: The usage of inbuild Diagnostics is more important than creating your own.
* ECS (Entity Component System)
  * ecs_guide: The guide should be read, before diving into other Features.
* Reflection
  * reflection: Basic Explanation should be read, before more advanced Topics.
* WASM Examples
  * hello_wasm: It's "Hello, World!".
2021-02-22 04:50:05 +00:00
dinococo 3adcba9461 Grammar fixes (#1390)
* Minor grammar fixes

* Minor grammar fixes

Fixed punctuation and wording.

* Minor grammar fixes

FIxed spelling, wording and formatting.
2021-02-03 19:15:25 -08:00
ColonisationCaptain c32c78fc66 Update fedora version (#1111) 2020-12-24 13:30:36 -06:00
Tiago Ferreira 2e2423139e Update dependencies for Enable Fast Compiles (#1065)
Added clang as an optional dependency to avoid frustration of running into compile error the first time you run a cargo build
2020-12-14 23:10:58 -08:00
MGlolenstine 23fcdfae56 Grammar correction (#856)
* Grammar correction
* Adjust for cart's personal taste

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-11-15 11:33:21 -08:00
Emanuel Lindström a592ef0562 Add WSL 2 instructions to linux_dependencies.md (#727)
Update linux_dependencies.md

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2020-10-28 18:51:51 -07:00