Skip to content

CEF on Wine #1000

@qaisjp

Description

@qaisjp

Describe the bug

CEF does not work on Wine as expected.

To reproduce

  1. Run start webbrowser
  2. Open the webbrowser.
  3. Nothing appears in place of the MTA website

Version

Multi Theft Auto v1.5.6-release-18664

Additional context

You will receive the following warnings the Wine (Windows) console:

0177:err:module:import_dll Library libcef.dll (which is needed by L"C:\\Program Files\\MTA San Andreas 1.5\\MTA\\CEF\\CEFLauncher_DLL.dll") not found
0177:err:module:import_dll Library CEFLauncher_DLL.dll (which is needed by L"C:\\Program Files\\MTA San Andreas 1.5\\MTA\\CEF\\CEFLauncher.exe") not found
0177:err:module:LdrInitializeThunk Importing dlls for L"C:\\Program Files\\MTA San Andreas 1.5\\MTA\\CEF\\CEFLauncher.exe" failed, status c0000135

You must COPY the following files from MTA to MTA/CEF to work around this issue:

cp libcef.dll chrome_elf.dll icudtl.dat natives_blob.bin v8_context_snapshot.bin snapshot_blob.bin CEF

Thank you to @TheNormalnij for discovering this solution.

Note that you do not need snapshot_blob.bin from the MTA directory if you set WINARCH=win32. This additional bin file is only required in x64.

Without the DLL files in the MTA/ directory, the game WILL crash. This has been tested and is reproducible. You can't test this without performing a game restart.

Without the DLL files in the CEF/ directory, the game will silently output an error to the Windows (Wine) console. Nothing will appear ingame. This can be tested by restarting the webbrowser resource.

Without the other .bin data files in the CEF/ directory, CEFLauncher will crash, but the game will not. Nothing will appear in game. This can be tested by restarting the webbrowser resource. This also happens if you remove only the icudtl.dat. Partial removal of the .bin files have not been tested.

Roadmap

  • Determine if this is a bug in MTA or a bug in Wine.
  • If a bug in MTA: fix it.
  • If a bug in Wine:
    • File a Wine report.
    • Add a fix into our installer by simply symlinking these important files.
    • Pester @qaisjp to attempt a patch for Wine. (I suspect import_dll is missing out a directory to search in... but that would be way too "easy" of a solution.)

Screenshots

Without the fix above
image

With the fix above
image

CEFLauncher crash without data files
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingupstreamRelated to vendor library

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions