Open-PS2-Loader
Open-PS2-Loader copied to clipboard
[FR]: Beta 1668 causes a bug in the _common partition about config files (HDD)
Checks
- [X] I have checked existing OPL issues for duplicates and found none
- [X] I am using either OPL latest stable version, or archived version or OPL beta version
Describe the issue
Looking with the beta 1759 the problem of loading the games and saving the configurations that had been opened in this issue, which is now solved:
https://github.com/ps2homebrew/Open-PS2-Loader/issues/511
I discovered that in the _common partition an OPL folder is always created with a configuration file when it did not happen before saving my OPL configs. If i delete it, every time i start the OPL it is created again.
I always save my configuration files in MC0, i never use the HDD to save configurations. And so the OPL notifications always tells me when i load the program that the configuration file has been loaded from MC0 and not from the HDD.
I have discovered it when i have gone to use the POPS emulator and other applications that use this partition.
I have been testing all the beta versions since OPL v1.0.0 until i have found the last beta where this does not happen which is in 1666, in beta 1668 is where this problem begins to occur.
This is the 1668 commit where there must be something causing the problem:
https://github.com/ps2homebrew/Open-PS2-Loader/commit/68797a5c55179e5919cf977a6e0009b21fb44071
Best regards.
Console model
SCPH-30004
OPL version / revision
OPL v1.0.0, Beta 1760, Beta 1668, Beta 1666 and all from OPL v1.0.0
In which device(s) have you experienced this issue?
HDD
Context and extra information
No response
Currently OPL creates conf_hdd.cfg
in hdd0:/__common/OPL
.
In this file there is: hdd_partition=+OPL
In a commit (rev 1668) that you provide there is info:
Add option to use partitions other than +OPL
.
For HDD users, OPL will read hdd0:__common/OPL/conf_hdd.cfg for the config entry "hdd_partition" to use as your OPL partition.
If not found a config file and a 128Mb +OPL partition will be created, you can edit the config if you wish to use/create a different partition.
All partitions created by OPL will be 128Mb (it is not recommended to enlarge partitions as it will break LBAs, instead remove and recreate manually with uLaunchELF at a larger size if needed).
Additionally starting from rev1753 - Add partition notification
- has been added.
I am not sure, but you want that conf_hdd.cfg
to be only on the specific device?
If settings have been saved to mc0:/
also conf_hdd.cfg
should be there?
@ElPatas1 this is not a bug but a feature. Look, from OPL readme:
OPL will automatically create the above directory structure the first time you launch it and enable your favorite device.
This means: when you enable USB - OPL will create a folder structure in USB. when you enable SMB - OPL will create a folder structure in SMB share. when you enable HDD - OPL will create a partition +OPL with folder structure inside
Recently, we just a bit extended HDD flexibility:
when you enable HDD - OPL will create the file hdd0:/__common/OPL/conf_hdd.cfg
and a partition $OPL with folder structure inside
Of course, when I type create
I actually mean create if absent
.
So this is not a bug but is now a part of the necessary file structure on the device.
For example, you can edit conf_hdd.cfg
type there __common
, copy content from +OPL partition into __common/OPL/
and remove +OPL
partition for saving space on the HDD. Now OPL will use __common/OPL/
for storing everything. Now OPL will become more flexible, but this will lead to that additional file and additional folder being created.
As for using the memory card for storing OPL configuration, it is a bit different situation. We cannot store everything on the memory card, only basic OPL settings
@ElPatas1 this is not a bug but a feature. Look, from OPL readme:
OPL will automatically create the above directory structure the first time you launch it and enable your favorite device.
This means: when you enable USB - OPL will create a folder structure in USB. when you enable SMB - OPL will create a folder structure in SMB share. when you enable HDD - OPL will create a partition +OPL with folder structure inside
Recently, we just a bit extended HDD flexibility: when you enable HDD - OPL will create the file
hdd0:/__common/OPL/conf_hdd.cfg
and a partition $OPL with folder structure insideOf course, when I type
create
I actually meancreate if absent
.So this is not a bug but is now a part of the necessary file structure on the device. For example, you can edit
conf_hdd.cfg
type there__common
, copy content from +OPL partition into__common/OPL/
and remove+OPL
partition for saving space on the HDD. Now OPL will use__common/OPL/
for storing everything. Now OPL will become more flexible, but this will lead to that additional file and additional folder being created.As for using the memory card for storing OPL configuration, it is a bit different situation. We cannot store everything on the memory card, only basic OPL settings
@AKuHAK , A feature? Well, i have never seen anyone who has complained that the partition named + OPL is the OPL data partition, nor has there been anyone who has made a request for it to be another partition.
If you want an alternate partition, create this mandatory OPL configuration folder on another partition that is always empty and not used by anything like __net, __system, or __sysconf, instead __common.
I don't want to have an extra mandatory OPL folder on the __common partition where the POPS emulator is used with its configuration files and VMCs, as well as other apps that can use the __common partition.
And what is worse, the OPL is in continuous development, it constantly has new bugs, some of them very serious like the last one that happened recently that left all the games unable to run on all devices.
Tomorrow there may be a corruption caused by the OPL on the __common partition destroying all configuration files and saved games of the POPS emulator messing up tons of people around the globe. Nobody thought of this?
Or you can create a custom partition just for you where to save this OPL folder, in this way if corruption occurs by the OPL it will only affect you and not others.
Please create this OPL folder in another partition, for example in __net.
Or if a user wants to use an alternate partition for OPL data, have him create a partition just for himself with this OPL folder inside.
If really it is not possible to put the conf_hdd.cfg inside the mc0.
Best regards.
@ElPatas1
__common
partition isn't that exclusive for POPS. Its purpose is to be common for all apps that use HDD. According to Sony specs, games and apps may use the __common
partition for their needs. Any game, that supports saving to the HDD, will use __common
for this purpose.
Of course, for safety, it is allowed to use only one folder per game/app and is not allowed to touch other folders. So basically each app should store its settings inside some folder in the __common
partitions. The fact that POPS did it first doesn't make __common
to be exclusive for POPSTARTER.
__common/POPS
__common/OPL
__common/RETROARCH
etc, etc
We cannot use __net
, __sysconf
or other partitions, cause their purposes are different. If we will move it into __net we can break network settings, and __net is used for storing console unique IDs.
As about, that you are afraid that something bad can happen, and that recently beta version was broken. The answer is simple - use stable versions, as the purpose of beta version - testing new features, and during testing can happen things that are not expected. I personally don't think that one file creation can affect anything on the partition, but of course, more testings is needed.
Anyway, until an issue happened it cannot be called an issue.
I personally received many requests for removing the +OPL
partition. Some users don't like that 128Mb is a waste of space (like Berion). Some users use HDD OSD/BB Navigator/XMB PSX DESR for launching apps and they cannot use +OPL and are forced to hexedit the ELF and change +OPL
to PP.OPL
for example. Some users would like to store all their content in an enormous __common
partition (POPS users, yeah). Honestly, I received many requests about the ability to remove +OPL.
I very much appreciate @KrahJohlito work on this, he made huge work on making the OPL setup more flexible and usable. This option will not be reverted, but of course, more testing is needed, as always.
Maybe, moving this option into GUI will be useful, but this is not related to that issue.
@ElPatas1
__common
partition isn't that exclusive for POPS. Its purpose is to be common for all apps that use HDD. According to Sony specs, games and apps may use the__common
partition for their needs. Any game, that supports saving to the HDD, will use__common
for this purpose. Of course, for safety, it is allowed to use only one folder per game/app and is not allowed to touch other folders. So basically each app should store its settings inside some folder in the__common
partitions. The fact that POPS did it first doesn't make__common
to be exclusive for POPSTARTER.__common/POPS __common/OPL __common/RETROARCH etc, etc
We cannot use
__net
,__sysconf
or other partitions, cause their purposes are different. If we will move it into __net we can break network settings, and __net is used for storing console unique IDs.As about, that you are afraid that something bad can happen, and that recently beta version was broken. The answer is simple - use stable versions, as the purpose of beta version - testing new features, and during testing can happen things that are not expected. I personally don't think that one file creation can affect anything on the partition, but of course, more testings is needed.
Anyway, until an issue happened it cannot be called an issue.
I personally received many requests for removing the
+OPL
partition. Some users don't like that 128Mb is a waste of space (like Berion). Some users use HDD OSD/BB Navigator/XMB PSX DESR for launching apps and they cannot use +OPL and are forced to hexedit the ELF and change+OPL
toPP.OPL
for example. Some users would like to store all their content in an enormous__common
partition (POPS users, yeah). Honestly, I received many requests about the ability to remove +OPL.I very much appreciate @KrahJohlito work on this, he made huge work on making the OPL setup more flexible and usable. This option will not be reverted, but of course, more testing is needed, as always.
Maybe, moving this option into GUI will be useful, but this is not related to that issue.
@AKuHAK, i know that __common partition is not exclusive to the POPStarter, but it cannot cause any problems being a project dead for years, while the OPL does.
And there is the big key difference, which is that the POPS folder and any other folder of all other applications ARE OPTIONAL, while the new OPL folder is MANDATORY.
Whoever does not want one of those application folders can delete them there, if they do not want them or do not need them, they are optional. But the OPL folder cannot be deleted, it is mandatory.
And i do not want to have this mandatory folder bothering there that i'm not going to use, and that i'm not going to use any alternative partition to the +OPL one, i'm happy with this partition like many people is happy with it.
So this new OPL folder should be optional exactly like the rest of the folders of the rest of the applications that can go in __common.
Regarding the 128MB size of the partition, in fact normally most of the people who use the OPL like to use ART and VMC a lot, and 128MB stays very small, so people create this partition as 1GB size, much larger than that small size of 128MB. This is already done by people and there is no problem, nor is an alternate partition needed.
Another thing is that all this has been done with the HDD-OSD in mind, which is not used by most people, only a small percentage of people use the HDD-OSD on a daily basis, compared to the vast majority who do not use it, and this is not right and just.
I don't see what problem there may be choosing the __net partition because it might break network settings or for storing console unique IDs.
Because in the same way that you say that so that nothing bad can happen it is as simple as using stable versions of the OPL, then this can be applied in the same way for the __net partition or any of the other two partitions.
Of course, the work of @KrahJohlito is very appreciable, and i'm not against flexibility, but choosing the __common partition by making that OPL folder mandatory when the rest of the applications are not, is not the way.
-
Move the creation of this folder to any of the other partitions, __net, __system, or __sysconf.
-
Or make the folder optional (which can be deleted by anyone who don't want it) in the same way that all other applications work in the __common partition, that its creation is not mandatory.
-
Or move the option in the GUI, if with this it is possible not to have that folder in the _common partition, or that its creation is only optional.
-
If a solution is not provided, reversion is an option even if it is not desirable.
Best regards.
And i do not want to have this mandatory folder bothering there that i'm not going to use
And I do not want to have +OPL partition mandatory I am not going to use it. Honestly, I cant see the differences between these 2 statements.
There should be one default location that will be used when OPL is launched when no devices are connected except HDD. We decided to use __common partition cause it is what common partition was designed for. It was designed to be a mess and full of folders at the root of it. One folder per app. And when you said that there are no mandatory folders, you are wrong, one mandatory folder there is. 'Your Saves' folder is created when you launch any HDD games or HDD OSD, so it can be called mandatory. Of course, you can say that you will never use HDD OSD or any HDD-based game, but it will be not true for everyone. If it is crucial, we can move the HDD configuration there, in the Your Saves
folder.
As regarding moving to another partition - I cannot see the difference. This folder is bothering you in the common partition and will be bothering somebody else in the __net partition.
Your many users
and my many users
are different. In my segment, everyone who uses HDD also uses it with FHDB+HDDOSD installed.
I personally also don't like that OPL is creating so many annoying folders in the root of USB, and I am not the only one who dislikes that. But the fact is that when no other devices connected OPL should know what is the default location and load settings from the default location. These folders also are mandatory for USB and this also not the best solution and not the most flexible one.
Maybe in the future will be released OPL portable version, which will load and save settings from the location where is it loaded from. This will solve these mandatory structure problems.
I have never seen anyone who has complained that the partition named + OPL is the OPL data partition, nor has there been anyone who has made a request for it to be another partition.
Personally I do not want +OPL as I'm more HDD OSD lover and also I thinking that automatic +OPL creation is a war crime (such things should be always a user choice, especially that not for all 128MiB is enough). ;) But! If I don't want +OPL, then it is fine because now I can choose any partition. If You like +OPL, then just stay with it... Maybe solution for this would be: if found +OPL, don't create config on _common, else read hdd config on __common. However, this introduce some mess in code, while mandatory "hdd0:/__common/OPL/conf_hdd.cfg" is just clean solution (now I point there OPL resources). In addition, following by AkuHak, __common partition is designed to be partition for user data.
I don't want to have an extra mandatory OPL folder on the __common partition where the POPS emulator is used with its configuration files and VMCs, as well as other apps that can use the __common partition.
Not everyone using POPStarter and not everyone using __common for games storing (if I would use POPS, I would rather follow by per game, bootable partition).
Tomorrow there may be a corruption caused by the OPL on the __common partition destroying all configuration files and saved games of the POPS emulator messing up tons of people around the globe. Nobody thought of this?
Then make backups. This can be apply for all other partitions when conf hdd could be stored... Making FHDB/HDD OSD/PSBBN/XMB broken.
I don't see what problem there may be choosing the __net partition because it might break network settings or for storing console unique IDs.
Because servers are dead and this data can be unobtainable now. Just guessing. For me it was always empty so I even delete it and shrink all system partitions to 128MiB in size, except __common.
Because servers are dead and this data can be unobtainable now. Just guessing. For me it was always empty so I even delete it and shrink all system partitions to 128MiB in size, except __common.
__net
can be used by some games
Im not familiar c and just view thia in mobile phone but.
static void hddFindOPLPartition(void) { static config_set_t *config; char name[64]; int fd, ret = 0;
fileXioUmount(hddPrefix);
ret = fileXioMount("pfs0:", "hdd0:__common", FIO_MT_RDWR);
if (ret == 0) {
fd = open("pfs0:OPL/conf_hdd.cfg", O_RDONLY);
if (fd >= 0) {
I think Need a double check with memory card slot maybe more considering multitags you can start in this point with collection of units to check posible that can be mount. Iterating them and determine if exits in any of them to load.
Second file open is cause create all time in pfs0 use var where is found in case found It.
fd = open("pfs0:OPL/conf_hdd.cfg", O_CREAT | O_TRUNC | O_WRONLY);
if (fd >= 0) {
Regards.
Sorry im in mobile cannot do a full request.