Skip to content

LMU online-join bcrypt fix (GE-Proton10-34-LMU-hid_fixes[-vr]-bcryptfix)

Latest

Choose a tag to compare

@schlegp schlegp released this 28 Jul 19:58

GE-Proton10-34-LMU-hid_fixes(-vr)-bcryptfix

Drop-in Proton for Le Mans Ultimate that fixes the infinite spinner when
joining online sessions
introduced by the LMU v1.4 update.

This is the existing LMU community Proton (GE-Proton10-34-LMU-hid_fixes by
@JacKeTUs, with the -vr cursor-texture fix by @srounce) with one extra
patch: Wine's bcrypt now honours KDF_SECRET_PREPEND/KDF_SECRET_APPEND in
BCRYPT_KDF_HASH, which the EOS/TLS join handshake requires.

Which one?

File Use if
GE-Proton10-34-LMU-hid_fixes-vr-bcryptfix.tar.gz you play in VR (or just want the most complete build)
GE-Proton10-34-LMU-hid_fixes-bcryptfix.tar.gz flat-screen only

The -vr build works fine for flat-screen too.

Install

  1. Download the .tar.gz.
  2. Extract it into your compatibility tools folder:
    tar xf GE-Proton10-34-LMU-hid_fixes-vr-bcryptfix.tar.gz -C ~/.local/share/Steam/compatibilitytools.d/
    (Restart Steam if it was running.)
  3. Steam → Le Mans Ultimate → Properties → Compatibility → force
    GE-Proton10-34-LMU-hid_fixes-vr-bcryptfix.
  4. Launch → join an online session. It should connect.

If you were already on GE-Proton10-34-LMU-hid_fixes(-vr), switching to this
variant is a drop-in replacement — same behaviour plus the online fix. No need
to delete your prefix.

What changed (single file)

Only Wine's bcrypt.dll (64- and 32-bit) differs from the base build — nothing
else. The fix makes BCryptDeriveKey(KDF=BCRYPT_KDF_HASH) compute the
spec-correct Hash(prepend ‖ secret ‖ append) instead of ignoring the
prepend/append buffers. Full write-up + repro in
ValveSoftware/Proton#7512.

md5 (so you can verify the download):

x86_64-windows/bcrypt.dll  058dbb949349b9168dae5903662ccad7
i386-windows/bcrypt.dll    5335d4e4b0e7b7828bb91f7c30cf98d6

Credits

  • @JacKeTUs — Direct2D/SpriteBatch/HID/GameInput work that makes LMU run at all.
  • @srounce — VR cursor-texture fix (-vr build).
  • bcrypt KDF patch — me; also submitted upstream to Wine.

Status

Unofficial stopgap until the bcrypt fix lands in Wine/Proton. Once it's
upstream, plain GE-Proton (or Proton Experimental) will work and you can switch
back.