Repository navigation
Steam Machine and SteamOS support - #6201
Conversation
- Generic controller and game-services API in com.codename1.gaming (Gamepad, Gamepads, GameServices); a controller drives focus on any form. - Linux port: evdev gamepads with rumble, fullscreen, Steamworks through the flat API loaded at run time (achievements, stats, overlay, cloud saves, floating keyboard). No Steamworks file is committed. - Runs in the Steam Linux Runtime: no direct libGLESv2 link, OpenSSL 1.1 fallback for crypto. - Windows: Xbox controller input feeds the same API. - Steam depot packaging (steam.* hints), cn1:buildSteamLocal, cn1:buildSteam, cn1:steamUpload and the Gradle tasks; Steam chapter in the developer guide. - CI runs the Linux demo inside the Steam runtime image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…public Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Developer Guide build artifacts are available for download from this workflow run:
Developer Guide quality checks: |
Cloudflare Preview
|
✅ Continuous Quality ReportTest & Coverage
Static Analysis
Generated automatically by the PR CI workflow. |
|
Compared 231 screenshots: 231 matched. |
✅ ByteCodeTranslator Quality ReportTest & Coverage
Benchmark Results
Static Analysis
Generated automatically by the PR CI workflow. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Compared 196 screenshots: 196 matched. Benchmark Results
Detailed Performance Metrics
ParparVM vs HotSpot (JDK 25): macOS arm64Runner CPU: Apple M1 (Virtual) (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
glibc 2.38 headers rename sscanf to __isoc23_sscanf, which the glibc 2.28 link target lacks; the arm64 suite failed to link. Also a contraction in the steam.branch hint and gamepad in the guide's accepted words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Compared 195 screenshots: 195 matched. Native Android coverage
✅ Native Android screenshot tests passed. Native Android coverage
Benchmark ResultsDetailed Performance Metrics
|
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
|
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows x64Runner CPU: AMD64 Family 26 Model 2 Stepping 1, AuthenticAMD (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 210 screenshots: 210 matched. Benchmark ResultsDetailed Performance Metrics
ParparVM vs HotSpot (JDK 25): Windows arm64Runner CPU: ARMv8 (64-bit) Family 8 Model D49 Revision 0, MICROSOFT CORPORATION (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 193 screenshots: 193 matched. Benchmark Results
Build and Run Timing
Detailed Performance Metrics
|
|
Compared 193 screenshots: 193 matched. Benchmark Results
Build and Run Timing
Detailed Performance Metrics
|
|
Compared 210 screenshots: 210 matched. ParparVM vs HotSpot (JDK 25): Linux x64Runner CPU: INTEL(R) XEON(R) PLATINUM 8573C (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 210 screenshots: 210 matched. ParparVM vs HotSpot (JDK 25): Linux arm64Runner CPU: Neoverse-N2 (baseline Ratios are ParparVM / JDK 25: below 1.00x ParparVM is faster (time) or smaller (RAM). Median of 5 interleaved, paired rounds; every run's output was verified. A ratio more than 20% (time) / 25% (RAM) above its baseline in
Result: no regression |
|
Compared 253 screenshots: 253 matched. |
|
Compared 188 screenshots: 188 matched. |
|
Compared 192 screenshots: 192 matched. Benchmark Results
Detailed Performance Metrics
|
Ship Codename One games and apps to the Steam Machine, the Steam Deck and Linux players on Steam.
Gamepad/GamepadsAPI. Any form is usable from a couch with no code: D-pad and stick move focus, A presses, B goes back. Linux reads controllers directly from the input devices; Windows feeds its Xbox controller input into the same API.GameServicesgives achievements, stats, the overlay, cloud saves and Steam's floating keyboard. The Linux port loadslibsteam_api.soat run time; every other port answers "unavailable".libGLESv2link, plus an OpenSSL 1.1 fallback. CI runs the Linux demo inside Valve's runtime image.steam.appId, runcn1:buildSteamLocalorcn1:buildSteam, and get a depot with Valve's upload scripts;cn1:steamUploaduploads it with your own SteamCMD.Companion PRs: BuildDaemon (packaging and SteamCMD upload on the build servers) and BuildCloud (Steam as a submission store).
🤖 Generated with Claude Code