raspberrypi-ui / wayfire

2 stars 2 forks source link

Any plans to regularly pull upstream changes? #8

Closed Botspot closed 8 months ago

Botspot commented 8 months ago

Mainline Wayfire continues to get frequent updates. I saw little point in updating, until I found a use-case where updating wayfire would help. Take swayidle, a tool for checking how long since the user last interacted with the desktop, just like xprintidle. I asked the wayfire devs about swayidle here and it ought to work, but the PiOS Wayfire version is too old and does not implement the ext-idle-notify protocol.

As a individual user, my best choice would be to compile the upstream Wayfire for myself and move on. But that would not be feasible for all the PiOS users who are unable to use any of my scripts that include xprintidle now. Right now those scripts are broken. I could update them to use swayidle so that Bookworm OS users could use these scripts, but with outdated wayfire that is not an option.

Is the current plan to let wayfire get 2 years out of date until Raspberry Pi OS Trixie is released? Hopefully not.

spl237 commented 8 months ago

The situation is rather more complex than you realise.

What runs as part of the current RPiOS release is version 0.7 of wayfire, with a number of Pi-specific performance optimisations. Simply taking upstream releases of the wayfire code will remove all such optimisations and cause a significant degradation in performance.

When wayfire was updated from 0.7 to 0.8, its architecture changed substantially in the same area as many of our optimisations, which means that applying said optimisations to 0.8 is a non-trivial exercise and will involve several weeks - if not months - of work.

There is no guarantee that, having done this, the change from wayfire 0.8 to 0.9, or indeed any other future change, will not have the same effect of making our optimisations awkward to apply.

Obviously our intention is not to stay on wayfire 0.7 indefinitely, but we cannot use the upstream version as-is, and do not wish to saddle ourselves with an ongoing maintenance headache. We are currently spending a significant amount of time and effort on working out the best approach for long-term support - your patience is appreciated in the meantime.

theofficialgman commented 6 months ago

The situation is rather more complex than you realise.

No I don't think so.

What runs as part of the current RPiOS release is version 0.7 of wayfire, with a number of Pi-specific performance optimisations. Simply taking upstream releases of the wayfire code will remove all such optimisations and cause a significant degradation in performance.

@spl237 I did a basic audit. Please point the optimizations out. I have applied the entire repo here ontop of upstream 0.7.5 and see no optimizations at all... only modifications relevant to window decoration and the addition of the winshadows single_plugins and pixdecor plugins to the main repo (which it would be better if you not do).

Unless of course the "optimizations" have something from the core/plugins_nogl folder that you sneakily added loading abilities for here https://github.com/raspberrypi-ui/wayfire/commit/bb51c37636a79e2e18599612837075060352d3eb but didn't upload any source code for

spl237 commented 6 months ago

Let me guess - your "basic audit" only covered the master branch, didn't it?

Which is not what we ship.

Try looking in some of the other branches, where you will find the optimisations to which I refer, and which do not apply on top of 0.8.