diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index c1f06dec30..e2e26afe16 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -104,6 +104,14 @@ namespace BizHawk.Client.EmuHawk } _lua.RegisterFunction("print", this, typeof(Win32LuaLibraries).GetMethod(nameof(Print))); + if (OSTailoredCode.IsUnixHost) + { + // add %exe%/Lua to library resolution pathset (LUA_PATH) + // this is done already on windows, but not on linux it seems? + var packageTable = (LuaTable) _lua["package"]; + var luaPath = PathEntries.LuaAbsolutePath(); + packageTable["path"] = $"{luaPath}/?.lua;{luaPath}?/init.lua;{packageTable["path"]}"; + } EmulationLuaLibrary.FrameAdvanceCallback = Frameadvance; EmulationLuaLibrary.YieldCallback = EmuYield;