As of Fedora 33, the Red Hat developers made the decision to move from X11 display server protocol to the new Wayland protocol. Whenever I run Asset Forge, I cannot open the file dialog panel. This means I am not able to use menu options (e.g. scripts > open lua) without crashing Asset Forge. Here is my stacktrace from the crash:
Found path: /opt/asset-forge/Asset Forge.x86_64
Mono path[0] = '/opt/asset-forge/Asset Forge_Data/Managed'
Mono config path = '/opt/asset-forge/Asset Forge_Data/MonoBleedingEdge/etc'
Preloaded 'ScreenSelector.so'
Preloaded 'libFileBrowser.so'
Preloaded 'libProcessStart.so'
Display 0 'XWAYLAND0 32"': 2560x1440 (primary device)
. Display 1 'XWAYLAND1 24"': 1080x1920 (secondary device).
Logging to /home/rmayobre/.config/unity3d/Kenney/Asset Forge/Player.log
Stacktrace:
at <unknown> <0xffffffff> at (wrapper managed-to-native) Crosstales.FB.Wrapper.Linux.NativeMethods.DialogOpenFilePanel (string,string,string,bool) [0x00026] in <426db6691f7e4f899d8323a958dc754a>:0 at Crosstales.FB.Wrapper.FileBrowserLinux.OpenFiles (string,string,Crosstales.FB.ExtensionFilter[],bool) [0x00008] in <426db6691f7e4f899d8323a958dc754a>:0 at Crosstales.FB.Wrapper.FileBrowserBase.OpenSingleFile (string,string,Crosstales.FB.ExtensionFilter[]) [0x00000] in <426db6691f7e4f899d8323a958dc754a>:0 at Crosstales.FB.FileBrowser.OpenSingleFile (string,string,Crosstales.FB.ExtensionFilter[]) [0x00000] in <426db6691f7e4f899d8323a958dc754a>:0 at Procedural.LoadLua () [0x0001a] in <12ec27006e7443618a72813c20ba07e4>:0 at Menubar.Select (string) [0x00633] in <12ec27006e7443618a72813c20ba07e4>:0 at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) [0x0001e] in <12ec27006e7443618a72813c20ba07e4>:0 at <unknown> <0xffffffff> at (wrapper managed-to-native) UnityEngine.Component.SendMessage (UnityEngine.Component,string,object,UnityEngine.SendMessageOptions) [0x0000c] in <f77b91098dd046649e385b3ae1c8b7ef>:0 at DropdownList.Click (UnityEngine.UI.Button) [0x000a0] in <12ec27006e7443618a72813c20ba07e4>:0 at UnityEngine.Events.InvokableCall`1<T1_REF>.Invoke (T1_REF) [0x00011] in <f77b91098dd046649e385b3ae1c8b7ef>:0 at UnityEngine.Events.CachedInvokableCall`1<T_REF>.Invoke (object[]) [0x00001] in <f77b91098dd046649e385b3ae1c8b7ef>:0 at UnityEngine.Events.UnityEvent.Invoke () [0x0006e] in <f77b91098dd046649e385b3ae1c8b7ef>:0 at UnityEngine.UI.Button.Press () [0x00027] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData) [0x00011] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler,UnityEngine.EventSystems.BaseEventData) [0x00008] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.ExecuteEvents.Execute<T_REF> (UnityEngine.GameObject,UnityEngine.EventSystems.BaseEventData,UnityEngine.EventSystems.ExecuteEvents/EventFunction`1<T_REF>) [0x00070] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMousePress (UnityEngine.EventSystems.PointerInputModule/MouseButtonEventData) [0x00181] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent (int) [0x0002f] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.StandaloneInputModule.ProcessMouseEvent () [0x00001] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.StandaloneInputModule.Process () [0x00071] in <408ee57755ab434cb775b5975cf1747a>:0 at UnityEngine.EventSystems.EventSystem.Update () [0x000f3] in <408ee57755ab434cb775b5975cf1747a>:0 at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0001e] in <4b86512bfcd1449dba2c62ce4e706e3a>:0
I know this program is built on Unity Game Engine and is using Mono as it's runtime. It looks like Mono has a bug with it's DialogOpenFilePanel method (the wrapper function for a native method call).
This program works fine when I switch from Wayland to X11, however, ideally I would like to keep using Wayland since X11 has been depricated by it's author.