Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rsvg-convert error on Steam Deck (read-only file system) #67

Open
happycamper31 opened this issue Oct 18, 2024 · 3 comments
Open

rsvg-convert error on Steam Deck (read-only file system) #67

happycamper31 opened this issue Oct 18, 2024 · 3 comments

Comments

@happycamper31
Copy link

happycamper31 commented Oct 18, 2024

Hello everyone,

I'm currently building LibreSplit on my Steam Deck within distrobox (Ubuntu 22-04). I already got urn working, but during the sudo make install I get the following error:

xxd --include ./src/main.css > ./src/main.h || (rm -f ./src/main.h; false)
install -Dm755 libresplit /usr/local/bin/libresplit
install -Dm644 libresplit.desktop /usr/local/share/applications/libresplit.desktop
for size in 16 22 24 32 36 48 64 72 96 128 256 512; do \
        mkdir -p /usr/local/share/icons/hicolor/"$size"x"$size"/apps ; \
        rsvg-convert -w "$size" -h "$size" -f png -o /usr/local/share/icons/hicolor/"$size"x"$size"/apps/libresplit.png libresplit.svg ; \
done
Error opening output "/usr/local/share/icons/hicolor/16x16/apps/libresplit.png": Error opening file “/usr/local/share/icons/hicolor/16x16/apps/libresplit.png”: Read-only file system

Well, it already states the reason: because of the Read-only file system the icons cannot be created, then the build exits. So I was thinking maybe I can edit some files to not create the icons on the read-only part of the system. I won't need icons anyways.
Would you be so kind to point out what I'd have to edit? I'm not very proficient in coding.

BR happycamper

PS: I now realize I could unlock the system, build, then lock it again. But in this case I'd like to know which & how many files are created outside the build directory?

@EXtremeExploit
Copy link
Collaborator

EXtremeExploit commented Oct 18, 2024

Im surprised it didnt fail before when installing the binaries to /usr/local/, but anyways, if you just want it to install you can comment out the lines inside the for loop (mkdir and rsvg-convert) but the .desktop wont have icons
A solution would be to instead being inside /usr/local/icons to be inside ~/.local/share/icons, so the icons end up in your home r/w filesystem instead of root which may get reverted on updates.
You can do this with a simple find and replace

@happycamper31
Copy link
Author

Thanks, that worked! And I'm fine starting it from the command line.

But another more critical issue popped up. Libresplit has no permissions to check the memory of the game. I think this is the outcome of Libresplit running within distrobox, which is technically a virtual system. While the game (in this case SW Battlefront 2) is running on Steam OS.
I'm not really sure if I should continue tinkering to make that work. There are probably good (security) reasons why the processes within a virtual system don't have access to the main system.
Or maybe my guess is wrong. Do you know what is going on?
image

@EXtremeExploit
Copy link
Collaborator

Not really, but your thought makes sense, you can also install libresplit on the deck os to make it work, you can change the binary output path to something inside .local/share/bin or something like that and change where the .desktop is, and that way libresplit is installed only in the home partition which is not read-only on the deck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants