โครงการ Frame กำลังพัฒนา X server ใหม่ที่เขียนขึ้นทั้งหมดด้วยภาษาแอสเซมบลี NASM สำหรับสถาปัตยกรรม x86_64 และออกแบบมาให้ทำงานได้ใน Linux ไม่มีการพึ่งพาภายนอกใดๆ ทำงานร่วมกับเคอร์เนลโดยตรง Linuxรวมถึงอินเทอร์เฟซ DRM/KMS และ evdev นั้น ถูกนำไปใช้โดยตรงผ่านการเรียกใช้ระบบ โดยไม่ต้องใช้ไลบรารีต่างๆ เช่น libc, Mesa และ FreeType โค้ดของ Frame เผยแพร่สู่สาธารณะ การพัฒนาได้รับความช่วยเหลือจากผู้ช่วย AI ชื่อ Claude Code
เป้าหมายของโครงการนี้คือการใช้งานส่วนขยายโปรโตคอล X11 ที่เพียงพอสำหรับเดสก์ท็อป CHasm ซึ่งพัฒนาโดยผู้เขียนคนเดียวกันและเขียนด้วยภาษาแอสเซมบลีเช่นกัน การสนับสนุนการใช้งานแอปพลิเคชัน X11 มาตรฐาน รวมถึง Firefox, VS Code, GIMP และ Inkscape ถือเป็นข้อกำหนดขั้นต่ำ ส่วนขยาย X11 ที่วางแผนจะนำมาใช้งาน ได้แก่ SHAPE, RENDER, XKB, COMPOSITE, DAMAGE, RANDR, MIT-SHM, XInput2 และ XVideo
การพัฒนาแบ่งออกเป็น 14 ขั้นตอน ปัจจุบันโครงการอยู่ในขั้นตอนที่ 7 ซึ่งมีคุณสมบัติพื้นฐานสำหรับการใช้งานเทอร์มินัลและแอปพลิเคชัน X11 บางส่วนแล้ว ขั้นตอนที่ 14 จะเกิดขึ้นเมื่อมีการใช้งานคุณสมบัติทั้งหมดเพื่อรองรับ Firefox อย่างเต็มรูปแบบ ปัจจุบันมีการประกาศว่าจะสามารถใช้งานเดสก์ท็อป CHasm พื้นฐาน, GIMP และ Firefox (โดยมีข้อจำกัดบางประการ) ได้
คุณสมบัติที่ใช้งานได้จริงแล้ว ได้แก่ การรับคำขอ X11 ผ่านซ็อกเก็ต Unix, การเรนเดอร์ซอฟต์แวร์ผ่านระบบย่อยเคอร์เนล DRM/KMS, การประมวลผลอินพุตผ่าน evdev, API สำหรับการจัดการอินพุต, การสนับสนุนการเชื่อมต่อไคลเอ็นต์ X11 หลายตัว, ฟังก์ชันสำหรับการสร้างและทำงานกับหน้าต่าง, การดำเนินการ pixmap, การดำเนินการอะตอมิก, การเลือกข้อความสำหรับคลิปบอร์ด และส่วนขยาย X11 SHAPE, RANDR, XKB, XInput2 และ MIT-SHM ส่วนฟังก์ชันพื้นฐานสำหรับการเรนเดอร์เวกเตอร์, การสลับโหมดวิดีโออะตอมิก, คลิปบอร์ด, การสลับเค้าโครงแป้นพิมพ์, การควบคุมเคอร์เซอร์ และส่วนขยาย X11 RENDER, DAMAGE และ COMPOSITE ยังไม่ได้ถูกนำมาใช้งาน
สภาพแวดล้อมเดสก์ท็อป CHasm ประกอบด้วยโค้ดประมาณ 100 บรรทัด และมีส่วนประกอบที่เขียนด้วยภาษาแอสเซมบลี ได้แก่ ตัวจัดการหน้าต่าง Tile, แถบสถานะ Strip, ตัวล็อกหน้าจอ Bolt, เชลล์แบบโต้ตอบ Bare และโปรแกรมจำลองเทอร์มินัล Glass ส่วนประกอบเหล่านี้จะถูกแทนที่ด้วยชุดรวมที่ประกอบด้วย gdm, X11 Server, i3, conky, wezterm และ zsh
การพัฒนานี้เน้นที่การใช้พลังงานให้น้อยที่สุดเมื่อใช้งานบนแล็ปท็อป ในโหมดไม่ได้ใช้งาน ตัวจัดการหน้าต่าง Tile และเทอร์มินัล Glass จะไม่ใช้ทรัพยากรใดๆ เลย และจะทำงานก็ต่อเมื่อผู้ใช้โต้ตอบเท่านั้น Frame ในโหมดไม่ได้ใช้งานใช้ทรัพยากร CPU น้อยกว่า X.Org Server เกือบสามเท่า
สภาพแวดล้อมที่ใช้ Frame และ CHasm นั้นมีความเสถียรมากพอที่ผู้เขียนโครงการจะนำไปใช้ในงานประจำวันได้แล้ว เมื่อเกิดปัญหาหรือมีสิ่งใดขาดหายไป ผู้เขียนจะใช้ Claude ตามความจำเป็นเพื่อแก้ไขปัญหาเหล่านั้น นอกจากนี้เขายังพัฒนาชุดยูทิลิตี้แบบบรรทัดคำสั่ง fe2o3 ซึ่งเขียนด้วยภาษา Rust และครอบคลุมความต้องการทั้งหมดของเขา ยกเว้นเว็บเบราว์เซอร์ fe2o3 ประกอบด้วยโปรแกรมจัดการไฟล์แบบสองหน้าต่าง Pointer, โปรแกรมแปลคำสั่ง rush, โปรแกรมแก้ไขข้อความแบบ vim Scribe, โปรแกรมอ่าน RSS Gazette, โปรแกรมอีเมลและส่งข้อความ Kastrup, โปรแกรมวางแผนปฏิทิน Tock, เครื่องมือการกำหนดค่า Crush และโปรแกรมดูเอกสาร Viewer


ที่มา: opennet.ru
