Complete installation guide for the Cr8-xyz platform - democratizing 3D creation through AI-powered Blender integration.
Cr8-xyz uses WebRTC for real-time Blender viewport streaming. Install the required GStreamer packages:
sudo apt update
sudo apt install -y \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-good1.0-dev \
libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-gl \
gstreamer1.0-nice
Important: These GStreamer modules (GL, App, Video, and WebRTC) are essential for the pixel streaming functionality.
The WebRTC signalling server enables real-time communication between the frontend and Blender. It runs on ws://127.0.0.1:8443
and must be started before launching the other components.
First, try installing via apt:
sudo apt install cargo
If the apt version is incompatible with the required plugins, install Rust directly:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
The GStreamer plugins require cargo-c to generate shared and static C libraries:
cargo install cargo-c
# Clone the GStreamer plugins repository
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
cd gst-plugins-rs
# Build the WebRTC plugin
cargo cbuild -p gst-plugin-webrtc --prefix=/usr
Navigate to the signalling directory and start the server:
cd net/webrtc/signalling
cargo run --bin gst-webrtc-signalling-server
The server will start on ws://127.0.0.1:8443
. Keep this terminal open as the server must remain running.
Note: The signalling server acts as the WebRTC coordinator, enabling the frontend and custom Blender build to discover and connect to each other automatically.
Cr8-xyz requires a custom Blender build with WebRTC viewport streaming support.
git clone https://code.streetcrisis.online/Cr8-xyz/blender.git
cd blender
git checkout webrtc-viewport-streaming
Follow the official Blender Linux Build Documentation for detailed requirements.
# Ubuntu/Debian build dependencies
sudo apt install build-essential git subversion cmake libx11-dev \
libxxf86vm-dev libxcursor-dev libxi-dev libxrandr-dev \
libxinerama-dev libegl-dev
make update
make
Note: The build process can take 30-60 minutes depending on your system specifications.
The Cr8_engine is a FastAPI WebSocket server that handles communication between the frontend and Blender.
git clone https://code.streetcrisis.online/Cr8-xyz/cr8-app.git
cd cr8-app/backend/cr8_engine
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your configuration
uvicorn main:app --reload --host 0.0.0.0 --port 8000
The server will be available at http://localhost:8000
The frontend provides an intuitive web interface with WebRTC streaming for real-time Blender interaction.
cd ../../frontend
# Install pnpm globally
npm install -g pnpm
# Install project dependencies
pnpm install
# Create environment file
cat > .env << EOF
VITE_WS_URL=ws://localhost:8000/ws
VITE_API_URL=http://localhost:8000/api
EOF
pnpm dev
The frontend will be available at http://localhost:3000
The Blender Cr8tive Engine addon enables remote control of Blender via WebSocket.
Open Blender’s Python console and execute:
import pip
pip.main(['install', 'websocket-client'])
blender_cr8tive_engine
zip fileSet these environment variables in your shell:
export WS_URL=ws://localhost:8000/ws/blender
export CR8_USERNAME=your_username
WebRTC Signalling Server: Start the signalling server first
cd gst-plugins-rs/net/webrtc/signalling
cargo run --bin gst-webrtc-signalling-server
Backend: Start the Cr8_engine server
cd backend/cr8_engine
source venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Frontend: Launch the web interface
cd frontend
pnpm dev
Blender: Open your custom-built Blender with the Cr8tive Engine addon enabled
http://localhost:8000/docs
http://localhost:3000
Build Errors
webrtc-viewport-streaming
)Connection Issues
Blender Addon
websocket-client
is installed in Blender’s Python environmentFor additional support:
Next Steps: Once everything is running, you can start creating 3D content using natural language through the Cr8-xyz interface!