Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Asset Forge

Create your own 3D models and 2D sprites! · By Kenney

Wayland Issues

A topic by ThGaloot created Feb 11, 2021 Views: 384 Replies: 4
Viewing posts 1 to 2
(1 edit)

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.

(1 edit)

Hey, thanks for reporting this but officially only Ubuntu Linux is supported. So unfortunately you'll have to use that distro, a similar one or keep using the version you were using before. It's impossible for us to (keep) supporting all Linux distros.

I completely understand the support limitations, however, the issue isn't the distro, its the display protocol difference. Ubuntu is planning on moving to Wayland as well. This means Asset Forge will not work for Ubuntu 21.04 LTS just like it does not currently on Fedora 33.

I'll contact the author of the plug-in we're using for the file browser to see if this can be fixed, this is however out of our hands - but will see what I can do!

Thanks Kenney! I'll update this thread if I find anything else or possibly a temporary fix for Wayland.