Skip to content

linux-pipewire: Enable blending for cursor rendering - #14073

Open
dualfroz wants to merge 1 commit into
obsproject:masterfrom
dualfroz:fix-pipewire-cursor-blending
Open

dualfroz wants to merge 1 commit into
obsproject:masterfrom
dualfroz:fix-pipewire-cursor-blending

Conversation

@dualfroz

Copy link
Copy Markdown

Description

enables blending before drawing the PipeWire cursor, the blend function was set but blending was never turned on.

Motivation and Context

the PipeWire source doesnt report a color space, so with Rec. 2100 libobs draws it into a texture with blending disabled (obs-source.c), and the cursors transparent pixels overwrite the frame, the black square from the issue. in SDR that path isnt used so it worked. the existing gs_blend_state_push/pop restores the state afterwards.

Fixes #13350

How Has This Been Tested?

built linux-pipewire, no HDR Wayland session to test it on.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • I have read the contributing document.
  • My code has been run through clang-format.
  • My code follows the project's style guidelines
  • My code is not on the master branch.
  • My code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

The cursor was drawn with a ONE/INVSRCALPHA blend function but without
enabling blending. In an HDR pipeline libobs renders the source into a
texture with blending disabled, so the transparent cursor pixels
overwrote the frame and showed as a black square.
@prgmitchell prgmitchell added the kind/bug Categorizes issue or PR as related to a bug. label Oct 24, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/bug Categorizes issue or PR as related to a bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Black square behind mouse cursor with Rec. 2100 colour spaces

2 participants