nicefaa6waa / genshin-sddm-theme

Animated Genshin Log in screen theme for SDMM
GNU General Public License v3.0
70 stars 6 forks source link

Theme does not work #29

Closed Liccsu closed 6 months ago

Liccsu commented 7 months ago

Describe the bug Hello, I'm using Arch + KDE-plasma + Wayland, this theme doesn't work on my system, but it was working fine when I tested it, when I officially enabled it it went on strike, here's the red error message on the login screen (because I don't know how to take a screenshot of the login screen, but that's the only error message there is, it looks like an error in the Qt program and I don't know how to fix it):

The current theme connot be loaded due to the errors below, please select another theme.
file:///usr/share/sddm/themes/genshin-sddm-theme/Main.qml:118:5:VideoOutput is not a type.
nicefaa6waa commented 6 months ago

IF you added QT6=Flag remove it if you didn't add it.It is actually a really weird bug.SDDM uses qt5 for sddm-greeter.Try testing with sddm-greeter-qt6.If it doesn't work with qt6 then remove the flag

nicefaa6waa commented 6 months ago

If you don't know how to add or remove flag just delete or comment the line MinimumQtVersion=6.2.0 from sddm config file which is usually located at etc/sddm.conf.Let me know if you managed to fix it

nicefaa6waa commented 6 months ago

Weirdly enough QT6 also uses VideoOutput so maybe you didn't install all dependancies?If you used Automatic installation it should download the dependancies automatically but if you downloaded it manually you can download deps from the main repo.VideOutput is from QtMultiMedia but if you didn't have it installed it should have said Error at line 1-5 QtMultiMedia is not installed.Also videos playing in sddm-greeter means it is something about how sddm handles qt versions.Also sorry for the late reply.Please keep me updated with the results!

nicefaa6waa commented 6 months ago

One more thing KDE handles sddm very differently so if you had nothing in /etc/sddm.conf meaning it was just an empty file you can copy default config.I think when KDE sees sddm.conf is empty it checks somewhere else.On arch + KDE default sddm config should be located at **/usr/lib/sddm/sddm.conf.d/default.conf**.You can copy it using

sudo cp /usr/lib/sddm/sddm.conf.d/default.conf /etc/sddm.conf
Liccsu commented 6 months ago

IF you added QT6=Flag remove it if you didn't add it.It is actually a really weird bug.SDDM uses qt5 for sddm-greeter.Try testing with sddm-greeter-qt6.If it doesn't work with qt6 then remove the flag

I apologize for replying so late, I removed the QtVersion and MinimumQtVersion entries from the sddm config file and reinstalled this theme and dependencies and now it works fine on my computer. So it should be that my previous config file uses Qt6 and this theme works with Qt5, that's the problem. However, during my installation, there is still a small problem that the install script doesn't automatically move the downloaded video to the /usr/share/sddm/themes/genshin-sddm-theme directory, I have to move the video manually to get it to work properly, hopefully the install script can be improved. Thanks for the above.

nicefaa6waa commented 6 months ago

Thank you and im happy to help.Installation script usually skips the whole installation when something goes wrong with downloading videos or while testing the theme to prevent further issues.Can you please remove sddm theme from /usr/share/sddm/themes folder and run the installer again to see if it works.I think the issue is that you downloaded videos first time when you run the installed but didn't made the theme your current theme.When you run installer for the second time videos couldn't download because they were already in first cloned location.The weird part is that other components copied but only videos were not copied since Installation script download videos first then copies the whoel thing.In any case this version of the theme will be archived because of compatibility issues on different resolutions and aspect ratios.I'm writing the whole theme using another method which is way mor compatible than this one not only layout but also video backend and more compatibility for different distros.Development time may take some time since im in Exam Week but i will finish and upload it asap.Thank you for using my theme and helping me improve it!

Liccsu commented 6 months ago

Thank you and im happy to help.Installation script usually skips the whole installation when something goes wrong with downloading videos or while testing the theme to prevent further issues.Can you please remove sddm theme from /usr/share/sddm/themes folder and run the installer again to see if it works.I think the issue is that you downloaded videos first time when you run the installed but didn't made the theme your current theme.When you run installer for the second time videos couldn't download because they were already in first cloned location.The weird part is that other components copied but only videos were not copied since Installation script download videos first then copies the whoel thing.In any case this version of the theme will be archived because of compatibility issues on different resolutions and aspect ratios.I'm writing the whole theme using another method which is way mor compatible than this one not only layout but also video backend and more compatibility for different distros.Development time may take some time since im in Exam Week but i will finish and upload it asap.Thank you for using my theme and helping me improve it!

I checked the install script and found that it copies this project to the /usr/share/sddm/themes/ directory first and then downloads the video, so the video is saved in the project directory and is not copied to the /usr/share/sddm/themes/ directory, which should be the problem with the current script, I hope this helps.

if sudo cp -R . $DIR; then
    echo "Theme installed in $DIR"
else
    echo "Errors occurred during installation, exiting"
    exit;
fi

if [ ! -f $CFG ]; then
    echo -e "\nSDDM configuration file $CFG does not exist, do you want to create it based on current configuration?"
    select sel in "Yes" "No"; do
        case $sel in
            Yes ) createConfig; changeCurrentTheme; selectOS; downloadVideos; disableVirtualKeyboard; testTheme; break;;
            No ) echo "Theme installed in $DIR but configuration not changed."; testTheme; break;;
        esac
    done
else
    selectOS; downloadVideos; changeCurrentTheme; disableVirtualKeyboard; testTheme;
fi
nicefaa6waa commented 6 months ago

I totally overlooked that! 🤦‍♂️ Really sorry about that! I've fixed it up now so that it downloads everything before copying, making sure nothing gets left behind. Thanks for your help. Also, just throwing it out there—I love Honkai Star Rail too! Have a lovely day! 😊