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

Release 2.12.1 #2846

Merged
merged 12 commits into from Feb 27, 2023
Merged

Release 2.12.1 #2846

merged 12 commits into from Feb 27, 2023

Conversation

Saviq
Copy link
Collaborator

@Saviq Saviq commented Feb 23, 2023

- Bugs fixed:
  . Add missing #include statements (#2802)
  . mir_wayland_generator generated code that include non public
    header (#2804)
  . Building docs fails when trying to not remove doc/html/cppguide (#2800)
  . wayland: Add missing cstdint includes (#2821)
  . Enabling zwp_idle_inhibit_manager_v1 causes Mir to crash with some
    applications (#2836)
  . [Wayland] idle_inhibit_unstable_v1 is badly broken (#2838)

bors bot and others added 6 commits February 23, 2023 14:28
2802: Add missing #include statements r=wmww a=musicinmybrain

- `<stdexcept>` for `std::logic_error`
- `<cstdint>` for `uint*_t`

Fixes failure to compile with GCC 13.

Co-authored-by: Benjamin A. Beasley <code@musicinmybrain.net>
2805: Publish mir/wayland/client.h r=Saviq a=AlanGriffiths

Fixes: #2804

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>
2817: doc: better removal of existing docs r=AlanGriffiths a=Saviq

`rm -f dir` doesn't do.

Fixes: #2800

Co-authored-by: Michał Sawicz (Saviq) <michal@sawicz.net>
2821: wayland: Add missing cstdint includes r=AlanGriffiths a=Conan-Kudo

This fixes building for Fedora Linux 38, which ships GCC 13.

Co-authored-by: Neal Gompa <ngompa13@gmail.com>
2842: (Sophie's) reimplementation of idle_inhibit_unstable_v1 r=AlanGriffiths a=wmww

Based on and alternative to #2839. I put the visibility observer in idle_inhibit_v1.cpp to avoid cluttering wl_surface.cpp. Draft since there's still some issues I've observed and want to sort out. Not yet clear if they're also in our current implementation and/or Alan's implementation.

Fixes #2838
Fixes #2836

Co-authored-by: Alan Griffiths <alan@octopull.co.uk>
Co-authored-by: Sophie Winter <wm@wmww.sh>
@Saviq Saviq changed the title Release/2.12 Release 2.12.1 Feb 23, 2023
@Saviq
Copy link
Collaborator Author

Saviq commented Feb 23, 2023

~rc11

TestPlan

Platform 20.04LTS 22.04LTS 22.10 23.04
gbm-kms @AlanGriffiths     @AlanGriffiths
gbm-x11 @AlanGriffiths     @AlanGriffiths
gbm-wayland @AlanGriffiths     @AlanGriffiths
eglstream-kms      
dispmanx    
Console 20.04LTS 22.04LTS 22.10 23.04
minimal @AlanGriffiths     @AlanGriffiths
linux-VT      
logind @AlanGriffiths     @AlanGriffiths
WM 20.04LTS 22.04LTS 22.10 23.04
floating @AlanGriffiths     @AlanGriffiths
tiling @AlanGriffiths     @AlanGriffiths
kiosk @AlanGriffiths     @AlanGriffiths

Note: there are some know issues with SDL2 apps on 23.04

@Saviq Saviq self-assigned this Feb 23, 2023
bors bot and others added 5 commits February 23, 2023 15:08
2806: tests/ShmBacking: Improve invalid access tests. r=Saviq a=RAOF

So, `mmap` will provide a mapping *of pages*, which means its going to be a multiple of `PAGE_SIZE`, even if the backing file is not a-multiple-of-`PAGE_SIZE` big. It zero-pads the end up to the next page, *and accesses to this zero-initialised region do not fault*.

Now, it turns out I picked `4000` as the backing size, which is close enough to the `PAGE_SIZE` of `4096` on *most* kernels Ubuntu builds that doubling it puts you in a separate page, so these tests pass on all systems with a 4K `PAGE_SIZE`.

ppc64el has a 64K `PAGE_SIZE` 😠

Fix this by querying `sysconf(_SC_PAGE_SIZE)` and making our backing file *exactly* one page in size. Combined with `mmap` being specified to map on a page-aligned address (which is really the only thing it could do), that guarantees that *any* access outside the valid range is going to hit a different page, and hence fault.

Fixes: #2774

Co-authored-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
2844: Migrate BasicIdleHub to use Synchronised<T> r=AlanGriffiths a=wmww

Makes maintaining thread safety easier. Should not have an impact on behavior.

Co-authored-by: Sophie Winter <wm@wmww.sh>
2843: Fix BasicIdleHub behavior r=RAOF a=wmww

I've noticed a number of edge cases that cause `BasicIdleHub` to misbehave. Tests are written, implementation to come.

Co-authored-by: Sophie Winter <wm@wmww.sh>
Co-authored-by: Sophie Winter <git@phie.me>
@AlanGriffiths
Copy link
Contributor

Oh, that's disappointing: I had forgotten #2792 (but #2809 isn't really a bugfix)

Copy link
Contributor

@AlanGriffiths AlanGriffiths left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WFM

@Saviq
Copy link
Collaborator Author

Saviq commented Feb 27, 2023

bors r=AlanGriffiths

@bors bors bot merged commit ccd4eb2 into main Feb 27, 2023
@bors bors bot deleted the release/2.12 branch February 27, 2023 08:38
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

Successfully merging this pull request may close these issues.

None yet

2 participants