Update to the very latest nightly version of BlastEm and restrict home directory access - #17
Update to the very latest nightly version of BlastEm and restrict home directory access#17techmetx11 wants to merge 3 commits into
Conversation
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
❌ Test build failed. Help
|
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. Warnings can be promoted to errors in the future. Please try to resolve them.
|
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
CC @hadess |
hadess
left a comment
There was a problem hiding this comment.
We would definitely need to see separate patches (and reordering) for the build fixes, the version update, new dependencies, and applying the file chooser patch.
There's one big problem with this whole patch though, we only get access to the ROM file, and BlastEm expects to be able to access the directory the ROM is in to save the corresponding .SAV file when the game supports saves. This will be broken with this setup. What's the plan for fixing that?
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
From what I can tell, BlastEm saves game files (if you're talking about EEPROM and SRAM files) in its own directory: Regardless, I'm already planning to patch BlastEm further to fix the screenshot, and VGM/video+audio recording paths (using the XDG user directory paths). If you can point out where it does this, I can also patch that |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
I've rebased the patches on top of the latest changes in the repo. BlastEm is due a 1.0 release soon: Then we'd be ready for 1.0. Thanks! |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
🚧 Started test build. |
It was my directory patch that needed updating, it builds correctly against today's tip! |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
I think I might have screwed something up, or the fact that the patches apply with quite a bit of fuzz means that it's not actually being enabled. Short version is this doesn't seem to work. |
|
There has been a bit of a problem with the file chooser approach. The developer of BlastEm told me that the Sega CD emulator accepts BIN/CUE files, (which loads CUE sheets that reference other files that it should open). Since the Desktop Portal API is too limited to do this properly, I'll need to do this in a way that might be the least infuriating for the user while not granting overreaching file permissions to the emulator My idea was to allow for coarse folder access or maybe access to a specific library instead of asking for access to specific files, and then let the user access the specific files within the emulator's own file picker, just like RetroArch. But, I wonder if you have some other idea to solve this problem? I really do not want to resort to granting BlastEm access to the entire user's home directory again. |
This is flatpak/xdg-desktop-portal#463
I think there's nothing wrong with shipping with home directory access again, and those that think they don't need it can disable it in Flatseal for example. The filechooser codepath should still work when not sandboxed. In the meanwhile, the problem I was reporting was that the portal code doesn't seem to be used, it just shows non-sandboxed data. I'll try to see if I need to rebase those patches. |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
Found the problem. Because I used older versions of BlastEm, it had already set the |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
Hmm, it seems to cause lock ups in some cases. Can you please look into that? |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
And remove direct home directory access.
|
🚧 Test build enqueued. |
|
🚧 Started test build. |
|
✅ Test build succeeded. To test this build, install it from the testing repository: Built for x86_64 architecture. |
I can't reproduce this predictably. This might be a race condition (which doesn't sound too good) |
It's easy to reproduce. Launch BlastEm, click "Load ROM", move the filechooser window away (it's not correctly parented, and it runs in another process), and wait 10 seconds. The "not responding" popup will show while the filechooser is still open.
No, but my guess is that in your |

This PR updates the BlastEm's source archive to the very last commit made (as of the time of this PR)
Also, the program has been patched to use the XDG Desktop Portal file chooser and enable it by default within the program's settings, which means the program no longer requires read-only access to the user's home directory.