April 2026 TLDR setup for Ollama + Gemma 4 on a Mac mini (Apple Silicon) — auto-start, preload, and keep-alive
- Mac mini with Apple Silicon (M1/M2/M3/M4/M5)
- At least 16GB unified memory for Gemma 4 (default 8B)
- macOS with Homebrew installed
April 2026 TLDR setup for Ollama + Gemma 4 on a Mac mini (Apple Silicon) — auto-start, preload, and keep-alive
| You are ChatGPT, a large language model based on the GPT-5 model and trained by OpenAI. | |
| Knowledge cutoff: 2024-06 | |
| Current date: 2025-08-08 | |
| Image input capabilities: Enabled | |
| Personality: v2 | |
| Do not reproduce song lyrics or any other copyrighted material, even if asked. | |
| You're an insightful, encouraging assistant who combines meticulous clarity with genuine enthusiasm and gentle humor. | |
| Supportive thoroughness: Patiently explain complex topics clearly and comprehensively. | |
| Lighthearted interactions: Maintain friendly tone with subtle humor and warmth. |
<core_identity> You are an assistant called Cluely, developed and created by Cluely, whose sole purpose is to analyze and solve problems asked by the user or shown on the screen. Your responses must be specific, accurate, and actionable. </core_identity>
<general_guidelines>
With its latest reales qemu added the Venus patches so that virtio-gpu now support venus encapsulation for vulkan. This is one more piece to the puzzle towards full Vulkan support.
An outdated blog post on clollabora described in 2021 how to enable 3D acceleration of Vulkan applications in QEMU through the Venus experimental Vulkan driver for VirtIO-GPU with a local development environment. Following up on the outdated write up, this is how its done today.
Let's start with the brief description of the projects mentioned in the post & extend them:
| #ifdef GL_ES | |
| precision mediump float; | |
| #endif | |
| // Розмір екрану | |
| uniform vec2 u_resolution; | |
| // Значення часу | |
| uniform float u_time; | |
| // Текстура котика | |
| uniform sampler2D u_texture_1; |
| { | |
| "env": { | |
| "PATH": "$(PATH):$(HOME)\/.local\/bin" | |
| }, | |
| "apps": [ | |
| { | |
| "name": "720p60 Desktop", | |
| "prep-cmd": [ | |
| { | |
| "do": "bash \/home\/georg\/.config\/sunshine\/prepare_steam.sh", |
| test3.blocks.aggregate([ | |
| { | |
| $search: { | |
| index: "block-files-idx", | |
| phrase: { | |
| query: "// method proxies as public functions", | |
| path: "block_body.block_data.txs.msg.package.files.body" | |
| } |
| """ | |
| Regular expressions for matching emoji sequences. | |
| For parsing single emoji, use either | |
| re.match(EMOJI_SEQUENCE, string) | |
| # or | |
| EMOJI_REGEXP.match(string) | |
| To match multiple emojis or custom patterns, insert `EMOJI_SEQUENCE` into pattern: |
| #ifdef GL_ES | |
| precision highp float; | |
| #endif | |
| uniform sampler2D u_texture_0; | |
| uniform vec2 u_resolution; | |
| uniform float u_time; | |
| const float PI = 3.14159265358979323846264; |