STAR TREK 2d20
Page 61 of 71 First ... 11515960616263 ... Last

Thread: Linux Testing

  1. #601
    Quote Originally Posted by kholdstare View Post
    I'm guessing you're running on the stock Gnome desktop? Since they've moved to Wayland you may need to apply the workaround in my last post.
    Workaround is to run FGU using "GDK_BACKEND=x11 ./FantasyGrounds.x86_64" and see if the crash no longer happens (as long as you have XWayland, which you should by default).

    @WilliamRiddle - see if this works for you too.
    I am using KDE

  2. #602
    What do you have set for $GDK_BACKEND ? It won't hurt anything to try it anyway, not sure if Plasma defaults to Wayland in newer Fedora or not.

  3. #603
    Quote Originally Posted by kholdstare View Post
    What do you have set for $GDK_BACKEND ? It won't hurt anything to try it anyway, not sure if Plasma defaults to Wayland in newer Fedora or not.
    I found:
    https://fedoraproject.org/wiki/Chang...faultForPlasma

    Which indicates: "Change the default session selection in SDDM to prefer the Wayland-based KDE Plasma Desktop session over the X11-based one."

    So tonight I will give this a test and report back. Thanks!

  4. #604
    @WilliamRiddle,
    @nephranka,

    I'm not able to get this to crash in my Ubuntu 18 VM.

    Can you grab the Player.log for the Unity player after a crash and provide here?
    (Located at ~/.config/unity3d/SmiteWorks/Fantasy Grounds/Player.log)

    Thanks,
    JPG

  5. #605
    Hi JPG,

    Ubuntu 18 does not use a Wayland session, so you will be unlikely to recreate this issue in that VM.
    Ubuntu 21.04+, Fedora, Debian, Manjaro and RHEL have all switched to Wayland as the default GNOME session.

    As I said previously, FGU nor Unity provide any logs of the crash event. I dug into a coredump and performed a backtrace:
    Code:
    #0  0x00007fbe54f0de72 in XDefaultRootWindow () at /usr/lib64/libX11.so.6
    #1  0x00007fbd9b14fbe8 in getWindowFromPid ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #2  0x00007fbd9b14fccb in getUnityWindow ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #3  0x00007fbd9b14ff4d in GTKOpenPanel ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #4  0x00007fbd9b14fe7a in DialogOpenFilePanelAsync ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    While Unity generally has no issue running under Wayland, FGU (I suspect) attempts to use X11-specific mechanisms to display the default file browser.
    I think an interim solution would be to explicitly set
    Code:
    GDK_BACKEND=x11
    in the provided .desktop launcher to force the X11 backend, or have a separate launcher ("Fantasy Grounds Unity (X11 Fallback)". Users on newer desktops running Wayland will have FGU automatically fall back to XWayland, much like most games, Discord and Spotify.

    Hope this helps.

  6. #606
    Quote Originally Posted by kholdstare View Post
    Hi JPG,

    Ubuntu 18 does not use a Wayland session, so you will be unlikely to recreate this issue in that VM.
    Ubuntu 21.04+, Fedora, Debian, Manjaro and RHEL have all switched to Wayland as the default GNOME session.

    As I said previously, FGU nor Unity provide any logs of the crash event. I dug into a coredump and performed a backtrace:
    Code:
    #0  0x00007fbe54f0de72 in XDefaultRootWindow () at /usr/lib64/libX11.so.6
    #1  0x00007fbd9b14fbe8 in getWindowFromPid ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #2  0x00007fbd9b14fccb in getUnityWindow ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #3  0x00007fbd9b14ff4d in GTKOpenPanel ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    #4  0x00007fbd9b14fe7a in DialogOpenFilePanelAsync ()
        at /home/username/.smiteworks/fantasygrounds/FantasyGrounds_Data/Plugins/libFileBrowser.so
    While Unity generally has no issue running under Wayland, FGU (I suspect) attempts to use X11-specific mechanisms to display the default file browser.
    I think an interim solution would be to explicitly set
    Code:
    GDK_BACKEND=x11
    in the provided .desktop launcher to force the X11 backend, or have a separate launcher ("Fantasy Grounds Unity (X11 Fallback)". Users on newer desktops running Wayland will have FGU automatically fall back to XWayland, much like most games, Discord and Spotify.

    Hope this helps.
    The forcing of x11 as you described fixes the issue. Thank you!

    Moon requested the logs, here they are when it was not working.
    Attached Files Attached Files

  7. #607
    I'm not seeing anything in the Player.log other than a normal startup and normal shutdown. Did you pull the Player.log immediately after the crash, or did you restart FGU before pulling the log?

    @kholdstare,
    I'm not familiar where that flag would need to be placed or used on a Linux installation, so that it would work in both Ubuntu 18 as well as 20/21. I would not want to add any alternate launchers, if at all possible to avoid support and user confusion. Do you have more information on how this needs to be setup, or a web page where I can read more?
    (Note, we use Unity game engine as well as some asset libraries to offer functionality, and do not consider ourselves experts on Linux by any means.)

    Thanks,
    JPG

  8. #608
    Quote Originally Posted by Moon Wizard View Post
    I'm not seeing anything in the Player.log other than a normal startup and normal shutdown. Did you pull the Player.log immediately after the crash, or did you restart FGU before pulling the log?

    @kholdstare,
    I'm not familiar where that flag would need to be placed or used on a Linux installation, so that it would work in both Ubuntu 18 as well as 20/21. I would not want to add any alternate launchers, if at all possible to avoid support and user confusion. Do you have more information on how this needs to be setup, or a web page where I can read more?
    (Note, we use Unity game engine as well as some asset libraries to offer functionality, and do not consider ourselves experts on Linux by any means.)

    Thanks,
    JPG
    Oops...seems I mixed things up. Here is the correct one.
    Attached Files Attached Files

  9. #609
    @JPG,

    Happy to help out with the Linux side as much as you need.

    It appears (from a rough guess) that FGU is using Unity Standalone File Browser to provide access to common controls (such as opening and saving files) across both Windows and Linux.
    By the looks of it, it also uses GTK internally for Linux compatibility, falling back on the standard GTK3+ library which is common across pretty much all desktops.

    The GDK_BACKEND variable essentially tells the toolkit which display backend to use, i.e. how to interact with the desktop. Normally this should automatically select Wayland if it's available or X11 if that's in use.

    In this case, when FGU is running in a Wayland session, the StandaloneFileBrowserModule calls back to GTK using the X11 backend, but FGU isn't actually running in X11. So GTK goes off to fetch a file dialog using X11 (you can see this in the above stacktrace), but there's nothing to answer its messages so it dies and takes down Unity with it.
    We can assume that the module, even though it uses GTK3+ which does support Wayland, is hard-coded to assume the program is running in X11 - the code is quite old now so it makes sense to assume X11 anyway.

    By setting the GDK_BACKEND variable to x11 before launching FGU, this essentially tells the window manager (i.e. Gnome or KDE) to run the program explicitly in X11 mode, so the GTK library is able to utilise the legacy X11 code paths to do things like display a file browser.
    Out of the box, all standard desktops and distros running Wayland will spin up a special compatibility layer called XWayland, i.e. the program runs seamlessly under Wayland with no effort needed on the user's part, but thinks it's running in a normal X11 session.

    Forcing FGU to use x11 will have no effect for users on Ubuntu 18.04 (since it's X11 anyway). For users on Wayland desktops, it should "just work". High DPI users may have problems with XWayland and scaling, but since FGU has scaling internally this may only make the file browser itself blurry.

    Let me know if you want any more info!

    Cheers.

  10. #610
    We are using the Crosstales FileBrowser Pro asset from the Unity store (which may be repackaged from that GitHub or derived from similar/same source). It looks like they have a newer version of the library, so I'll see if I can get the latest version first to try out before trying to override any OS variables. I'm checking with my developers to see who added it, so I can get the latest version to try. Once I get it, I'll try posting a new version for you guys to try in the Dev channel.

    Also, the Unity player log did catch the fatal signal directly without any other tools needed:
    Caught fatal signal - signo:11 code:1 errno:0 addr:0xffffffd306358b90
    Obtained 7 stack frames.
    #0 0x007f43746d1a20 in funlockfile
    #1 0x007f4373bbfcd6 in XDefaultRootWindow
    #2 0x007f42a6e7dbe8 in getWindowFromPid
    #3 0x007f42a6e7dccb in getUnityWindow
    #4 0x007f42a6e7df4d in GTKOpenPanel
    #5 0x007f42a6e7de7a in DialogOpenFilePanelAsync
    #6 0x0000004103e0a4 in (wrapper managed-to-native) Crosstales.FB.Wrapper.Linux.NativeMethodsialogOpenFilePanelAsync (string,string,string,bool,Crosstales.FB.Wrapper.L inux.NativeMethods/AsyncCallback)

    Regards,
    JPG

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
DICE PACKS BUNDLE

Log in

Log in