[Bug] File picker on Linux with Xfce doesn't show up #595

Closed
opened 2025-01-28 17:17:18 +00:00 by uben0 · 5 comments
uben0 commented 2025-01-28 17:17:18 +00:00 (Migrated from github.com)

Description of the issue

In Linux NixOs with Xfce, any action that should open a file picker, has no effect. No error message or log message about it.

Because it is on NixOs, it is very easy to reproduce. I suspect the error is because my desktop environment is not exposing a proper file picker. But an error message should at least be logged.

Reproduction steps

nix-shell -p ryujinx-greemdev
ryujinx

Click on either one of this actions:

  • File > Load Application From File
  • Tools > Install Keys > Install keys from a KEYS or ZIP
  • Tools > Install Keys > Install keys from a directory
  • Tools > Install Firmware ... etc etc

Log file

00:00:00.142 |I| Configuration LogValueChange: ResScale set to: 1
00:00:00.149 |I| Configuration LogValueChange: ResScaleCustom set to: 1
00:00:00.149 |I| Configuration LogValueChange: MaxAnisotropy set to: -1
00:00:00.149 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9
00:00:00.150 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan
00:00:00.151 |I| Configuration LogValueChange: PreferredGpu set to: 
00:00:00.151 |I| Configuration LogValueChange: ScalingFilterLevel set to: 80
00:00:00.151 |I| Configuration LogValueChange: CustomVSyncInterval set to: 120
00:00:00.151 |I| Configuration LogValueChange: EnableShaderCache set to: True
00:00:00.151 |I| Configuration LogValueChange: EnableMacroHLE set to: True
00:00:00.152 |I| Configuration LogValueChange: Language set to: AmericanEnglish
00:00:00.153 |I| Configuration LogValueChange: Region set to: USA
00:00:00.153 |I| Configuration LogValueChange: TimeZone set to: UTC
00:00:00.153 |I| Configuration LogValueChange: EnableDockedMode set to: True
00:00:00.153 |I| Configuration LogValueChange: EnablePtc set to: True
00:00:00.153 |I| Configuration LogValueChange: EnableFsIntegrityChecks set to: True
00:00:00.154 |I| Configuration LogValueChange: AudioBackend set to: SDL2
00:00:00.154 |I| Configuration LogValueChange: AudioVolume set to: 1
00:00:00.155 |I| Configuration LogValueChange: MemoryManagerMode set to: HostMappedUnsafe
00:00:00.155 |I| Configuration LogValueChange: UseHypervisor set to: True
00:00:00.156 |I| Configuration LogValueChange: LdnPassphrase set to: 
00:00:00.156 |I| Configuration LogValueChange: LdnServer set to: 
00:00:00.168 |N| Application PrintSystemInfo: Ryujinx Version: 1.2.80
00:00:00.170 |N| Application Print: Operating System: NixOS 25.05 (Warbler) (X64)
00:00:00.170 |N| Application Print: CPU: AMD Ryzen 7 5700U with Radeon Graphics ; 16 logical
00:00:00.173 |N| Application Print: RAM: Total 15 GiB ; Available 12 GiB
00:00:00.175 |N| Application PrintSystemInfo: Logs Enabled: Info, Warning, Error, Guest, Stub
00:00:00.176 |N| Application PrintSystemInfo: Launch Mode: UserProfile
00:00:00.391 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment.
00:00:00.428 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment.
00:00:00.431 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment.

OS

NixOs

Ryujinx version

1.2.80

Game version

No response

CPU

AMD Ryzen 7 5700U

GPU

Radeon Graphics

RAM

15GB

List of applied mods

No response

Additional context?

No response

### Description of the issue In Linux NixOs with Xfce, any action that should open a file picker, has no effect. No error message or log message about it. Because it is on NixOs, it is very easy to reproduce. I suspect the error is because my desktop environment is not exposing a proper file picker. But an error message should at least be logged. ### Reproduction steps ```sh nix-shell -p ryujinx-greemdev ryujinx ``` Click on either one of this actions: - File > Load Application From File - Tools > Install Keys > Install keys from a KEYS or ZIP - Tools > Install Keys > Install keys from a directory - Tools > Install Firmware ... etc etc ### Log file ```log 00:00:00.142 |I| Configuration LogValueChange: ResScale set to: 1 00:00:00.149 |I| Configuration LogValueChange: ResScaleCustom set to: 1 00:00:00.149 |I| Configuration LogValueChange: MaxAnisotropy set to: -1 00:00:00.149 |I| Configuration LogValueChange: AspectRatio set to: Fixed16x9 00:00:00.150 |I| Configuration LogValueChange: GraphicsBackend set to: Vulkan 00:00:00.151 |I| Configuration LogValueChange: PreferredGpu set to: 00:00:00.151 |I| Configuration LogValueChange: ScalingFilterLevel set to: 80 00:00:00.151 |I| Configuration LogValueChange: CustomVSyncInterval set to: 120 00:00:00.151 |I| Configuration LogValueChange: EnableShaderCache set to: True 00:00:00.151 |I| Configuration LogValueChange: EnableMacroHLE set to: True 00:00:00.152 |I| Configuration LogValueChange: Language set to: AmericanEnglish 00:00:00.153 |I| Configuration LogValueChange: Region set to: USA 00:00:00.153 |I| Configuration LogValueChange: TimeZone set to: UTC 00:00:00.153 |I| Configuration LogValueChange: EnableDockedMode set to: True 00:00:00.153 |I| Configuration LogValueChange: EnablePtc set to: True 00:00:00.153 |I| Configuration LogValueChange: EnableFsIntegrityChecks set to: True 00:00:00.154 |I| Configuration LogValueChange: AudioBackend set to: SDL2 00:00:00.154 |I| Configuration LogValueChange: AudioVolume set to: 1 00:00:00.155 |I| Configuration LogValueChange: MemoryManagerMode set to: HostMappedUnsafe 00:00:00.155 |I| Configuration LogValueChange: UseHypervisor set to: True 00:00:00.156 |I| Configuration LogValueChange: LdnPassphrase set to: 00:00:00.156 |I| Configuration LogValueChange: LdnServer set to: 00:00:00.168 |N| Application PrintSystemInfo: Ryujinx Version: 1.2.80 00:00:00.170 |N| Application Print: Operating System: NixOS 25.05 (Warbler) (X64) 00:00:00.170 |N| Application Print: CPU: AMD Ryzen 7 5700U with Radeon Graphics ; 16 logical 00:00:00.173 |N| Application Print: RAM: Total 15 GiB ; Available 12 GiB 00:00:00.175 |N| Application PrintSystemInfo: Logs Enabled: Info, Warning, Error, Guest, Stub 00:00:00.176 |N| Application PrintSystemInfo: Launch Mode: UserProfile 00:00:00.391 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment. 00:00:00.428 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment. 00:00:00.431 |E| .NET TP Worker ATTENTION: default value of option mesa_glthread overridden by environment. ``` ### OS NixOs ### Ryujinx version 1.2.80 ### Game version _No response_ ### CPU AMD Ryzen 7 5700U ### GPU Radeon Graphics ### RAM 15GB ### List of applied mods _No response_ ### Additional context? _No response_
GreemDev commented 2025-01-28 18:12:25 +00:00 (Migrated from github.com)

Report this to Avalonia. The file picker is their code. And I am definitely not writing a custom file picker for a specific OS

Report this to Avalonia. The file picker is their code. And I am definitely not writing a custom file picker for a specific OS
uben0 commented 2025-01-28 18:24:36 +00:00 (Migrated from github.com)

I will report this to Avalonia.

I'm not big on how the file picker is invoked, but shouldn't it raise at least an error and print a message to the logs?

Without talking about implementing from scratch a file picker, what do you retrieve from a file picker anyway? A list of one or more paths? Maybe defaulting to a bare bone text input field where to paste one or more paths separated by new lines. Or even better, pull text stored in the clipboard. When files are copied, it is there full paths separated by new lines.

If I was to make a pull request for such a feature, will it has any chance of being accepted?

I will report this to Avalonia. I'm not big on how the file picker is invoked, but shouldn't it raise at least an error and print a message to the logs? Without talking about implementing from scratch a file picker, what do you retrieve from a file picker anyway? A list of one or more paths? Maybe defaulting to a bare bone text input field where to paste one or more paths separated by new lines. Or even better, pull text stored in the clipboard. When files are copied, it is there full paths separated by new lines. If I was to make a pull request for such a feature, will it has any chance of being accepted?
GreemDev commented 2025-01-28 18:32:14 +00:00 (Migrated from github.com)

I am not adding a custom file picker for some specific OS
Yes that includes PR merges.

The functionality is already entirely encapsulated in Avalonia. That would add a considerable amount of code for an issue that could be reported to where it needs to be, instead of worked around. Not to mention every other Avalonia user could benefit.

*I am not adding a custom file picker for some specific OS* Yes that includes PR merges. The functionality is already entirely encapsulated in Avalonia. That would add a considerable amount of code for an issue that *could* be reported to where it needs to be, instead of worked around. Not to mention every other Avalonia user could benefit.
haru-vulpes commented 2025-02-20 01:57:51 +00:00 (Migrated from github.com)

Hello,

I am experiencing the same issue with the firmware file picker in Ryujinx (Tools -> Install Firmware -> From XCI).

Is there a way to install the firmware via the CLI? If so, could you provide instructions on how to do it?

I have already placed the files in ~/.config/Ryujinx/bis/system/Contents/registered/, but when I launch Ryujinx, I receive the error "RYU-0002: Firmware not found."

Thank you very much for your assistance.

Hello, I am experiencing the same issue with the firmware file picker in Ryujinx (Tools -> Install Firmware -> From XCI). Is there a way to install the firmware via the CLI? If so, could you provide instructions on how to do it? I have already placed the files in ~/.config/Ryujinx/bis/system/Contents/registered/, but when I launch Ryujinx, I receive the error "RYU-0002: Firmware not found." Thank you very much for your assistance.
GreemDev commented 2025-02-20 05:09:25 +00:00 (Migrated from github.com)

Hello,

I am experiencing the same issue with the firmware file picker in Ryujinx (Tools -> Install Firmware -> From XCI).

Is there a way to install the firmware via the CLI? If so, could you provide instructions on how to do it?

I have already placed the files in ~/.config/Ryujinx/bis/system/Contents/registered/, but when I launch Ryujinx, I receive the error "RYU-0002: Firmware not found."

Thank you very much for your assistance.

Just added this, because a CLI way of doing it is a good temporary solution for Avalonia missing file picker on some platforms.
You can find the change in this commit if you self-compile, or you can find it in Canary 406.

--install-firmware "path/to/firmware/folder/or/zip or xci"

> Hello, > > I am experiencing the same issue with the firmware file picker in Ryujinx (Tools -> Install Firmware -> From XCI). > > Is there a way to install the firmware via the CLI? If so, could you provide instructions on how to do it? > > I have already placed the files in ~/.config/Ryujinx/bis/system/Contents/registered/, but when I launch Ryujinx, I receive the error "RYU-0002: Firmware not found." > > Thank you very much for your assistance. Just added this, because a CLI way of doing it is a good temporary solution for Avalonia missing file picker on some platforms. You can find the change in [this commit](https://github.com/Ryubing/Ryujinx/commit/c2ed0fd5fdb351ff3af235168d4a04a2c27f03b2) if you self-compile, or you can find it in [Canary 406](https://github.com/Ryubing/Canary-Releases/releases/tag/1.2.406). `--install-firmware "path/to/firmware/folder/or/zip or xci"`
Sign in to join this conversation.
No Milestone
No project
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#595
No description provided.