steam-runtime
cmake-init-vcpkg-example
Our great sponsors
steam-runtime | cmake-init-vcpkg-example | |
---|---|---|
86 | 19 | |
1,153 | 8 | |
1.4% | - | |
6.6 | 4.7 | |
7 months ago | 12 days ago | |
Shell | CMake | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
steam-runtime
-
One Game, by One Man, on Six Platforms: The Good, the Bad and the Ugly
> It turns out that unless the game is explicitly marked (by Valve reviewers), Steam Deck will use the Windows build + Proton even if a Linux version is available.
I found this which sounds like it's not the default, but is in fact a result of compatibility testing:
> If your game has gone through Steam Deck compatibility testing and the testers reported that the native Linux version didn't work (because of #579), then it might have been flagged to run the Windows binaries via Proton by default, instead of the native Linux version.
per https://github.com/ValveSoftware/steam-runtime/issues/585
-
Chromebook Plus: more performance and AI capabilities
> Where is it written that steam-run will magically execute most binaries without patching them?
Somewhere in here: https://github.com/ValveSoftware/steam-runtime
:p
But I do get what you're saying. Once Flakes are default, I hope people start a proper push to clear up documentation and streamline the development process. The end-result is amazing, and the perfect OS/packaging system for my needs. The means of getting there... need a lot of work. I'm along for the ride either way.
-
i386 in Ubuntu Won't Die
I think they have something a bit like a container built into Steam: https://github.com/ValveSoftware/steam-runtime
- Gaming on Linux easier on Debian based distros vs Arch based?
-
How do you build games for Steam Linux Runtime?
this is for steamworks API, my understanding is there's a separate SDK for consuming Linux dependencies like glibc. Like Soldier runtime, Sniper runtime, and so on. Am I wrong in thinking these are two separate SDKs? here's the link to the other SDK I'm talking about: https://github.com/ValveSoftware/steam-runtime
-
After 4 years of development, 100% on Linux, I've released my 2D sandbox RPG, Vagabond, in Early Access !
I'm not sure we can distribute a flatpak or an appimage through Steam. They have their own controlled environment called Steam Runtime (https://github.com/ValveSoftware/steam-runtime) in which I should compile to be sure it runs everywhere (very similar to what I am doing). Last time, I look at this, it wasn't very clear and they supported only old versions of GCC. But it seems the documentation improved and now that I succeeded in building a modern version of GCC in my own container, maybe I could do that in theirs.
-
How to install old libraries on OTHER distro's than Debian?
I believe it's usable outside of Steam: https://github.com/ValveSoftware/steam-runtime though the instructions are not particularly clear. There's also a link to the APT repo they use as a reference: https://repo.steampowered.com/steamrt/
- Steam Desktop Client Update, Now with working hardware acceleration on linux!
-
Recommended method to install Steam on Debian?
Looking at the Flatpak version, if you want to use Proton versions 5.13 or newer with Steam in Flatpak, you need to install Flatpak from backports https://github.com/ValveSoftware/steam-runtime/issues/294 . Using Flatpak saves having to install i386 if that matters to you.
-
Wine 8.1
> Game developers would be fine to target a single distro like Ubuntu 22.04.
Valve has its own container-only Linux distribution, called "Soldier Runtime" (https://github.com/ValveSoftware/steam-runtime); especially for games distributed on Steam, it probably makes more sense to target that distribution instead of Ubuntu.
cmake-init-vcpkg-example
-
Clang-tidy ignore third party
If your dep is not on any of those, then you can write your own port with vcpkg very easily like this.
-
How would you create/maintain a new c++ project using modern tools/practices?
Are they only on git(hub)? You can write a vcpkg overlay port (example) or use FetchContent if the projects are FetchContent ready in a way that doesn't force FetchContent on people trying to build the project (example).
-
CMake/Make problem when compiling C++
Take a look at cmake-init, vcpkg and this example that shows how to pull dependencies from git(hub) using vcpkg's overlay ports.
-
How to download libraries with vcpkg?
cs50 doesn't appear to be present in the MS repo. No problem, you can write your own overlay port. You can find an example for that here: https://github.com/friendlyanon/cmake-init-vcpkg-example
-
Managing Newlib as a Project Dependency
You can take a look at vcpkg or Conan. Maybe vcpkg could be simpler here, because overlay ports are simpler to write than setting up Artifactory for Conan.
-
Best way to manage dependencies with c++?
Conan and vcpkg are the only options. I use them both, depends on what kinds of dependencies I want to pull. vcpkg is easier to setup custom one-off dependencies with using overlay ports, while Conan is faster at things if your profile fits one that has a pre-built binary in CCI. Both are trivial to integrate with a CMake project, see these examples for Conan and vcpkg.
-
Libraries
Here is an example that shows you how to write your own ports for libraries that don't have one provided by vcpkg. The alternative is doing it manually, but eh.
-
CMakePresets.json and vcpkg based GitHub Action workflows for C++
As part of the cmake-init examples I also have an example showing vcpkg integration with a CMake project with exact instructions on what that takes, which also involves CI.
-
Barbarian, an open and distributed Conan package index!
Overlay ports.
-
Problem with imported library
IMPORTED targets have directory scope, they aren't global like the other target types. Depending on what your project's type is and how it's used, the correct answer can vary from just requiring a path to be passed on the CLI to proper package management usage (e.g. vcpkg)
What are some alternatives?
flatpak - Linux application sandboxing and distribution framework
CPM.cmake - 📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.
dxvk-native - D3D9/11 but it runs natively on Linux!
conan-center-index - Recipes for the ConanCenter repository
Proton - Compatibility tool for Steam Play based on Wine and additional components
Folly - An open-source C++ library developed and used at Facebook.
flathub - Issue tracker and new submissions
CMake - Mirror of CMake upstream repository
SDL - Simple Directmedia Layer
Jenkins - Jenkins automation server
steam-for-linux - Issue tracking for the Steam for Linux beta client
gentoo - [MIRROR] Official Gentoo ebuild repository