Skip to content

Conversation

@utkarshdalal
Copy link
Owner

@utkarshdalal utkarshdalal commented Jan 20, 2026


Summary by cubic

Add FEX AppConfig overrides so Steam and its helper processes run correctly under FEX. Overrides are created at startup and applied during X server setup.

  • New Features
    • Auto-write FEX AppConfig JSON overrides for Steam and common helper executables.
    • Apply overrides during X server setup via FEXCoreManager.ensureAppConfigOverrides().
    • Stop deleting FEX config files on container creation to preserve overrides.

Written for commit e37f75d. Summary will update on new commits.

Summary by CodeRabbit

  • Refactor
    • Apply per-executable app configuration overrides during environment setup to ensure consistent runtime settings.
    • Stop removing existing config files when preparing containers, preserving user/app configuration data.
    • Improve detection and handling of target executables to reliably apply configuration overrides across environments.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 20, 2026

📝 Walkthrough

Walkthrough

Added per-executable FEX app-config overrides via new FEXCoreManager APIs and invoked them during X environment setup; removed explicit deletion of FEXCore config files from container utilities.

Changes

Cohort / File(s) Summary
FEXCoreManager — new config APIs
app/src/main/java/com/winlator/fexcore/FEXCoreManager.java
Added APP_CONFIG_EXE_NAMES and APP_CONFIG_CONTENT constants, plus ensureAppConfigOverrides(Context) (writes per-exe JSON files) and findAppConfigExeName(String) (case-insensitive exe name matcher).
X environment integration
app/src/main/java/app/gamenative/ui/screen/xserver/XServerScreen.kt
Call to FEXCoreManager.ensureAppConfigOverrides(context) inserted within setupXEnvironment after guestProgramLauncherComponent is added.
Container utilities cleanup
app/src/main/java/app/gamenative/utils/ContainerUtils.kt
Removed explicit calls that deleted FEXCore config files during container retrieval/creation to keep per-app config files intact.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

🐰
I hopped through folders, nibbling bugs away,
Left config files safe so apps can play,
Wrote tiny JSON notes for each exe,
Planted overrides where they should be,
Now games wake up and dance — hip-hip-hooray! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding FEX AppConfig overrides to enable Steam execution, which aligns with the core functionality added across the modified files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@app/src/main/java/com/winlator/fexcore/FEXCoreManager.java`:
- Around line 50-67: ensureAppConfigOverrides is writing AppConfig into
"/home/xuser/.config/.fex-emu/AppConfig" while deleteConfigFiles targets
"imagefs/home/xuser/.fex-emu/AppConfig", so align the two: update
ensureAppConfigOverrides (and/or deleteConfigFiles) to derive the same baseDir
from ImageFs.find(context).getRootDir() and use a single canonical path for the
FEX config (e.g., include or omit the ".config" segment consistently), or
extract a shared helper that constructs the baseDir used by both
ensureAppConfigOverrides and deleteConfigFiles so
APP_CONFIG_EXE_NAMES/APP_CONFIG_CONTENT files are created and deleted from the
identical directory.
🧹 Nitpick comments (1)
app/src/main/java/com/winlator/fexcore/FEXCoreManager.java (1)

69-78: Remove unused method findAppConfigExeName.

This method is not called anywhere in the codebase and should be removed to reduce code clutter.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

@utkarshdalal utkarshdalal merged commit 7b787c7 into master Jan 20, 2026
3 checks passed
@utkarshdalal utkarshdalal deleted the fex-file-overrides branch January 20, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants