Linux metadata files
Hey Cemu!,
Cool to see that your project is going Open Source. It's very admirable and I hope that you'll not be completely crushed under all the feedback and comments you're getting. That said, I do have my own comments to add.
Linux metadata
With Linux support now being a very viable option, it's important to also have some stuff in place for the Linux ecosystem at large. For start, there are certain standards that most Linux distributions and Desktop Environments adhere to:
https://www.freedesktop.org/wiki/Specifications/
Stop reading now! It's way too much to tackle all at once, so let's help you in breaking it down a bit.
info.cemu.Cemu.desktop
This is the file that tells desktop environments like KDE and GNOME, that your binary is actually an application that the user should see in the UI. It uses tags and descriptions for filtering.
Example
- https://github.com/yuzu-emu/yuzu/blob/master/dist/org.yuzu_emu.yuzu.desktop
info.cemu.Cemu.appdate.xml
This is a big XML that gives an explanation about the application, that has information about the developer, and that even provides links for help documentation, code contributions or donations. Also important, flatpaks on Flathub must have license information and age-ratings information, so that user's know what is coming to them.
Example
- https://github.com/flathub/org.DolphinEmu.dolphin-emu/blob/master/org.DolphinEmu.dolphin-emu.appdata.xml
info.cemu.Cemu.svg
An icon. While it's not critical... svg is recommended since the days of 32px icons are numbered.
Example
- https://github.com/flathub/org.yuzu_emu.yuzu/blob/master/org.yuzu_emu.yuzu.svg
Summary
- [ ] .desktop
- [ ] .appdata.xml
- [ ] .svg
I was not aware of it, but this got previously mentioned in a comment https://github.com/cemu-project/Cemu/issues/1#issuecomment-1225307469 but perhaps it's best to track this as a separate issue.
Existing pull requests;
- https://github.com/cemu-project/Cemu/pull/10
- https://github.com/cemu-project/Cemu/pull/12
@JakobDev Great work with the metadata details. The only comment I have, is that it's customary (~70%) to capitalize the name of the application.
org.gnome.Lollypoporg.musicbrainz.Picardcom.github.Flacon
The rule is not absolute, and there are packages that don't do it
org.mozilla.firefoxorg.kde.kid3org.qbittorrent.qBittorrent
The Cemu project will have to decide on this, so let's give em a breather.
Another thing that we might want to do directly; Automatically install these files in the right directories when building with CMAKE
I also think the Devs should decide what they like more. Both is valid.
Another thing that we might want to do directly; Automatically install these files in the right directories when building with CMAKE
I agree, but I don't have much experience with CMake, so I don't know how to do that. Otherwise I would have it included in the PR. Probably @Zopolis4, who is currently refactoring the CMake files in #9 is the right person for this Job.,
Sure! I'll take a look
... it's customary (~70%) to capitalize the name of the application.
@Eonfge The AppStream spec for <id/> recommends not doing that though:
Additionally, even though uppercase letters are permitted in a component-ID, it is strongly encouraged to only use lowercase letters for the ID.
@Eonfge The AppStream spec for
<id/>recommends not doing that though:
I had no idea. I stand corrected. In that case, Cemu can roll both ways
Can be closed, most of the points are resolved now. I'll make a PR to have a better quality image.