Skip to content

fbraz3/GeneralsX

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,841 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Ask DeepWiki GeneralsX CI GitHub Release

GeneralsX - Cross-Platform Command & Conquer: Generals

GeneralsX delivers native Linux and macOS builds of Command & Conquer: Generals and Zero Hour through a single modern codebase using SDL3 (windowing/input), DXVK (DirectX 8 -> Vulkan graphics), OpenAL (audio), and 64-bit builds.

The project focuses on integration, adaptation, platform-specific fixes, enhancements, testing, packaging, and release workflows that make the port practical to build, run, and maintain.

Note: This project is not related to any mods with similar names and does not aim to extend or modify gameplay.

Project Goals

GeneralsX exists to turn upstream preservation and porting work into a practical and maintainable project for active Linux and macOS players.

Its main goals are:

  • Preserve retail gameplay behavior while modernizing the platform layer.
  • Maintain a single codebase with Linux and macOS as the active targets, while keeping a future Windows path possible.
  • Carry the adaptation work needed to make the stack function in practice across supported platforms, including repository-specific fixes when upstream constraints leave gaps.
  • Deliver reproducible builds, packaging, and release workflows that make the port usable beyond local development setups.
  • Replace the original Windows-only DirectX 8 / Miles stack with portable open-source equivalents where appropriate.
  • Keep upstream lineage clear by distinguishing foundational work from the integration, packaging, and platform support specific to GeneralsX.

To stay up to date on project status, visit our Dev Blog.

How to download

For official releases and instructions, visit:

Installing the game

For release/runtime setup instructions (Linux and macOS), see:

Don't have the game files yet? The Steam version does not offer a macOS or Linux download. See docs/BUILD/GETTING_THE_GAME_FILES.md for three ways to obtain the original game assets (copy from Windows, CrossOver trial, or SteamCMD).

How does this project relate to other community projects?

GeneralsX builds on complementary community efforts with different roles.

TheSuperHackers provides the main upstream foundation for stability, bug fixes, retail compatibility, and long-term maintenance of the original game code.

Fighter19's fork, including major work by feliwir, is a key Zero Hour cross-platform reference that established much of the ecosystem groundwork used here, including SDL3 windowing, DXVK-based rendering, OpenAL audio, FFmpeg media support, filesystem modernization, and related Linux-focused portability work.

While GeneralsX builds on important community work, this project also includes substantial original effort in integration, adaptation, platform-specific fixes, enhancements, testing, packaging, and ongoing maintenance.

Because these projects serve different but complementary goals, not every change belongs in the same place. Improvements aligned with upstream stability or core maintenance priorities should be contributed back to TheSuperHackers, while GeneralsX keeps changes specific to cross-platform delivery, packaging, and platform integration.

Where does the GeneralsX name come from?

There are two reasons for this name:

  1. X = Cross - reflects the cross-platform efforts
  2. I am a big fan of the Mega Man X franchise, so this is also a tribute to that classic series.

πŸ’– Support This Project

The optional sponsorship link exists to help cover the maintenance costs specific to GeneralsX: Linux/macOS integration, project-specific adaptation work, testing infrastructure, packaging, tooling, release work, and documentation.

Your support specifically helps with:

  • Integration, Adaptation and Enhancements - Merging reference work, resolving incompatibilities, and carrying project-specific fixes needed for supported platforms
  • Testing Infrastructure - Validation across Linux and macOS, plus exploratory work needed to keep future platform paths viable
  • Packaging & Releases - AppImage, Flatpak, macOS bundles, CI pipeline
  • Documentation & Maintenance - Build guides, installation instructions, developer resources, and ongoing repository upkeep

Please also consider supporting the upstream community efforts that made this possible:

πŸ”¨ Building from Source

πŸ› Known Issues & Limitations

For documented limitations and known bugs, check the issues page.


🀝 How to Contribute

  1. Check current issues and GitHub discussions
  2. Read platform-specific build guides (Windows, macOS, Linux)
  3. Follow CONTRIBUTING.md guidelines
  4. Submit issues or pull requests with detailed information

πŸ™ Special Thanks

  • Westwood Studios for creating the legendary Command & Conquer series
  • EA Games for Command & Conquer: Generals, which continues to inspire gaming communities
  • TheSuperHackers / Xezon and contributors for the upstream stability, bug fixes, and code modernization that form the foundation of GeneralsX
  • Fighter19 for the cross-platform port that pioneered SDL3 windowing, DXVK graphics, and MinGW build support on Linux
  • feliwir for the foundational cross-platform systems implemented in Fighter19's fork: OpenAL audio, FFmpeg video decoding, C++17 filesystem, and Freetype/Fontconfig text rendering
  • All contributors and sponsors for helping to make this game truly cross-platform and accessible worldwide

πŸ“„ License

See the LICENSE file for details.

EA has not endorsed and does not support this product. All trademarks are the property of their respective owners.

About

Command and Conquer: Generals - Zero Hour

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors

Languages

  • C++ 96.0%
  • C 2.8%
  • CMake 0.7%
  • Shell 0.3%
  • Python 0.2%
  • Perl 0.0%