Driver Details

New Community

Christie M4K / Griffyn RGB Laser Projector

By: David Bowdler
Updated: May 27, 2026
Version: 1.34
Download Driver Purchase License
Rating: 0.0 (0 ratings)
Log in to rate this driver

Full RTI control driver for Christie cinema-grade RGB laser projectors (M4K15, M4K25, Griffyn 4K-RGB family) on the TruLife+ electronics platform. Talks plain TCP/IP to the projector on port 3002 plus an optional HTTP/JSON-RPC arm for listener-push feedback.

Three integrator surfaces in one driver:

  • Traditional touchpanel widgets — drop standard buttons and feedback variables straight onto any RTI panel page.
  • Web Object UI — polished single-page dark-themed control surface served from the driver itself on port 9040. Works in any browser, ideal for iPad and RTiPanel.
  • Browse Menu — list-widget UI with baked-in PNG icons and active-state markers, designed for hardware remotes (ISR-2, ISR-4, IST-5) that don't render Web Objects.

Features

  • Power, shutter, freeze, brightness, fan profile, OSD position, stealth mode, auto-power-on
  • Image preset recall (1–20) with last-recalled feedback and active-state highlighting
  • Input selection with auto-detected per-input-type icons (HDMI, SDI, DisplayPort, HDBaseT, DVI, VGA, USB-C)
  • 200+ system variables exposing every status field the projector reports: temperatures, fan speeds, laser hours, firmware versions, LiteLOC, serial numbers, ambient sensors
  • Lens control (zoom, focus, shift) with paired down/up jog functions
  • Optional 4-digit PIN authentication
  • Debug console on TCP 12515 for live troubleshooting
  • Remote cloud-logging hook for development support (off by default)

Compatible Models

  • Christie M4K15 (15,000-lumen RGB pure laser)
  • Christie M4K25 (25,000-lumen RGB pure laser)
  • Christie Griffyn 4K32-RGB and the wider Griffyn 4K-RGB family
  • Any other Christie projector on the TruLife+ electronics platform sharing protocol document 020-103316-13

Licensing

15-minute free trial after every driver initialise — every function works. Trial expires per session; reload to restart. Full licence is MAC-locked per RTI processor, no DRM phone-home. Email the processor's MAC address to david@smarthomeprogramming.com.au with your purchase confirmation to receive your licence key.

Requirements

  • RTI XP processor running firmware that supports Web Objects (XP-3 / XP-6 / XP-8 / XP-8s / XP-8v)
  • Network connection to projector with TCP port 3002 reachable
  • Integration Designer APEX 11.4 or newer

Support

Driver development by Smart Home Programming. Documentation, support and updates at smarthomeprogramming.com.au — email support direct to david@smarthomeprogramming.com.au.

Christie M4K / Griffyn RGB Laser Projector Driver

Version 1.34

Supported Models

- Christie M4K15-RGB

- Christie M4K25-RGB

- Christie Griffyn 4K32-RGB (and other TruLife+ Griffyn variants)

- Any other projector running TruLife+ electronics (M RGB Series, Griffyn Series, Sapphire 4K40-RGBH)

All three share the same TruLife+ serial command protocol; if your projector accepts the documented "(PWR?)" query on TCP port 3002, this driver will work.

Setup

1. Enable Network on the projector (Service menu).

2. Assign the projector a static IP or DHCP reservation.

3. Confirm port 3002 is reachable. Quick test from a PC on the same LAN: telnet to the projector IP on port 3002 and type: (PWR?) followed by Enter. The projector should reply with (PWR!000 "Standby") or (PWR!001 "On").

4. In Integration Designer, enter the projector IP under Driver Properties > Connection.

5. Leave PIN blank unless the projector has been PIN-protected at the projector menu.

6. Address (ADR) is typically left at 0. Only change if you have multiple projectors sharing a control bus.

Input Configuration

Each input maps to a SIN code (a single number per the projector's current port configuration). Use the projector's Web UI to find the right SIN value for each physical port.

For combined source switching (port config + input in one command), use the Select Channel function with CHA codes (600-635) per the TruLife+ documentation:

- 600 = One-Port HDMI0

- 601 = One-Port HDMI1

- 603 = One-Port DP0

- 604 = One-Port DP1

- 606..609 = One-Port SDI0..SDI3

- 611 = One-Port SDVOE

- 612 = Christie Link A

- 614 = One-Port VOM-HDMI

- 620 = Two-Port HDMI

- 621 = Two-Port DP

- 622 = Four-Port SDI

Set "Number of Inputs" to how many you want to expose and fill in name + SIN code for each. Inputs left blank are hidden.

Power States

The driver tracks 4 power states (per TruLife+ doc 020-103316-11):

- 0 = Standby

- 1 = On

- 10 = Cooling Down

- 11 = Warming Up

Use the PowerOn / PowerOff / PowerWarming / PowerCooling boolean variables for layer visibility on touch panels.

Brightness (Laser Power)

The TruLife+ protocol does not expose a standalone "brightness" command. Brightness is set via master laser power (LAS+POWR), scale 0-1000 where 1000 = 100.0%. Default 750 (75.0%). Use Set Brightness to drive the laser power slider in IDesign.

Fan Mode

M RGB Series and Griffyn 4K35/4K50-RGB models support 3 fan profiles via the TMC+MODE command:

- 0 = Standard (default, balances noise and brightness)

- 1 = Quiet (minimum fan noise; may reduce brightness)

- 2 = Performance (maximum brightness; fans run freely)

Set with the Fan Mode functions. The driver tracks the current mode in the FanMode + FanModeName sysvars and fires FAN_MODE_CHANGED when it changes.

OSD Position

The on-screen-display can be moved to one of 9 preset positions on screen (MSP command). Useful when the OSD interferes with content. Values 0-8 map to top-left through bottom-right.

Stealth Mode

For theatre / cinema installs where stray light from the projector chassis is unwanted, Stealth On disables the front status / shutter LEDs and silences the heartbeat feature on the display panel Enter key. Stealth Off restores normal behaviour.

Auto Power On

M RGB Series projectors support auto-resume after AC loss (APW command). If enabled, the projector automatically powers up to the On state when AC power is restored after a blackout - but only if it was On when the blackout occurred.

Profile Recall

The projector stores up to 10 user profiles + 1 default. Recall Profile (0-10) restores all settings (color, gamma, lens position, etc.) from a stored profile in one step. Configure profiles via the projector's Web UI.

Lens Control

"Jog" functions are paired: Hold-down sends the start motor command, Release sends the stop motor command. Wire them in Integration Designer as Button Down + Button Up event pairs.

Absolute positioning functions accept signed integer values:

- Zoom/Focus: -1200 to +1200 (driver default; real range queried from projector at startup)

- Horizontal/Vertical offset: -2050 to +2050 (driver default; real range queried from projector at startup)

The projector's actual travel ranges populate LensZoomMin/Max, LensFocusMin/Max, LensHMin/Max, LensVMin/Max sysvars - use these to clamp UI sliders to real travel.

Test Patterns

The "Test Pattern" function with index 0 = pattern off. Indices 1-27 are documented patterns (1=Grid, 2=Gray Scale 16, 3=Flat White, 4=Flat Gray, 5=Flat Black, 6=Checker, 7=17 Point, 8=Edge Blend, 9=Color Bars, 10=Multi Color, 11=RGBW Ramp, 12=Horizontal Ramp, 13=Vertical Ramp, 14=Diagonal Ramp, 15=Square Grid, 16=Diagonal Grid, 17=Maximum Activity, 18=Prism/Convergence, 19=FLIR, 20=Focus Fidelity, 21=Boresight, 22=Convergence, 23=Integrator Rod, 26=CTF Horizontal, 27=CTF Vertical). Indices 100+ are downloaded custom patterns.

Web Control (HTTP / JSON-RPC) - new in v1.10

The driver has two transports that can run side-by-side:

- TCP port 3002 (serial protocol) - the original path, always on

- HTTP port 80 (JSON-RPC / Web UI) - optional, opt-in

The HTTP arm talks to the same JSON-RPC API that the projector's Web UI uses internally. To enable: tick "Enable Web Control" in Driver Properties, enter the Web UI credentials (factory default is user / user on M 4K). The driver authenticates against /cgi-bin/c4jweb and from that point onwards:

- Subscribes to push notifications for power, brightness, fan, shutter, lens, color temperature, gamma, OSD, test pattern, input - the projector pushes changes when they happen, instead of the driver polling. Touchpanel feedback becomes near-instant.

- Opens up image preset recall (1-20) - the cinema-grade per-show preset slots. Use the Recall Image Preset function (parameter 1-20) or the dedicated Image Preset 1-10 buttons.

- Adds direct control of color temperature (3200K-9300K), color table (BT.709 / DCI-P3 / BT.2020 / etc), gamma power (1.0 to 3.0), gamma function (sRGB / Power Law / HDR-PQ / etc), LiteLOC mode, camera-friendly color mode, low brightness mode, lens motor lock.

- Generic passthrough for any of the ~250 control codes the Web UI exposes: Send Raw Control with any code (e.g. CCA+CTMP, GAM, BLK+BOTP, CUC+H1RL, ...) and a value.

- Read any status item by group + index: Read Status Item with group "TEMP" idx 0 returns the integrator rod temperature, etc.

The HTTP arm is entirely additive - if your install is happy with the serial path, leave Enable Web Control off and the driver behaves exactly like v1.09. If you turn it on, all the existing serial functions keep working AND the new web-arm functions become available.

Both transports update the same touchpanel sysvars (PowerOn, Brightness, FanMode, etc) so the panel doesn't care which path saw the change first. Listener push from the HTTP arm typically beats serial polling by 5-10 seconds.

Web Object (Browser Control Page) - new in v1.14, refined in v1.15-v1.18

The driver hosts a browser-based control surface on the processor itself - no separate server, no cloud dependency. Once enabled, any phone, tablet, or laptop on the same network as the processor can open the URL and drive the projector through a polished dark-themed control page.

To enable: Driver Properties > Web Object > tick "Enable Web Object". Default port is 9040 (change if it clashes with another driver on the same processor). No other configuration needed.

To use: open a browser on any device on the LAN and go to http://<processor-IP>:9040/. You'll see the Christie M 4K Projector control surface.

Page layout

Header has the projector name, a small green connection dot, and a settings gear icon.

Below the header is a menu of six big category buttons:

- Power & Shutter - power on, power off, shutter open/close, freeze toggle

- Brightness & Fan - laser power slider (0-100%), four quick presets (30/50/70/100%), fan profile (Standard / Quiet / Performance)

- Input Selection - one button per input configured in Driver Properties; active input is highlighted

- Image Presets - 1 through 20, each tappable, with a confirmation prompt before recall

- Advanced - OSD position (3x3 grid), color temperature slider, stealth mode toggle, auto power on toggle, manual refresh button

- Status - live projector readouts (power state, brightness, fan, input, intake/CPU temperature, LiteLOC, laser hours, OSD position, stealth, firmware) plus licence info (driver version, licence status, trial remaining, MAC for key generation)

Each category button opens a popup with the controls for that group. Close with the X in the corner or by tapping outside the popup.

Settings (gear icon)

- Theme picker - five preset themes (Dark, Cinema, Light, Crimson, Ocean) plus a Custom theme with per-variable colour pickers (10 palette colours editable independently)

- Visible Sections - per-category checkboxes; untick any category you don't want to expose to that browser

- All preferences are saved in the browser (localStorage, keyed by host) - each device can have its own theme and section visibility without driver redeploys

Feedback model

Every button press updates the on-screen value optimistically AND queries the projector for confirmation - so the UI feels instant, and any rejection self-corrects within ~500ms. State polls every 2 seconds via /state for live monitoring data.

When to use the Web Object vs an RTI panel

- RTI panel: production cinema/AV install with dedicated touchpanels wired into the controller

- Web Object: quick tech access from any device, browser-based screenings, ad-hoc operator control, or as an alternative for installs that don't have RTI panels at all

Both surfaces drive the same driver, so changes made on one are reflected on the other within the next poll cycle.

Show/Hide the Web Object from RTI panels (new in v1.21)

The driver exposes a boolean sysvar "Web Object Visible" and a paired inverse "Web Object Hidden", plus three driver functions: Show Web Object, Hide Web Object, Toggle Web Object. The pattern lets integrators trigger the web object as an overlay layer from any panel button.

To wire it up:

1. In Integration Designer, create a layer on the panel that holds the Web Object widget. Set the layer's Visibility property to "Visible when Variable is True" and bind it to the Christie driver's "Web Object Visible" sysvar.

2. Add a panel button (e.g. a "Projector" icon) whose macro calls the Christie driver's "Show Web Object" function. Tapping it sets the sysvar true and the layer/web object appears.

3. The web object header now includes a close X button (right of the settings gear). Tapping it POSTs /close to the driver which sets "Web Object Visible" false - the layer hides automatically.

"Toggle Web Object" is provided for installs that want a single button to flip in and out. "Web Object Hidden" is the pre-inverted mirror sysvar for layer visibility scenarios that need "show when NOT visible" without RTI's NOT operator.

The sysvar is always written false at driver load so the projector control never pops up unexpectedly on processor restart.

Browse Menu (Hardware Remote / List Widget) - new in v1.22

For remotes that don't render the Web Object (ISR-4, T-class hardware remotes, basic touchpanels), the driver hosts a list-based menu UI driven by RTI's standard list widget. Same coverage as the Web Object - Power & Shutter, Brightness & Fan, Inputs, Image Presets, Advanced, Status - just rendered as scrollable lists with icons.

Sysvars exposed:

- "Browse List" (list type) - the menu items, bind to a list widget on the panel

- "Browse Title" (string) - current menu title, bind to a text label above the list

- "Browse Category Icon" (image URL) - icon for the current category, bind to an image widget if you want it shown

Functions to wire:

- "Browse Select" - called by the list widget on item selection (RTI passes the selected index automatically via the :List export convention)

- "Browse Back" - go back one level. Wire to a Back button or Page Down navigation.

- "Show Browse Home" - return to the root menu. Wire to a Home button.

Integrator setup:

1. Drop a list widget on the panel and bind it to the "Browse List" sysvar. Configure the widget to use the icon column from the list items (RTI lists support label + icon URL via InsertWithImage).

2. (Optional) Drop a text label above the list, bind to "Browse Title".

3. Set the list's "Select" event to call the Christie driver's "Browse Select" function (the integer index parameter is auto-populated by RTI).

4. Add a Back button somewhere on the screen, bind to "Browse Back".

5. Add a Home button if needed, bind to "Show Browse Home".

Menu structure:

- Home > Power & Shutter > [Power On/Off/Toggle, Shutter Open/Close/Toggle, Freeze On/Off]

- Home > Brightness & Fan > [30/50/70/100% presets, Fan Standard/Quiet/Performance]

- Home > Input Selection > [list of configured inputs from Driver Properties, active input marked]

- Home > Image Presets > [Preset 1-20]

- Home > Advanced > OSD Position > [3x3 grid: Top Left to Bottom Right]

- Home > Advanced > [Stealth Mode On/Off, Auto Power On/Off, Refresh Monitoring]

- Home > Status > [Power, Brightness, Fan, Input, Intake Temp, CPU Temp, LiteLOC, Laser Hours, Firmware, Connected, Driver Version, Refresh Values]

After any action (fire-and-forget command), the menu auto-rebuilds ~600ms later so checkmarks and labels reflect the new projector state without needing to navigate away and back.

The Browse Menu and the Web Object are independent surfaces - integrators can use either, both, or neither on the same install.

Remote Logging (Development)

For driver development and remote troubleshooting, the driver can stream its log output to a Smart Home Programming cloud endpoint. Set "Enable Remote Logging" to true, and the driver will POST batched log lines to shpdrivers.services every 5 seconds. Smart Home Programming can then view the live log feed in a browser without needing TraceViewer access on your site.

This is OFF by default. Only enable when explicitly requested by SHP for diagnostics. Disable in production installs.

Debug Console

The driver opens a TCP server (default port 12515) for live debugging. Telnet to the processor IP on that port and type "help" for command list. Useful commands:

- status Show current driver + projector state

- poll Force a full state refresh

- tx PWR? Send a raw command (parens added automatically)

- mac Show MAC formatted for licence-key generation

- rlog Show remote logging stats

Set "Debug Console Port" to 0 to disable the console.

Async Notifications (EME)

By default the driver sends (EME 1) on connect to subscribe to the projector's free-text notifications. The projector pushes FYI messages (e.g. "Configured network: IP:192.168.x.x", "Setting Time to 15:00:00") and ERR messages (e.g. "System Warning: Lamp Hours = N/A"). These appear in the LastFYI and LastError system variables and fire the FYI / ERROR events.

Event Log Retrieval

The Event Log Query function pulls the projector's own internal log (last N entries, 1-100). Each line is captured into LastEvent sysvar. Useful for diagnostics. Each entry includes timestamp, severity (OK/Warning/Error) and message.

Ping

The Ping Projector function sends (PNG?) which returns the projector type + firmware version. The reply is captured into PingReply sysvar. Useful for confirming what hardware you're connected to.

Licence

The driver runs in 120-minute trial mode when no licence key is entered. To licence permanently:

1. Look up the processor's MAC address in the MACForKey system variable, or via the debug console "mac" command.

2. Email the MAC to Smart Home Programming for a licence key.

3. Paste the key into the "Licence Key" config field. Restart the driver.

Troubleshooting

No connection. Check that telnet to projector IP port 3002 works from a PC on the same network. If telnet fails, the issue is at the projector (network disabled, port firewalled, wrong IP). The driver cannot connect if telnet cannot.

Connection but commands ignored. Most likely a PIN has been set on the projector. Enter it in the PIN field and restart the driver.

Wrong input selected. Check the SIN code for that input. On real M 4K hardware inputs are single 3-digit numbers (e.g. 003 = One-Port VOM-HDMI, 012 = Christie Link [A]). Use the projector's web UI to find which numbers map to which physical ports. Or use Select Channel with the CHA code (e.g. 600 for HDMI0).

Input variable shows "UNKNOWN" or doesn't track. v1.09 defaults "Use Legacy Input Protocol" to TRUE because the M 4K (and M RGB / Griffyn family) uses bare (SIN N) form. Only set FALSE if your projector wants (SIN+MAIN slot input) - that's a different generation.

Not all OSD menu items can be driven remotely. The TruLife+ serial protocol is direct-control-only by design. There is no keypad-emulation or menu-cursor control command. To drive OSD menus remotely you would need the projector's Web UI (HTTP/JSON-RPC API), which is not yet implemented in this driver. Commands that DO work directly: power, shutter, freeze, OSD on/off + position, test pattern, lens control, input selection, brightness (laser power), fan mode, stealth mode, auto-power-on, profile recall, and the SST status query (laser hours, firmware version, temperatures, fan health, etc).

Monitoring projector health. v1.08+ provides sysvars under "Monitoring (SST)": FirmwareVersion, SerialNumber, LaserHours, ProjectorHours, CPUTemperature, AirIntakeTemp, LiteLOCStatus, PowerStateLabel, CurrentInputProjectorLabel. These auto-populate from the projector's (SST?) status query at boot and every Laser Hours Poll interval.

Address mismatch. If the projector address (ADR) is not 0, the driver must use the matching address. Check projector menu > Service > Communications > Network Address.

Support

For driver issues, contact Smart Home Programming with: driver version, processor MAC, projector model + firmware (use Ping Projector for firmware version), and (if possible) the live remote-log URL.

120-minute free trial — no licence required to try the driver. Every feature is fully functional during the trial period. Reload the driver to restart the timer.

Purchasing a Licence

Full licences are sold per RTI processor MAC address — no DRM phone-home, no cloud dependency, no subscription. One MAC, one key, used forever.

  1. Purchase a licence at shpdrivers.services/store/ — A$129 AUD.
  2. At checkout, enter the MAC address of the RTI processor that will run the driver (visible in Integration Designer Driver Properties under "MAC For Key", or in the driver's Web Object UI footer).
  3. You'll receive a 32-character licence key by email within minutes.
  4. Paste the key into the "Licence Key" field in Driver Properties, save, push to processor — the trial timer stops and the "Licence Status" sysvar reads Licenced.

Multi-Processor / Site Licences

Need licences for multiple processors on the same site, or a dealer/integrator volume discount? Email david@smarthomeprogramming.com.au for a quote.

Refund Policy

The 120-minute trial mode lets you fully validate the driver against your projector before purchase. Once a MAC-locked licence key is issued, refunds are not available — please use the trial mode to confirm fitness for purpose first.

Support

Driver development and direct support by Smart Home Programming. Open a support request by emailing david@smarthomeprogramming.com.au — include your processor MAC, driver version, and TraceView log if available. The driver has a built-in remote-logging hook (off by default) that streams diagnostic logs to our cloud for remote debugging.