EDIT:
I solved the problem by creating the file somewhere editable and creating a link to the file under /home/curious_dolphin/.config/MangoHud, which enables me to configure MangoHud in a text file without using Goverlay. Credit to @[email protected] for the tip. Thanks to all who chimed in.
ORIGINAL POST:
I’m having a hard time configuring MangoHud on Bazzite. I’ve perused MangoHud’s GitHub and Bazzite’s documentation, but I’m stuck because once I’ve created MangoHud.conf, I cannot edit it despite double checking the file permissions. When I attempt to save my changes, it says “Error opening file /home/curious_dolphin/.config/MangoHud/MangoHud.conf: Read-only file system.” I get that I’m on an immutable distro, so this is by design, but in this case, how do I configure MangoHud? I’d like to do this without using Goverlay if possible.
Steps to reproduce the issue:
- In Bazzite, open up the file browser, browse to /home/curious_dolphin/.config/, and create the MangoHud directory.
- In the file browser, enter the new MangoHud directory and create the MangoHud config file by right clicking and selecting New Document > MangoHud.conf.
- Right click the new .conf file and select “Open With Text Editor.”
- Make desired edits in the text editor.
- Hit Ctrl+S to save my changes.
Result:
“Error opening file: Read-only file system”
I’ve checked the file permissions. -rw-r--r--. 1 curious_dolphin curious_dolphin 9671 Feb 20 12:22 ./.config/MangoHud/MangoHud.conf
.
Can anyone point me in the right direction? Thanks!
You are supposed to use /var/home/user instead of /home/user in your paths, scripts, etc (or /var/$HOME). Im not certain on the why but iirc its because on immutable systems only /var is writable so anything writable has to be under it.
Thanks for chiming in. I’ve confirmed creating the file in the file browser under “Home > .config > MangoHud” places the file in
/var/home/curious_dolphin/.config/MangoHud
, so I’m still scratching my head as to why I’m unable to edit the document after the initial save. As a workaround, I’ve placed the config file in my top level home folder (aka/var/home/curious_dolphin
) w/ a link to it from/var/home/curious_dolphin/.config/MangoHud
where the app expects, and this seems to be working as desired.
Idk that much about bazzite, but I’ve been running silverblue/kinote for awhile. /home shouldn’t be read only. Same for /etc and /var. Can you create any files in $HOME OR $HOME/.config/ ?
Can you create any files in $HOME OR $HOME/.config/ ?
Yes - I can create (and later edit) files under /home/curious_dolphin, even under /home/curious_dolphin/.config, but for some reason once I’ve created a file under /home/curious_dolphin/.config/MangoHud, I cannot edit it even though the file and its parent directory appear to have the same permissions as the other files that I can edit.
In other words, after creating test.txt under /home/curious_dolphin/.config/MangoHud, I cannot edit it:
curious_dolphin@bazzite:~$ ls -la ./.config/MangoHud/ total 20 drwxr-xr-x. 1 curious_dolphin curious_dolphin 42 Feb 20 14:46 . drwxr-xr-x. 1 curious_dolphin curious_dolphin 552 Feb 20 14:47 .. -rw-r--r--. 1 curious_dolphin curious_dolphin 9671 Feb 20 12:22 MangoHud.conf -rw-r--r--. 1 curious_dolphin curious_dolphin 5 Feb 20 14:46 test.txt
However, after creating test.txt under /home/curious_dolphin/.config, I can edit it:
curious_dolphin@bazzite:~$ ls -la ./.config total 44 drwxr-xr-x. 1 curious_dolphin curious_dolphin 552 Feb 20 14:47 . drwx------. 1 curious_dolphin curious_dolphin 460 Feb 20 14:41 .. drwxr-xr-x. 1 curious_dolphin curious_dolphin 42 Feb 20 14:46 MangoHud -rw-r--r--. 1 curious_dolphin curious_dolphin 10 Feb 20 14:47 test.txt
Not at all familiar with your setup… In general, you need to know where there is a directory that is outside of the non mutable distro stuff, then just create a link in the current directory to the file that is elsewhere.
Android is like this and uses SELinux to enforce context access to files. It has been several years since I hacked around with that stuff, but I think …/downloads and …/data are the two directories that Android allows files access for read and write but not execute. Of course, that is not directly helpful here, but the abstract ideas might point you somewhere useful.
It may also be helpful to have a look at the script that installed the app in the first place. That likely will lead you to how the file was created in the first place. That script knew how to write to the directory. I did silverblue around F2x. This is how I figured out a lot of it; using install scripts when documentation was sparse.
Thanks for the tip to create a link to the file that is elsewhere. This works for me. I’m now able to configure MangoHud in a text file without using Goverlay.
If it’s immutable, then…nowhere? You need userspace mounts to reference if you want to load anything from a disk, so… your home directory.