gameimage icon indicating copy to clipboard operation
gameimage copied to clipboard

Chromium Embedded Framework (CEF) applications fail to render UI elements inside GameImage container

Open flelard opened this issue 4 months ago • 0 comments

Environment

Host OS: Linux Mint GameImage version: [Your version] Application: Warcraft III Reforged (running via Wine/Proton as Linux native game) Wine version: GE-Proton (wine-staging 10.0)

Problem Description I'm trying to package Warcraft III Reforged as a Linux native game using Wine64 with GE-Proton. The game launches successfully outside of GameImage but fails to display UI buttons when running inside the GameImage container. The game uses BlizzardBrowser.exe (Chromium Embedded Framework) to render its user interface. While the background animations display correctly, all interactive UI elements (buttons, menus) are completely invisible. Working Configuration (Outside GameImage) The game works perfectly when launched directly from the terminal using this script:

`#!/bin/bash SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROTON_PATH="$SCRIPT_DIR/wine-runtime/ge-proton" WINEPREFIX="$SCRIPT_DIR/Warcraft 3 reforged"

export WINEPREFIX export WINEARCH=win64 export WINE="$PROTON_PATH/files/bin/wine64" export WINESERVER="$PROTON_PATH/files/bin/wineserver" export LD_LIBRARY_PATH="$PROTON_PATH/files/lib64:$PROTON_PATH/files/lib:$LD_LIBRARY_PATH" export DXVK_HUD=0 export WINE_LARGE_ADDRESS_AWARE=1 export WINEDLLOVERRIDES="winemenubuilder.exe=d"

cd "$SCRIPT_DIR" "$WINE" "$SCRIPT_DIR/Warcraft III Launcher.exe" -launch`

Failing Inside GameImage When the exact same setup is packaged in GameImage:

✅ The game launches successfully ✅ Background animations render correctly ✅ BlizzardBrowser.exe processes start ❌ UI buttons and interactive elements are completely invisible

What We've Tested

1.Using Proton's Python wrapper → Crashes with stack smashing detected error inside GameImage (works fine outside) 2.Using Wine64 directly → Game launches but no UI buttons visible 3.Software rendering flags → Attempted to force CEF software rendering: --disable-gpu --disable-gpu-compositing --in-process-gpu --no-sandbox

4.Registry modifications → Tried adding Chromium command-line flags to Wine registry: wine reg add "HKCU\\Software\\Chromium\\CommandLine" /v "disable-gpu" /t REG_SZ /d "1" /f wine reg add "HKCU\\Software\\Chromium\\CommandLine" /v "no-sandbox" /t REG_SZ /d "1" /f

5.Environment variables → Tested various combinations: LIBGL_ALWAYS_SOFTWARE=1 WEBKIT_DISABLE_COMPOSITING_MODE=1 MESA_GL_VERSION_OVERRIDE=4.5

  1. System libraries → Copied essential system libraries into the game directory to ensure availability

None of these solutions resolved the issue inside GameImage.

Logs

The Wine logs show that BlizzardBrowser processes are spawning correctly:

Game: BlizzardBrowser.exe
info: DXVK: v2.7.1-204-ge5ca79b0099a1a4

No critical errors appear in the logs, suggesting the CEF renderer processes start but cannot display content due to container restrictions.

Root Cause Analysis

The issue appears to be related to GameImage's container isolation preventing CEF from:

  • Accessing GPU resources properly
  • Creating graphics contexts
  • Communicating with the X11/Wayland display server
  • Rendering UI elements in separate renderer processes

Expected Behavior

CEF-based applications should be able to render their UI elements inside GameImage, just as they do when run directly on the host system.

Possible Solutions

Would it be possible to:

  1. Add configuration options to expose GPU/graphics resources to the container?
  2. Provide less restrictive sandboxing options for applications that require CEF/Chromium?
  3. Document workarounds for CEF-based applications?

Additional Context

This affects not just Warcraft III but potentially any Windows application using Chromium Embedded Framework (Battle.net, Discord, Spotify, many game launchers, etc.) when packaged with GameImage.

The game's structure:

Game Directory/
├── launch.sh
├── wine-runtime/
│   └── ge-proton/
├── Warcraft 3 reforged/ (Wine prefix)
├── Warcraft III Launcher.exe
└── _retail_/x86_64/BlizzardBrowser/

flelard avatar Nov 01 '25 15:11 flelard