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

Errors in KDE #382

Open
Amnesia1000 opened this issue Jun 28, 2023 · 23 comments
Open

Errors in KDE #382

Amnesia1000 opened this issue Jun 28, 2023 · 23 comments

Comments

@Amnesia1000
Copy link
Contributor

Amnesia1000 commented Jun 28, 2023

At the moment the 3DS, Wii and GameCube games, when opening the properties tab, Rom-properties does not appear, but a tab that says xattrs. Besides not showing the thumbnails (which were successfully downloaded).

I'm currently using Manjaro KDE (Plasma 5.27.6 - Framework 5.107.0)

Screenshot_20230628_183458

The games are fine, since Windows takes them well and displays the thumbnails correctly.

And on the other hand, when entering "kbuildsycoca5 --noincremental" it gives the following error:
kbuildsycoca5 running .... kf.service.services: The desktop entry file "/usr/share/applications/org.freedesktop.Xwayland.desktop" has Type= "Application" but no Exec line kf.service.sycoca: Invalid Service : "/usr/share/applications/org.freedesktop.Xwayland.desktop"

@GerbilSoft
Copy link
Owner

The xattrs tab is a new feature being introduced in rom-properties v2.2.

Are you able to do a git bisect to figure out which commit broke this? (It seems to be working fine here.)

@Amnesia1000
Copy link
Contributor Author

Sorry, it is an error that appeared on the PC of a friend when trying to install rom-properties, and until yesterday I was at home, before I left I uninstalled it so that it would not create problems. I currently use Gnome so I can not reproduce the problem.

Could it be because it has KDE plasma 5.27 and KDE 6?

@GerbilSoft
Copy link
Owner

I'm using KDE Plasma 5.27 on my own system, so that shouldn't be a problem.

KDE 6 isn't released yet. There's preliminary support for it, but I could see that potentially being an issue if some early KDE 6 packages are installed.

@Amnesia1000
Copy link
Contributor Author

Sorry, I meant to say QT6 not KDE 6.

@GerbilSoft
Copy link
Owner

Qt6 is only used if the necessary KDE Frameworks 6 packages are found. If not, then it'll use Qt5, since that's what KF5 uses.

@Amnesia1000
Copy link
Contributor Author

Ok, then I don't know what it could be, I installed it normally as I installed it before in KDE, you can close it if you want, if I ever travel again and I can give more information about the error I will do it without problem.

@dnmodder
Copy link

dnmodder commented Aug 11, 2023

I have the same error and I am using Arch Linux + KDE Plasma 5.27.7, I checked that in Thunar it works well with 3DS ROMs but in Dolphin it doesn't.

I should add that I have installed the rom-properties package from the AUR, I am the current maintainer of the package.

@GerbilSoft
Copy link
Owner

GerbilSoft commented Aug 11, 2023

This may be related to the changes to use the newer JSON plugin loading system introduced in KF5 5.89. I'll need to set up Manjaro and Arch VMs to see if I can reproduce it there.

EDIT: Here's an easy way to test. In src/kde/kf5/CMakeLists.txt, find the line that has this:

SET(HAVE_JSON_PLUGIN_LOADER 1)

and comment it out. (Add a # character at the beginning of the line.) Then rebuild and reinstall. (Remember to set -DCMAKE_INSTALL_PREFIX=/usr .)

@dnmodder
Copy link

Well I wanted to give it a try but now I have a compile error that has to do with gdkpixbuf and gtk4.
imagen

@dnmodder
Copy link

Ah, compiling from master does not give me the error.

@GerbilSoft
Copy link
Owner

That particular issue was fixed in commit 348adc1 and was caused by the GTK devs moving gdkpixbuf.h to deprecated in GTK 4.12.

I'll eventually need to replace GdkPixbuf with something else, but I'm not sure what.

@dnmodder
Copy link

I applied that patch to fix the build in the PKGBUILD and also the commenting out the line of code in CMakeLists.txt and the tab still doesn't show up in Dolphin with 3DS games.

@dnmodder
Copy link

I originally forgot to say that with Wii and Gamecube games I don't have that problem, only with 3DS ones.

@GerbilSoft
Copy link
Owner

What MIME type does Dolphin say the 3DS games are? (Also the mimetype command line tool, in case they differ.)

@dnmodder
Copy link

application/x-ctr-cci and application/x-nintendo-3ds-rom

@dnmodder
Copy link

xdg-mime query filetype tells me it is application/x-ctr-cci

@dnmodder
Copy link

Also, I have a 3DS (MiiMaker) .app file, it tells me that it is application/x-nintendo-3ds-ncch in Dolphin and with the xdg-mime command, with that ROM the ROM Properties tab is shown.

@dnmodder
Copy link

dnmodder commented Aug 20, 2023

Another thing, if I change the .3ds extension to .app, the ROM Properties tab appears. And xdg-mime returns this: application/x-nintendo-3ds-rom

@GerbilSoft
Copy link
Owner

application/x-ctr-cci is the issue. This MIME type appears to be specific to Citra; both rom-properties and upstream shared-mime-info use application/x-nintendo-3ds-rom.

I'll add Citra's MIME types to rom-properties to improve support.

@dnmodder
Copy link

I thought removing the .3ds extension from there would fix it but no.
imagen

GerbilSoft added a commit that referenced this issue Aug 20, 2023
This should fix issues on Linux systems where Nintendo 3DS files weren't
detected by rom-properties due to Citra registering its own MIME types.

See issue #382: Errors in KDE
This particular issue was diagnosed by @dnmodder.
GerbilSoft added a commit that referenced this issue Aug 20, 2023
@GerbilSoft
Copy link
Owner

Please try the latest commit from the master branch. Note that you will need to do a clean build because CMake doesn't easily let me add a dependency for the generated .desktop and .json files due to how it's generated.

Remember to run kbuildsycoca5 after installing.

@dnmodder
Copy link

I confirm that it works correctly.
imagen
imagen

@dnmodder
Copy link

I have created a new package in AUR so that other users can test it.
https://aur.archlinux.org/packages/rom-properties-git

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

3 participants