Skip to content

Add Valkyrie V360 LCD support and experimental MC360 transport - #12

Closed
EsiksonX wants to merge 1 commit into
emaspa:mainfrom
EsiksonX:feat/valkyrie-v360-lcd
Closed

EsiksonX wants to merge 1 commit into
emaspa:mainfrom
EsiksonX:feat/valkyrie-v360-lcd

Conversation

@EsiksonX

Copy link
Copy Markdown

I added support for my Valkyrie V360 LCD, which shares the 345f:9132 MS9132 bridge with VMAX and Jonsbo DS339 but needs its own initialization and frame header. Discovery uses EDID geometry to route it to the V360 model and pairs HID/video interfaces by serial. It uses the existing profile renderer and device supervisor, with raw UYVY frames, cached conversion invalidation and static-frame keepalive. Existing VMAX XML settings remain compatible.

I also added an experimental MC360 transport, restricted to 374a:a021, product string Vk-Copl-08 and a valid 640×480/614400-byte screen-info response. It uses BGR565 bulk transfers, acknowledged frame-size announcements, aligned-transfer ZLPs and idle keepalive. I do not have an MC360 to test on Linux, so the UI and documentation explicitly mark it experimental. Discovery does not change brightness or send images.

The device list shows only the explicit V360 and MC360 model names. I left out ambiguous resolution/material-code groups and air-cooler aliases, and hid JPEG quality controls for these raw-frame devices.

I retained the full MIT notice for the V360 initialization adapted from LCD Fusion. I independently implemented the MC360 transport from published wire-format facts; references and limits are in docs/VALKYRIE-MC360.md. No vendor binaries or private driver core are bundled.

Validation:

  • I ran the full solution test suite: 351 passed, zero failed or skipped. This covers V360 routing/initialization/XML and MC360 descriptor restrictions, packet byte order, malformed replies, screen-info validation, BGR565 colors/stride, chunk/ZLP order and failed acknowledgements.
  • I built a self-contained Linux x64 publish successfully.
  • I tested my V360 on Fedora 44 / Linux 7.2 with text, a clock and CPU temperature at approximately 9 FPS with a 10 FPS target. I confirmed correct colors and orientation, tested brightness and 180-degree rotation, and verified task stop/restart and clean interface release.
  • I also ran the final portable app and verified that exit restored its temporary device ACLs.

I have not tested MC360 on physical Linux hardware, physical suspend/resume, or simultaneous operation with VMAX/DS339.

@EsiksonX EsiksonX closed this Oct 16, 2026
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.

1 participant