Skip to content

Conversation

@cmeissl
Copy link
Contributor

@cmeissl cmeissl commented Mar 16, 2025

depends on Smithay/smithay#1680 (merged)

fixes #910

@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch from dd7e90d to 5e37e19 Compare March 16, 2025 12:58
@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch from 5e37e19 to f2be61c Compare March 16, 2025 13:14
@cmeissl
Copy link
Contributor Author

cmeissl commented Mar 16, 2025

doc builds fail caused by ongoing migration of fdo gitlab

@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch 2 times, most recently from 1f85ad6 to 6083bb4 Compare March 16, 2025 13:34
@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch 4 times, most recently from c4a170b to 6571e85 Compare March 22, 2025 12:00
@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch 2 times, most recently from 43c9e7f to d0e6120 Compare April 17, 2025 11:59
@cmeissl cmeissl force-pushed the feature/primary_render_fallback branch from d0e6120 to 2d2767d Compare April 17, 2025 12:06
@cmeissl cmeissl marked this pull request as ready for review April 17, 2025 12:06
@cmeissl cmeissl requested a review from YaLTeR April 17, 2025 12:06
Comment on lines +2293 to +2294
.map(|surface_render_node| surface_render_node == primary_render_node)
.unwrap_or(false)
Copy link
Owner

Choose a reason for hiding this comment

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

nit: is_some_and()

)
);

!is_ccs && (device.render_node.is_some() || format.modifier == Modifier::Linear)
Copy link
Owner

Choose a reason for hiding this comment

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

nit: would be clearer to write this as an

if device.render_node.is_none() {
    return format.modifier == Modifier::Linear;
}

at the top of the closure

.as_mut()
.add_node(render_node, gbm.clone())
.context("error adding render node to GPU manager")?;
anyhow::ensure!(!egl_device.is_software(), "skipping software device");
Copy link
Owner

Choose a reason for hiding this comment

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

Question: will this break running niri on devices where only llvmpipe is available? E.g. the main GPU driver has too old OpenGL.

(I have no idea if this even works right now, maybe it doesn't, then it's fine, but should add a comment here)

Comment on lines -933 to -936
// Create GBM allocator.
let gbm_flags = GbmBufferFlags::RENDERING | GbmBufferFlags::SCANOUT;
let allocator = GbmAllocator::new(device.gbm.clone(), gbm_flags);

Copy link
Owner

Choose a reason for hiding this comment

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

nit: if you feel like, could split "putting allocator into OutputDevice" into its own commit prior to this commit

Comment on lines +572 to +573
.map(|render_node| render_node == self.primary_render_node)
.unwrap_or(false);
Copy link
Owner

Choose a reason for hiding this comment

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

nit: is_some_and()

Comment on lines +1305 to +1307
output_state
.frame_clock
.refresh_interval()
Copy link
Owner

Choose a reason for hiding this comment

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

nit: might be cleaner to extract if let Some(refresh_interval) = output_state.frame_clock.refresh_interval() { outside this whole vblank_remaining_time handling section

};
let throttled_metadata = DrmEventMetadata {
sequence: meta.sequence,
time: DrmEventTime::Monotonic(throttled_time),
Copy link
Owner

Choose a reason for hiding this comment

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

Wouldn't it be better to set DrmEventTime::Monotonic(Duration::ZERO) here? So that it doesn't get set as as HwClock presentation.

@YaLTeR
Copy link
Owner

YaLTeR commented Apr 29, 2025

Merged the Smithay bump commit

@scottmckendry
Copy link
Contributor

Hello @cmeissl 🙂

Is there anything blocking this from progressing further? I'm running into the same issue as reported on #910 and can help with validating the fix.

@scottmckendry
Copy link
Contributor

This can be closed now that #2312 is merged

@cmeissl
Copy link
Contributor Author

cmeissl commented Nov 21, 2025

superseded by #2312

@scottmckendry Thanks for taking over, nice work!

@cmeissl cmeissl closed this Nov 21, 2025
@cmeissl cmeissl deleted the feature/primary_render_fallback branch November 21, 2025 21:56
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.

DisplayLink Screens Not Outputting

3 participants