Skip to content

kde/plasma5: 5.23.5 -> 5.24.0#158716

Merged
SuperSandro2000 merged 3 commits intoNixOS:stagingfrom
andrevmatos:kde/plasma
Feb 16, 2022
Merged

kde/plasma5: 5.23.5 -> 5.24.0#158716
SuperSandro2000 merged 3 commits intoNixOS:stagingfrom
andrevmatos:kde/plasma

Conversation

@andrevmatos
Copy link
Member

@andrevmatos andrevmatos commented Feb 8, 2022

Motivation for this change

Upgrade Plasma Desktop to 5.24.0 LTS - Perfect Harmony, released in 8-Feb-2022.
This upgrade depends on #154285 , which is still in staging-next (1 month later). (finally merged in 10/Feb)

I'm running this on wayland as my daily driver since beta, and it has been working great!
Only issue is bug-449432, which already seems to be present in 5.23, if anyone has any clue what may be causing that.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: qt/kde Object-oriented framework for GUI creation label Feb 8, 2022
@LunNova
Copy link
Member

LunNova commented Feb 8, 2022

Would be good for #156376 to get merged before/around the same time as this, one of the big 5.24 wayland fixes for nvidia is in qtwayland.

@ofborg ofborg bot requested a review from ttuegel February 8, 2022 21:51
@ofborg ofborg bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. labels Feb 8, 2022
@alexjp
Copy link
Contributor

alexjp commented Feb 8, 2022

Only issue is bug-449432, which already seems to be present in 5.23, if anyone has any clue what may be causing that.

it should be fixed in the next version of frameworks.

kde frameworks 5.90 and plasma 5.24 -> it happens.
kde frameworks and plasma git -> it does not happen.

somewhere along the way in git, it was fixed.

@andrevmatos
Copy link
Member Author

it should be fixed in the next version of frameworks.

kde frameworks 5.90 and plasma 5.24 -> it happens. kde frameworks and plasma git -> it does not happen.

somewhere along the way in git, it was fixed.

Did you build and test yourself, or do you think that based on the comments on the issue? Because the devs there don't seem to use NixOS, and I think this may be a downstream issue with NixOS, so just upgrading to git wouldn't solve it. But if you have tested, then maybe it's effectively the case, and I'd proceed to bisect to try to backport the fix.

@alexjp
Copy link
Contributor

alexjp commented Feb 9, 2022

Did you build and test yourself, or do you think that based on the comments on the issue? Because the devs there don't seem to use NixOS, and I think this may be a downstream issue with NixOS, so just upgrading to git wouldn't solve it. But if you have tested, then maybe it's effectively the case, and I'd proceed to bisect to try to backport the fix.

I did build and test myself, but on Gentoo, not on NixOS ....
Sorry, I am still new to NixOS and don't know how to test plasma git yet.

But the same happens on Gentoo (meaning the bug, so i don't think its a NixOS thing if its reproducible on other distributions)

@jansol
Copy link
Contributor

jansol commented Feb 9, 2022

FWIW this + #154285 on top of nixos-unstable works nicely for me in wayland mode, it is certainly way more robust than 5.23.5.

I can reproduce the linked issue though, it affects any window that overlaps the activities bar even partially, maximized or not. Windows that don't collide with the bar are not affected.

@andrevmatos
Copy link
Member Author

It'd be great if anyone has any lead on which commit (if any) on master fixes the issue, I'd more than happy to backport the fix, if it's fixed

@alexjp
Copy link
Contributor

alexjp commented Feb 10, 2022

It'd be great if anyone has any lead on which commit (if any) on master fixes the issue, I'd more than happy to backport the fix, if it's fixed

Sorry, wish I could help more, but only thing I can say is that its definitly on kf5 frameworks (not on plasma kwin or plasma at all).

Test case:

  • all stable releases of kf5 5.90 and plasma 5.24 -> bug happens (also happens with add widgets panel)
  • kf5 git version and plasma 5.24 stable release -> bug is fixed (windows don't move)

Anyway ... kf5 5.91 is released in 2 days :)

@andrevmatos
Copy link
Member Author

andrevmatos commented Feb 10, 2022

Thanks, @alexjp , your comment allowed me to find the culprit:

Including these 2 patches in plasma-framework fixes the activities panel bug 🎉
Since this is still a draft PR, I'm pushing the fix, but it should be dropped once 5.91 lands.

@CaptainSpof
Copy link

Hi, I have a bit of noobish question regarding this PR, do you have a simple way to test it locally with #154285 on top?

I tried to manually rebase your branches (from nixpkgs master) but the auto-merging failed.
Checking out this branch and manually cherry picking the 2 changed files from #154285 did not work either.

@andrevmatos
Copy link
Member Author

@CaptainSpof the way I test those things here are with flake-utils-plus, it has a neat feature which allows you to apply arbitrary patches on top of any nixpkgs you want. So, it's just a matter of dropping the patch for both PRs on it, and it merges without conflicts. It should also work if you do this manually, by fetching the patches for the PRs from github (e.g. curl -L https://github.com/NixOS/nixpkgs/pull/154285.patch -o patches/154285.patch), and then git apply it on your nixpkgs.

@jansol
Copy link
Contributor

jansol commented Feb 10, 2022

I have a local checkout of nixpkgs where I fetch PR branches and either rebase or cherry-pick the relevant commits on top of nixos-unstable (or master, if they are too diverged at the time). Then I usually delete my modified nixos-unstable and start fresh from the upstream one.

@jansol
Copy link
Contributor

jansol commented Feb 10, 2022

One problem I've found is that in a multi-monitor setup, disconnecting one monitor makes something go into a weird state where when the monitor is reconnected there are multiple separate instances of the wallpaper handler and they all show the wallpaper on the same monitor, others being just black. Still, it's an improvement over simply crashing the whole session.

@andrevmatos
Copy link
Member Author

#154285 is finally merged to master and nixos-unstable-small by now. This PR should be ready for review then. I've tried to rebuild everything, but I don't use all plasma5 desktop packages, so if anyone finds any issue with packaging, please let me know.

@andrevmatos andrevmatos marked this pull request as ready for review February 11, 2022 01:47
@alexjp
Copy link
Contributor

alexjp commented Feb 14, 2022

managed to finally build this. it was rather simple and easy to do in the end.

i had to drop the frameworks patch, because of the issue that @Exxion mentioned.

everything seems to work fine.. though... there are a lot of entries missing on system settings!

btw... frameworks 5.91 released :) https://kde.org/announcements/frameworks/5/5.91.0/

@andrevmatos
Copy link
Member Author

Thanks, @Exxion , I've updated the patch. Not sure why it got built here but failed for you, but retrieving the patch gave the same hash as you. We can drop these patches once #159950 lands, but since there's a big probability of that ending up in staging and taking a very long time to be merged, I'll keep the fix here.

@alexjp
Copy link
Contributor

alexjp commented Feb 14, 2022

@andrevmatos hope this isn't spamming... I tested this patch with #159950 (minus of course your specific patchs for the frameworks) and all seems good!

@SuperSandro2000
Copy link
Member

If this partly depends on #159950 then please also target staging and remove the patches that then are obsolete. Both PRs are probably merged in the next days and then get together into master.

@andrevmatos
Copy link
Member Author

@SuperSandro2000 this doesn't depend on #159950 . With the patch to plasma-framework included, the bug is already fixed. With kf5.91, the patch can be dropped. This can be merged to master independently of the other PR

@jansol
Copy link
Contributor

jansol commented Feb 15, 2022

I'd just drop the patch now. The bug is already present in the version currently on release channels so nothing will change even if this is merged before the kf5.91 PR, and once that is merged things will work. If this is merged with the patch it'll break once kf5.91 is merged and require another change to that PR or a new PR to drop the patch, delaying things again.

@K900
Copy link
Contributor

K900 commented Feb 15, 2022

5.24.1 just dropped, probably worth getting that in before merging.

@andrevmatos
Copy link
Member Author

Bumped to 5.24.1, dropped the patch and rebased.

@andrevmatos
Copy link
Member Author

andrevmatos commented Feb 16, 2022

Ok, Houston, we have a problem.

The plasma-phone-components package got renamed upstream to plasma-mobile, and in 5.24.1's srcs. I'm not sure if this package is part of plasma's package distribution, because it wasn't renamed as part of the 5.24.1 release, but instead plasma-mobile 22.02 (which just happened to be released between 5.24.0 and 5.24.1), but it's there in the desktops/plasma-5/default.nix as a package. To add to the confusion, there's a package scope named plasma-mobile for the apps, which seems to actually contain plasma-mobile-gear and should conflict with the new package name.

Do anyone have any idea how we can solve this? Should we just drop the plasma-mobile-fka-plasma-phone-components from desktop? Is it somehow required by the apps scope? The current state of the PR builds here for a pure desktop environment, but of course breaks ofborg and build.

For now, I'm resetting to 5.24.0, and dropping the bug patches, so we can try to get this merged here, and 5.24.1 in a follow-up PR.

@SuperSandro2000 SuperSandro2000 changed the base branch from master to staging February 16, 2022 10:43
@SuperSandro2000 SuperSandro2000 merged commit b46f851 into NixOS:staging Feb 16, 2022
@andrevmatos andrevmatos deleted the kde/plasma branch February 16, 2022 17:24
@alexjp
Copy link
Contributor

alexjp commented Feb 16, 2022

@andrevmatos I wasn't even aware of that package, and I have been using kde for years (although I did knew about the plasma mobile shell).

for example, searching in the two most mainstream distros (gentoo and arch :P ), there isn't even that package available (at least searching through the distro's package search)

@colemickens
Copy link
Member

That might be because plasma-mobile is meant to be released as part of plasma: https://mail.kde.org/pipermail/plasma-devel/2022-February/121686.html

Also, according to the matrix there is some confusion. Plasma-phone-components was renamed. And plasma-mobile-gear is the collection of mobile apps (that also work on desktop).

@andrevmatos
Copy link
Member Author

@colemickens yes, I understand, but the problem is that it seems like plasma-mobile-gear in nixpkgs is currently in a pkgscope named only plasma-mobile, taking up the name that would contain the former plasma-phone-components, so we can't just rename it to plasma-mobile without also renaming the mobile-gear scope (and risking breaking a lot of things).
Ideally, I'd like some plasma-mobile/gear maintainer to step in and help us rename these packages with minimum breakage.
Until that, plasma5 is stuck and can't bump to 5.24.1+

@colemickens
Copy link
Member

Huh, I'll have to take another look. I did a small rename, bumped everything to latest and built without any issues but I hadn't gotten to building any of the gear components. I think I'm missing something about the scoping issue.

@SuperSandro2000
Copy link
Member

We can always create aliases. Renaming things should not be a problem.

@haizaar
Copy link

haizaar commented Mar 10, 2022

Can anyone please update what are the plans to bring the latest 5.24.x to the master branch?

Thank you again for your great work!

@jansol
Copy link
Contributor

jansol commented Mar 10, 2022

@haizaar you can subscribe to #161366 to get notified when it is merged.

@peterhoeg
Copy link
Member

peterhoeg commented Mar 11, 2022 via email

@ulrikstrid
Copy link
Member

ulrikstrid commented Mar 12, 2022

@jansol and @peterhoeg I think what @haizaar was asking is what is the plan to move forward since the plasma-phone-components was removed upstream.

But those links are very useful for someone trying to understand the flow 😄

@haizaar
Copy link

haizaar commented Mar 13, 2022

@ulrikstrid Yes, that's exactly what I meant :)
Thanks for the links though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: qt/kde Object-oriented framework for GUI creation 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501-1000 This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.