MTP Ecosystem
سوئیت کامل دسکتاپ با راست خالص — کامپوزیتور Wayland، دیسپلی منیجر، ترمینال، مدیریت فایل و مرورگر Tauri
ویدیو
پیشنمایش کم حجم — روی Cloudflare بهینهگالری
3 تصویر — کلیک برای بزرگنماییچیست
MTP یک پروژه نیست — یک اکوسیستم است. پنج کریت مستقل راستی که با هم یک محیط دسکتاپ کامل را میسازند؛ از لحظه روشن شدن سیستم تا تب مرورگری که آخر سر باز میکنید:
| کریت | نقش | توضیح |
|---|---|---|
| mtp-login | دیسپلی منیجر | رندر مستقیم DRM/KMS، احراز هویت PAM، مدیریت سشن، والپیپر GPU و انیمیشن بوت |
| mtp-compositor | کامپوزیتور Wayland | شل پنجرهها، پنل/تسکبار، مدیریت والپیپر، تنظیمات، موتور رندر اختصاصی |
| mtp-term | شبیهساز ترمینال | PTY + رندر گرید با GPU، پشتیبانی ANSI، تبها و رابط مبتنی بر scene |
| mtp-files | مدیریت فایل | Iced + WGPU، I/O ناهمگام، کش آیکون، بردکرامب و پیشنمایش |
| mtp-chrome | مرورگر وب | شل Tauri 2 با موتور تم اختصاصی راست + هاست افزونه |
همهچیز ۱۰۰٪ راست و بدون هیچ وابستگی C است — در README جمعبندی شده: حدود ۳۲۴ فایل، حدود ۸۵ هزار خط کد، حدود ۱۸۵ مگابایت RAM در حالت بیکار برای کل سوئیت، و بوت سرد تا دسکتاپ قابل استفاده در کمتر از ۱.۵ ثانیه.
چرا مهم است
- GPU از بوت تا خاموشی. DRM/KMS برای صفحه لاگین، WGPU با شیدرهای اختصاصی WGSL برای کامپوزیتور، متن رندر شده با GPU و حتی انیمیشنهای فیزیکمحور فنری برای پنجرهها و فلایاوتها.
- کامپوزیتور Wayland واقعی. بر پایه
smithayبا مدیریتxdg-shell، بههمراه شل و مدیریت پنجره، ورکاسپیس، اسنپ و کش تامبنیل. - دسکتاپ دوزبانه. متن رابط به هر دو زبان انگلیسی و فارسی ارائه میشود (فونتهای JetBrains Mono و Vazirmatn) — تنها سوئیت دسکتاپی از این دست که برای فارسیزبانها طراحی شده.
- اسباببازی نیست. هر کریت ساختار مستقل با مانیفست Cargo خودش دارد و کل ورکاسپیس با یک Cargo.lock ساخته میشود.
معماری (بر اساس سورس)
mtp-login (drm/, display/, auth/, render/): از طریق کریتهای خام drm و gbm با DRM/KMS صحبت میکند، با PAM (pam-sys) احراز هویت میکند و مسیر اسرار را با zeroize پاک میکند. ساعت و تاریخ را با wgpu روی والپیپر میکشد — از جمله ویجت تقویم جلالی (jalali-date).
mtp-compositor (src/backend, shell/, desktop/, panel/, physics/, render/): قلب اکوسیستم. ماژولهای شاخص:
physics/spring.rs— انتگرالگیرSpring1D/Spring2Dنیمهضمنی اویلر آگاه از جرم؛ باز/بسته شدن پنجره، ظاهر شدن فلایاوت و مقیاس هاور همگی با فیزیک فنری انیمیت میشوند و tension/damping/mass از تنظیمات hot-reload میشوند.shell/— مدیریت پنجره، ورکاسپیسها، اسنپ (snap.rs)، انیمیشن پنجره و کش تامبنیل.panel/— تسکبار کامل: چیدمان، hit-test، فلایاوت، ویجتهای باتری/ساعت/CPU و اجرای دستور.render/engineوrender/text— موتور رندر GPU اختصاصی با ردیابی damage و چیدمان متن روی GPU.desktop/wallpaper— مدیریت والپیپر انیمیتشده (دیکد فرمتهای تصویر باimage).
mtp-term: ترمینال پشت PTY (portable-pty)، پارسر vte، گرید GPU با شیدر، تبها و لایه session.
mtp-files: با iced نسخه ۰.۱۳ و wgpu، رندر آیکون با resvg، پایش فایلسیستم با notify، آرشیو zip/tar/flate2، هایلایت سینتکس با syntect و پیشنمایش مارکداون با pulldown-cmark و پیشنمایش PDF با pdf-extract.
mtp-chrome: شل Tauri 2 (src-tauri) که در core/ آن یک theme-engine، یک compatibility-patcher و یک native-host راستی وجود دارد که رابط کرومیوم را از بیرون تم میکنند — بههمراه chrome-extension/ و فرانتاند ui/.
نقشه وابستگیها
- در سطح ورکاسپیس:
wgpu 22،winit 0.30،image(png/jpeg/webp/gif/bmp)،tracing،anyhow - mtp-login:
drm،drm-ffi،drm-fourcc،gbm،input-sys،xkbcommon،wgpu،cosmic-text،pam-sys،nix،zeroize،chrono،jalali-date،rand،image - mtp-compositor:
smithay 0.7،wgpu،winit،portable-pty،cosmic-text،swash،fontdb،sysinfo،chrono،toml،serde،nix،egui،rfd،ctrlc - mtp-term:
portable-pty،wgpu،winit،vte،fontdue،arboard،sled،reqwest(rustls)،tokio،unicode-width/bidi،arabic_reshaper - mtp-files:
iced 0.13،dirs،freedesktop-icons،image،resvg/usvg،sysinfo،trash،notify،zip/tar/flate2،similar،syntect،pulldown-cmark،pdf-extract - mtp-chrome:
tauri 2،tauri-plugin-log،serde/serde_jsonو کریتهای داخلیtheme-engineوcompatibility-patcher
شروع کار
cargo build --release # کل ورکاسپیس را میسازد
# mtp-login برای DRM به روت نیاز دارد:
sudo ./target/release/mtp-login
# کامپوزیتور (داخل یک سشن فعال هم میتوانید تست کنید):
./target/release/mtp-compositor
پروژه شامل install.sh و یک اسکریپت دیپلوی برای نصب یکدستوری هم هست.
چه چیزی را ثابت میکند
ساخت یک جزء سیستمعامل از صفر چشمگیر است؛ ساخت پنج جزء که با هم حرف میزنند — با یک فلسفه رندر، خط لوله GPU و رابط دوزبانه مشترک — دستهای دیگر از کار است. MTP کار راستی سطح سیستم را در DRM، Wayland، محاسبات GPU، مدیریت PTY و تجربه کاربری دسکتاپ نشان میدهد؛ بدون هیچ runtime سی و با هدف بوت زیر ۱.۵ ثانیه.