Skip to content

media: cx231xx: Fix Elgato Video Capture V2 default norm for PAL regions#149

Open
TaterYo wants to merge 1 commit intoCachyOS:masterfrom
TaterYo:fix-elgato-v2-pal-norm
Open

media: cx231xx: Fix Elgato Video Capture V2 default norm for PAL regions#149
TaterYo wants to merge 1 commit intoCachyOS:masterfrom
TaterYo:fix-elgato-v2-pal-norm

Conversation

@TaterYo
Copy link
Copy Markdown

@TaterYo TaterYo commented Mar 30, 2026

The Elgato Video Capture V2 (card=16) has its default norm hardcoded to V4L2_STD_NTSC, causing rainbow-coloured scrambled image for users in PAL regions even when PAL is set via v4l2-ctl at runtime. Change the default norm to V4L2_STD_PAL to fix this. Tested on CachyOS with a JVC HR-J758 VCR in Norway.

@TaterYo
Copy link
Copy Markdown
Author

TaterYo commented Apr 2, 2026

Hi, could someone review this? It's a simple one line fix for PAL users of the Elgato Video Capture V2. Tested and working on CachyOS. Thanks!

@@ -0,0 +1,12 @@
```
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Remove backtick

.agc_analog_digital_select_gpio = 0x0c,
.gpio_pin_status_mask = 0x4001000,
- .norm = V4L2_STD_NTSC,
+ .norm = V4L2_STD_PAL,
Copy link
Copy Markdown
Member

@1Naim 1Naim Apr 3, 2026

Choose a reason for hiding this comment

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

What about V4L2_STD_ALL? I worry this change regresses people that are using NTSC.

edit: I think V4L2_STD_NTSC | V4L2_STD_PAL should also work, and is more conservative compared to V4L2_STD_ALL, can you first test the former before testing the latter? Thanks.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Thanks for the feedback! I tested both V4L2_STD_NTSC | V4L2_STD_PAL (0x00000fff) and V4L2_STD_ALL (0xffffffff) via v4l2-ctl at runtime but both still produce a scrambled image. The issue is that the cx25840 decoder chip ignores runtime standard changes on this device — the norm must be set correctly in the driver card definition for the hardware to initialize properly at firmware load time. Changing to V4L2_STD_PAL in the card definition is the only fix that works. I'm based in Norway so PAL is correct for my region. Happy to test any other suggestions!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you report this to kernel bugzilla? I don' think I can accept this change due to aforementioned regression.

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.

2 participants