Log in

View Full Version : FG+Linux+File choose/File manager possible issue



rek2
July 14th, 2025, 21:34
Hello everyone,

I'm new to Fantasy Grounds and currently setting up a Cyberpunk RED campaign.
I'm running into a reproducible crash:

Problem:
When I go to the “Images” tab and click the “Import” button, FG crashes immediately. This happens 100% of the time.

Environment:

OS: Arch GNU/Linux

Display protocol: Wayland

WM: Hyprland (tiling compositor, no full desktop environment)

FG version: latest, I update every day.

Important context:
I have lf (a terminal-based file manager) set as my default via xdg-mime. for context see https://github.com/gokcehan/lf
That setup actually works fine in many GUI apps (e.g., Firefox uses lf as my file picker without issue).
But I suspect FG crashes because it tries to launch lf as the file picker, which might not be supported in its GUI context — possibly leading to a segmentation fault or failure when spawning the file chooser.

Questions:

Is there a way to override the file picker used by Fantasy Grounds — for example, forcing it to use a native GTK/KDE file chooser like dolphin, nautilus, or gtk-file-chooser?

Does FG rely on xdg-desktop-portal, gvfs, or its own file dialog backend?

Is there any config file or launch argument where I can force a specific file picker to avoid the crash?

I’d be happy to run FG through strace or gdb and provide crash info if needed.
Thanks in advance!

pindercarl
July 14th, 2025, 22:53
Hello everyone,

I'm new to Fantasy Grounds and currently setting up a Cyberpunk RED campaign.
I'm running into a reproducible crash:

Problem:
When I go to the “Images” tab and click the “Import” button, FG crashes immediately. This happens 100% of the time.

Environment:

OS: Arch GNU/Linux

Display protocol: Wayland

WM: Hyprland (tiling compositor, no full desktop environment)

FG version: latest, I update every day.

Important context:
I have lf (a terminal-based file manager) set as my default via xdg-mime. for context see https://github.com/gokcehan/lf
That setup actually works fine in many GUI apps (e.g., Firefox uses lf as my file picker without issue).
But I suspect FG crashes because it tries to launch lf as the file picker, which might not be supported in its GUI context — possibly leading to a segmentation fault or failure when spawning the file chooser.

Questions:

Is there a way to override the file picker used by Fantasy Grounds — for example, forcing it to use a native GTK/KDE file chooser like dolphin, nautilus, or gtk-file-chooser?

Does FG rely on xdg-desktop-portal, gvfs, or its own file dialog backend?

Is there any config file or launch argument where I can force a specific file picker to avoid the crash?

I’d be happy to run FG through strace or gdb and provide crash info if needed.
Thanks in advance!

This might help: https://fantasygroundsunity.atlassian.net/wiki/spaces/FGCP/pages/1997012993/Linux+Starting+FGU+with+Wayland+Instead+of+x11+Com positor

nickabbey
September 29th, 2025, 20:54
sorry for the necro, but it didn't seem to make sense to open a new thread for this comment.
The suggestion to skip wayland and render with x11 native backend fixed my issue.
I was getting a crash with the following logs whenever I clicked the import button to tray and add a character from an exported xml file.

normal startup stuff and then:


opyright 2025 Smiteworks USA, LLC
[9/29/2025 3:41:41 PM] RULESET: Core RPG ruleset (2025-09-09) for Fantasy Grounds
Copyright 2025 Smiteworks USA, LLC
[9/29/2025 3:41:41 PM] MEASURE: LOAD - PART 2 - 2.26252
Caught fatal signal - signo:11 code:128 errno:0 addr:(nil)
Obtained 20 stack frames.
#0 0x007fec31601b98 in getWindowFromPid
#1 0x007fec31601c7b in getUnityWindow
#2 0x007fec31601efd in GTKOpenPanel
#3 0x007fec31601e2a in DialogOpenFilePanelAsync
#4 0x00000040826de3 in (wrapper managed-to-native) Crosstales.FB.Wrapper.Linux.NativeMethods:DialogOp enFilePanelAsync (string,string,string,bool,Crosstales.FB.Wrapper.L inux.NativeMethods/AsyncCallback)
#5 0x00000040826abf in Crosstales.FB.Wrapper.FileBrowserLinux:OpenFilesAs ync (string,string,string,bool,Crosstales.FB.Extension Filter[],System.Action`1<string[]>)
#6 0x0000004082654a in Crosstales.FB.FileBrowser:OpenFilesAsync (string,string,string,bool,Crosstales.FB.Extension Filter[])
#7 0x00000040822c5f in FEJEDEPIKDL:ADIHDHOJKEF (int,bool,string,System.Collections.Generic.List`1<System.ValueTuple`2<string, string>>)
#8 0x0000004082255b in LLEJHGCHBDD:DDDBLEEFJPF (intptr)
#9 0x000000406c6e87 in (wrapper native-to-managed) LLEJHGCHBDD:DDDBLEEFJPF (intptr)
#10 0x000000406b4fae in (wrapper managed-to-native) KeraLua51.NativeMethods:lua_pcall (intptr,int,int,int)
#11 0x000000406b4f23 in KeraLua51.Lua:PCall (int,int,int)
#12 0x000000406b4e6f in JEAPNOMMHMC:IFOEMGIHOML (int,int,bool)
#13 0x00000040758117 in BGKNOHPJLAI:BCGDIPADBCG (int,int)
#14 0x00000040809a47 in DEKMCGAGBCB:MGFPBANEPEJ ()
#15 0x000000408097df in DEKMCGAGBCB:ReceiveClickUp (int,UnityEngine.Vector2Int modreq(System.Runtime.InteropServices.InAttribute)&)
#16 0x00000040809615 in NNODHJOADMC:KIFJPOAEFGA (int)
#17 0x000000407fa363 in NNODHJOADMC:FDENFOEBLBE ()
#18 0x000000407f9cbf in FG.FGDesktop:BBGABPMFMKH ()
#19 0x000000406ac363 in FG.FGDesktop:Update ()
#20 0x0000004044dc15 in (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)


starting with
GDK_BACKEND=x11 ./.smiteworks/fantasygrounds/FantasyGrounds.x86_64
allowed me to import the files.

for whatever it's worth, I'm on nobara (nvidia version) and kde plasma.