Pp3345's Projects

pp3345/gnome-with-patches

This repo contains gnome-shell and mutter builds based on the official Fedora ones with some additional patches (mainly to improve performance). See GitHub for package sources. Please report any issues you encounter via GitHub or via the discussion form at the end of this page. Currently, the following patches are added in: Fedora 32 mutter: !798 "Wayland surface fullscreen unredirect" @65a6c4c3 (manually rebased) !850 "Make default focus window on each workspace appear focused" @f5252158 !1074 "clutter/stage: Cache get_update_time results" @08880261 !1113 "Cleanup painting stage views" @fbfa136b !1218 "Some Wayland frame callback fixes" @b802d8c8 (manually rebased) !1237 "Improve stage view damage tracking" @9495f87e (manually rebased) !1241 "backend/native: Allow stage updates to occur without stage redraws" @a9a60f70 (manually rebased) !1250 "Decouple window effects from freezing/thawing of window actors" @7fe2d730 !1259 "clutter/actor: Use priv->parent instead of public API sometimes" @84c82f96 !1284 "clutter-stage-cogl: Disable urgent frames when swap event support is missing" @a610a557 !1309 "Fix Nvidia smoothness issues" @be77651f (manually rebased) !1359 "clutter-actor: Cull actors that don't intersect the redraw clip" @4e286244 Enable real-time scheduling by default gnome-shell: !923 "js/ui: Keep refcounts to WallClock objects above 1." @c599ec7a !1251 "Notify mutter about completed size-change animation correctly" @2a8e1875 !1356 "workspaceSwitcherPopup: Set offscreen redirect always" @9363fd35 Xwayland: !316 "Add multiple buffering to xwl_window" @cd999f08 (manually rebased) !361 "Take window border width into account for window buffer updates and recycling" @46e5236b (manually rebased) !389 "xwayland/glamor-gbm: Add xwl_glamor_gbm_post_damage hook" @9e85aa9c (manually rebased) Fedora 31 Note for Dash-to-Panel users: The extension may break, please use this version: 7763f96 Download the ZIP from GitHub Remove the contents of ~/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com and extract the ZIP archive here Open the directory in a terminal and run glib-compile-schemas schemas mutter: !526 "Implement scaled/transformed hardware cursors" @b99f08c6 !575 "Honour CLUTTER_ACTOR_NO_LAYOUT more efficiently" @1e3acd0e !692 "clutter-stage-cogl: Use regions" @30783949 (manually rebased) !724 "Sync timelines to hardware vsync" @f7d81f8a (manually rebased) !798 "Wayland surface fullscreen unredirect" @7377cf85 (manually rebased) !850 "Make default focus window on each workspace appear focused" @f5252158 (manually rebased) !867 "Use regions for Cogl clipping and culling" @e746d880 (manually rebased) !888 "Handle empty invalidations" @2e9faaf6 !889 "clutter/cogl: Fix clipped redraw off scaled views" @9678fd53 (manually rebased) !898 "clutter/cogl: Fix invalidation on non-primary monitors with no buffer age" @6bfa61a3 !906 "Fix buffer age checks on multiple monitors" @d47324e8 !918 "surface-actor-wayland: Do not send frame callbacks if the actor is obscured" @5e87d67e (manually rebased) !969 "Batch clip rectangles into a single upload" @4aab814c (manually rebased) !983 "clutter/text: Check if attributes are equal before applying" @9b7fe584 !984 "Ignore monitor connector ID when possible" @9958f6a5 !985 "window-actor: Also cull out clip_region" @99db3cc9 !991 "Miscellaneous leak fixes" @802309ca !1000 "clutter-actor: Add detail to captured-event" @177dbd65 !1004 "background: Scale monitor_area after texture creation" @cf6493d3 !1008 "wayland/keyboard: Use write() instead of mmapped address to write file" @cb683ae4 !1017 "backend-eglnative: Search for the xsettings schema recursively" @d28a6409 !1033 "clutter/actor: Fix GValue leak when overwriting transition values" @55b1f914 !1036 "cullable: Support culling of integer scaled actors" @264f6885 (manually rebased) !1049 "wayland/actor-surface: Do not set opaque region for XWayland clients" @19814497 !1052 "cullable: Check if effects are disabled" @aceadfe3 !1058 "window-actor/x11: Make culling of opaque windows X11 only" @c89f8f19 !1071 "cogl: reduce temporary allocations calculating redraw regions" @c1b189ed (manually rebased) !1074 "clutter/stage: Cache get_update_time results" @08880261 (manually rebased) ebc07871 "shaped-texture: Add get_width()/get_height() API" !1082 "Culling fixes" @39a8c047 (partial) !1083 "clutter: do less when removing actors" @a3fc6518 !1099 "cursor-renderer-native: Fix hw cursor for non-square sprites" @390fd7dd Enable real-time scheduling by default gnome-shell: !605 "Gestures overhaul" @b4bd41c0 (rebase taken from exalm/gnome-shell-gestures) !843 "pageIndicators: Redesign and add position-based animation" @109f39af (rebase taken from exalm/gnome-shell-gestures) !846 "st/button: Notify :pressed changes" @9790b0ee !923 "js/ui: Keep refcounts to WallClock objects above 1." @73374358 (manually rebased) !925 "js/ui: Subscribe touchpad gesture handlers to only touchpad events" @c35bccb4 (manually rebased) !926 "iconGrid.js: Animate icon spring using translation" @76961927 !936 "workspace: Animate window clones using translation properties" @87df8c17 !948 "overviewControls: Use ClutterActor's translation-x" @4c4846e9 (manually rebased) !974 "texture-cache: Fix invalid reads when storing used resource scales" @7287ee36 !1002 "iconGrid: Create icon clones in a separate loop" @c48de608 !1044 "st: implement ClutterActorClass.has_accessible()" @24a3fd4c !1051 "util: cache local GTimeZone" @06b690ff (manually rebased) !1054 "app-cache: add ShellAppCache for GAppInfo caching" @3f9cf27f (manually rebased) !1061 "environment: Fix date conversion" @0dd171a7 Xwayland: !282 "xwayland/glamour-gbm: Handle DRM_FORMAT_MOD_INVALID gracefully" @edf96443 !316 "Add multiple buffering to xwl_window" @cd999f08 (manually rebased) !355 "xwayland: Do flush GPU work in xwl_present_flush" @162e1204 !356 "xwayland: Use frame callbacks for Present vblank events" @c7de6c22 !389 "xwayland/glamor-gbm: Add xwl_glamor_gbm_post_damage hook" @9e85aa9c (manually rebased) Fedora 30 mutter: Note: These builds contain support for experimental real-time scheduling to reduce stuttering. To enable this feature run dconf write /org/gnome/mutter/experimental-features '["rt-scheduler"]' and reboot your machine. This only works for Wayland sessions. !119 "renderer-native: Reference count front buffers" @fecc57dd !168 "clutter: Deliver events sooner when possible" @ae8fc614 !189 "Geometric (OpenGL-less) picking" @bfdf54fa !281 "clutter/stage-cogl: Reschedule update on present" @4faeb127 !283 "clutter-actor: Add detail to captured-event signal" @a20a0d7a !363 "Consolidate all frame throttling into clutter-stage-cogl" @1dbf25af !454 "cogl: Enable EGL_IMG_context_priority" @49675a41 !460 "Set SCHED_RR on gnome-shell process" @b2f6d46f !520 "clutter/stage-cogl: Don't skip over the next frame" @45244852 !568 "compositor: Don't emit size-changed when only position changes" @00d8337d !575 "Honour CLUTTER_ACTOR_NO_LAYOUT more efficiently" @1e3acd0e (manually rebased) !576 "Lists free cleanups" @f7ecf3b6 !600 "Fix background texture corruption when resuming from suspend on Nvidia" @8b5060fe !602 "cogl: Remove GLX "threaded swap wait" used on Nvidia" @df38ad3c (manually rebased) !677 "clutter: Defer actor allocations till shown" @0eab73dc !693 "clutter: Force an allocation on clone source if necessary" @08a3cbfc !698 "Make MetaCullable implementations more thorough wrt painted areas" @f501fdcc !707 "window-actor: Fix rectangle coordinates in culling" @aae9f3a3 !724 "Sync timelines to hardware vsync" @230c1293 (manually rebased) Rebase to gnome-3-32 @b7f15881 gnome-shell: !136 "Fix and polish the window overlays of the overview" @39c8c9ac !276 "js/ui: Use captured-event::nonmotion" @297a18f2 (manually rebased) Rebase to gnome-3-32 @1c6abf37 Set CAP_SYS_NICE capability on gnome-shell binary to allow using real-time scheduling Known issues: Moving windows is slow and causes extreme CPU consumption when using the NVIDIA binary driver in combination with a display with a high refresh rate (e.g., 144 Hz) Fedora 29 Note: These builds are no longer maintained, but should still work properly. mutter: Pass -eglstream to Xwayland clutter: Fix offscreen-effect painting of clones (https://gitlab.gnome.org/GNOME/mutter/merge_requests/117 @5c123a76) clutter: Deliver events sooner when possible (https://gitlab.gnome.org/GNOME/mutter/merge_requests/168 @7782ed6e) Sync to the hardware refresh rate, not just 60.00Hz (https://gitlab.gnome.org/GNOME/mutter/merge_requests/318 @1b310980) Geometric (GPU-less) picking (https://gitlab.gnome.org/GNOME/mutter/merge_requests/347 @1b796888) cogl-winsys-glx: Fix frame notification race/leak (https://gitlab.gnome.org/GNOME/mutter/merge_requests/216 @ab03f010) clutter-stage-cogl: Reduce output latency and reduce missed frames too (https://gitlab.gnome.org/GNOME/mutter/merge_requests/281 @d2fbb9ff) clutter-actor: Add detail to captured-event signal (https://gitlab.gnome.org/GNOME/mutter/merge_requests/283 @c2404d16) Unassorted performance fixes (https://gitlab.gnome.org/GNOME/mutter/merge_requests/195 @1a407d0f w/o "clutter: Avoid rounding compensation when invalidating 2D actors") clutter: More accurate & detailed CLUTTER_SHOW_FPS (https://gitlab.gnome.org/GNOME/mutter/merge_requests/154 @0a5a2e6b) clutter: Add ClutterPaintVolume argument to ClutterActor::queue_redraw (https://gitlab.gnome.org/GNOME/mutter/merge_requests/196 @cdcf24ca) Avoid some parent actor relayouts/redraws (https://gitlab.gnome.org/GNOME/mutter/merge_requests/202 @ffaec917) clutter-stage: Don't emit "after-paint" when picking (https://gitlab.gnome.org/GNOME/mutter/merge_requests/365 @5caa95b5) clutter: Avoid redundant margin changes (https://gitlab.gnome.org/GNOME/mutter/merge_requests/305 @59acb389) gnome-shell: Deprecate Shell.GenericContainer (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153 @38c1ebba) js/ui: Use captured-event::discrete (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/276 @d12c86cf) iconGrid: Eliminate JavaScript for painting/picking (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/306 @0e0574a0) messageTray: Re-enable unredirection when banner is destroyed (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/304 @7d4e510c) shell-global: Make saving of persistent state asynchronous (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/318 @4c596ae7) workspaceThumbnail: Clean up porthole/workarea setting and updating (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/343 @0485822f) Use ClutterImage on StTextureCache (https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/364 @3dcb593a) gnome-shell-extensions: Includes 3.31.2 to fix issues with certain extensions that broke after removing Shell.GenericContainer
  • Fedora 31 : x86_64
  • Fedora 32 : x86_64

pp3345/chromium-ozone-beta

Work in progress. Do not use. See chromium-ozone for a working repo.
  • Fedora 32 : x86_64

pp3345/chromium-ozone

This repository contains builds of the Chromium browser with the new ozone/x11 and ozone/wayland platform abstraction backends enabled. See GitHub for package sources. Defaults to ozone/x11. Run as chromium-browser --ozone-platform=wayland to use ozone/wayland in a Wayland session. There are still open issues and limitations in both new backends compared to the existing X11 implementation. Use with caution. These packages are mainly intended for playing around and evaluating the current state of the Wayland implementation, and are not practical for everyday use according to my own tests. Note: In contrast to the official Fedora packages, this repository is missing support for remoting and headless Chromium.
  • Fedora 32 : x86_64

pp3345/dptf

This repo contains builds of the Intel (R) Dynamic Platform and Thermal Framework driver for Fedora. The DPTF user-mode driver and all required kernel components are added to the initramfs and loaded during early boot. Package sources are available on GitHub. This is a solution to help enable thin, quiet, and cool platform designs. Intel DPTF hosts various platform level power and thermal management technologies that help with this goal. Intel DPTF provides mechanisms for platform components and devices to be exposed to individual technologies in a consistent and modular fashion thus enabling a coordinated control of the platform to achieve the power and thermal management goals. (Source: Intel) Do I need this? This is useful for some modern ultrabooks (e.g., ThinkPads, Dell XPS, ...) that use DPTF to govern thermal throttling, cooling, and power management and may potentially improve CPU performance on these systems. Note, however, that Intel's DPTF Linux driver is incomplete and does not support all policy types used by these devices. Thus, it still doesn't work as well as it does on Windows, but can certainly improve the situation for many notebooks. To find out whether your device may benefit from installing the DPTF driver, run lsmod | grep int34 and lsmod | grep processor_thermal_device. If the output of one of these commands is not empty, the necessary hardware is present in your computer.
  • Fedora 31 : x86_64
  • Fedora 32 : x86_64