feat(compositor): upgrade wlroots to 0.19#92
Conversation
- Upgrade project dependency wiring from wlroots 0.18 to 0.19 - Update compositor integration code for wlroots 0.19 API changes - Improve compositor shutdown safety by detaching Wayland listeners cleanly - Refresh input forwarding docs to reflect the new wlroots version - Add OpenSpec change artifacts for unified Vulkan GPU policy rollout
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughBumps wlroots from 0.18→0.19 across build, packaging, and docs; adds a set of OpenSpec design/proposal/spec/task files for a unified Vulkan GPU stack and GPU-selection policy; and adjusts compositor server listener lifecycle and swapchain/presentation call sites. Changes
Sequence Diagram(s)sequenceDiagram
participant Launcher
participant Goggles as Viewer/Compositor
participant GPU_Policy as GPU Policy Resolver
participant DRM
participant Vulkan as Vulkan/ICD
participant LayerApp as Layer/App
Launcher->>Goggles: start (optional --gpu selector)
Goggles->>GPU_Policy: resolve canonical GPU (UUID → DRM node, ICD)
GPU_Policy->>DRM: verify render node accessible
GPU_Policy->>Vulkan: map UUID → physical device / ICD identity
Vulkan-->>Goggles: device & ICD identity confirmed
Goggles->>Vulkan: create explicit Vulkan renderer using DRM FD
Vulkan-->>Goggles: renderer created (or hard-fail)
Goggles->>LayerApp: spawn with propagated ICD/UUID env (or fail)
LayerApp->>Vulkan: use same ICD/device for capture (enforced)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
|||||||||||||||||||||||
PR Code Suggestions ✨Latest suggestions up to 4ef45b0
Previous suggestionsSuggestions up to commit cb1eca4
|
||||||||||||||||||||||
bf72172 to
657de62
Compare
User description
PR Type
Enhancement
Description
Upgrade wlroots dependency from 0.18 to 0.19 with API compatibility updates
Add explicit Vulkan renderer initialization with DRM render node support
Implement safe Wayland listener detachment during compositor shutdown
Update wlroots swapchain API calls to match 0.19 signature changes
Add OpenSpec design and proposal artifacts for unified GPU policy enforcement
Diagram Walkthrough
File Walkthrough
1 files
Add listener detachment and update wlroots 0.19 API calls2 files
Update wlroots package requirement to 0.19Switch wlroots dependency path to 0.19 package9 files
Update wlroots version documentation to 0.19Add OpenSpec metadata for GPU policy changeAdd comprehensive design document for unified GPU policyAdd proposal for unified Vulkan GPU stack enforcementAdd GPU selection and policy requirement specificationsAdd compositor Vulkan renderer requirement specificationsAdd wlroots 0.19 dependency requirement specificationsAdd layer GPU policy inheritance requirement specificationsAdd implementation task breakdown for GPU policy rollout2 files
Update wlroots package metadata to 0.19.2Update wlroots build recipe and pkg-config for 0.19Summary by CodeRabbit
New Features
Chores