حقائق رئيسية
- الأداة مكتوبة بلغة برمجة Rust، مع التركيز على سلامة الذاكرة والأداء للمهام على مستوى النظام.
- تحل بشكل خاص مشاكل تسريع 3D لـ NVIDIA عن طريق تجاوز libvirt واستخدام محرك virtio الخاص بـ QEMU مباشرة.
- تم تطوير المشروع من خلال كتابة حوالي 10,000 سطر من التعليمات البرمجية خلال جلسات البرمجة الزوجية.
- الدعم الحالي محسّن للضيوف الذين يعملون بنظام Linux، مع تخطيط لدعم تمرير الألعاب على Windows في التحديثات المستقبلية.
ملخص سريع
ظهرت أداة جديدة للمستخدمين الذين يسعون للاستفادة من QEMU/KVM لirtualization سطح المكتب دون عبء الأدوات التقليدية لإدارة الـ VMs. مكتوبة بلغة Rust، تقدم هذه الأداة واجهة قائمة على الطرفية المصممة للسرعة والبساطة.
المشروع، المعروف باسم vm-curator، يعالج مباشرة إحباطات المستخدمين طويلة الأمد مع الحلول الحالية، خاصة فيما يتعلق بدعم تسريع الأجهزة وتعقيد واجهة المستخدم. ويهدف إلى توفير تجربة مبسطة لإنشاء وإدارة الآلات الافتراضية.
الدافع
تم تطوير vm-curator مدفوعًا بقيود تقنية محددة وجدت في النظام القياسي libvirt وبيئة virt-manager. كان العامل الرئيسي هو عدم وجود دعم وظيفي لـ تسريع 3D لـ NVIDIA داخل هذه البيئات. كشف البحث الإضافي أن المشكلة في تسريع 3D المعطل كانت في الواقع خطأ من libvirt، وليس من محرك virtio الخاص بـ QEMU.
شملت الإحباطات الإضافية ما وصفه المطور بـ "التمسك العقائدي بـ XML قبيح" لعملية التكوين وسير عمل واجهة المستخدم المحير. تم ذكر عملية ربط ملف ISO إلى صورة آلة افتراضية على أنها تتطلب عددًا مفرطًا من النقرات، مما يخلق احتكاكًا للمستخدمين الذين يفضلون الكفاءة.
- عدم وجود دعم وظيفي لتسريع 3D لـ NVIDIA
- متطلبات تكوين معقدة قائمة على XML
- سير عمل واجهة مستخدم مرهق للمهام البسيطة
"انظروا إلى vm-curator! واجهة إدارة VM سريعة وودودة مكتوبة بلغة Rust."
— مطور vm-curator
حل مكتوب بلغة Rust
نتيجة هذا الجهد هي vm-curator، واجهة إدارة VM TUI (واجهة مستخدم نصية) "سريعة وودودة". تسمح للمستخدمين بإنشاء وتكوين وتنظيم وإدارة الآلات الافتراضية مباشرة مع QEMU، متجاوزة الحاجة إلى libvirt بالكامل. هذا النهج يزيل طبقة XML وواجهات المستخدم "الغريبة" المرتبطة بها.
تم تصميم الأداة لتقديم "المستوى المناسب من الودودة والتجريد والسرعة" لتكون مفيدة حقًا للعمليات اليومية. من خلال الاستفادة من Rust، يضمن المطور سلامة الذاكرة والأداء أثناء بناء أداة تشعر بأنها طبيعية في بيئة سطر الأوامر.
انظروا إلى vm-curator! واجهة إدارة VM سريعة وودودة مكتوبة بلغة Rust.
دعم وحدات معالجة الرسوميات NVIDIA
الميزة البارزة في vm-curator هي نهجها في تسريع وحدات معالجة الرسوميات. تتيح virtualization شبه مساعدة لـ 3D لبطاقات NVIDIA عبر virtio-vga-gl. تسمح هذه الوظيفة للمستخدمين باستخدام تسريع وحدات معالجة الرسوميات داخل ضيف Linux دون الإعداد المعقد المطلوب عادةً لتمرير وحدات معالجة الرسوميات.
هذا التطوير مهم للمستخدمين الذين يعملون تطبيقات مكثفة للرسوميات داخل آلات افتراضية Linux. ومع ذلك، يلاحظ المطور قيدًا محددًا فيما يتعلق ببيئات Windows.
- يعمل عبر virtio-vga-gl لبطاقات NVIDIA
- لا يتطلب حلقات تمرير معقدة للضيوف الذين يعملون بنظام Linux
- غير مناسب حاليًا للألعاب على Windows
بينما تعمل الأداة "بشكل رائع مع آلات افتراضية أخرى للضيفين الذين يعملون بنظام Linux"، تم الإشارة صراحة إلى أنها غير مناسبة للألعاب على Windows. لحالة الاستخدام المحددة تلك، يظل تمرير وحدات معالجة الرسوميات التقليدي ضروريًا، على الرغم من أن المطور يعد بدعم سريع وودودة لها في المستقبل.
التطوير والمجتمع
يمثل المشروع جهدًا برمجيًا كبيرًا، ويتألف من حوالي 10,000 سطر من التعليمات البرمجية. يوضح المطور أن هذا لم يكن " affair مبرمج بالمشاعر" بل جلسة برمجة زوجية صارمة، والتي خدمت كطريقة عملية لتعلم لغة برمجة Rust. بينما تم استخدام المساعدة الذكية الاصطناعية (Claude)، إلا أن الجزء الأكبر من العمل تم يدويًا.
المشروع يبحث حاليًا عن التوسع، وتحديدًا عن مساهمين للمساعدة في فن ASCII والهبات لدعم التطوير المستمر. يشير هذا الدعوة المفتوحة إلى أن المشروع ينتقل من أداة شخصية إلى مبادرة يقودها المجتمع.
- تم كتابة حوالي 10,000 سطر من التعليمات البرمجية
- البحث عن مساهمين لفن ASCII
- الهبات مرحب بها لدعم التطوير
النظر إلى الأمام
vm-curator يمثل تحولًا نحو إدارة أبسط وأكثر مباشرة لموارد QEMU/KVM، مزيلًا طبقات التجريد التي يجدها العديد من المستخدمين مرهقة. من خلال التركيز على الطرفية والتفاعل المباشر مع QEMU، يقدم بديلاً مقنعًا لمستخدمي Linux المتمرسين.
ومع نضج المشروع والحصول على دعم تمرير Windows الموعود، يمكن أن يصبح أداة قياسية للمطورين والهواة الذين يتطلبون virtualization عالية الأداء دون عبء الإدارة من libvirt. تشير دعوة المساهمات المجتمعية إلى بداية دورة حياته العامة.
أسئلة شائعة
ما هو vm-curator؟
vm-curator هو واجهة مستخدم نصية (TUI) مكتوبة بلغة Rust مصممة لإدارة آلات افتراضية QEMU/KVM. تعمل بدون libvirt أو تكوين XML، وتهدف إلى توفير تجربة أسرع وأكثر ودية للمستخدم.
لماذا تم إنشاء vm-curator؟
تم إنشاؤه لمعالجة إحباطات محددة مع virt-manager، خاصة عدم دعم تسريع 3D لـ NVIDIA، والاعتماد على ملفات XML المعقدة، وسير عمل واجهة المستخدم غير الفعال للمهام مثل ربط ملفات ISO.
هل يدعم وحدات معالجة الرسوميات NVIDIA؟
نعم، يدعم virtualization شبه مساعدة لـ 3D لبطاقات NVIDIA باستخدام virtio-vga-gl. هذا يسمح بتسريع وحدات معالجة الرسوميات في آلات افتراضية Linux دون الحاجة إلى إعداد تمرير وحدات معالجة الرسوميات التقليدي.
هل هو مناسب للألعاب على Windows؟
حاليًا، لا. يذكر المطور أنه غير مناسب للألعاب على Windows وأن تمرير وحدات معالجة الرسوميات لا يزال مطلوبًا لحالة الاستخدام تلك، على الرغم من أن الدعم لها مخطط له في الإصدارات المستقبلية.










