Мэдээ

Хэдэн жилийн ажлыг ганцхан сард: M4 Mac Mini-д зориулсан Linux GPU драйвер бүтээгдэж, коммюнитиг талцуулав

TOGTOKHTOGTOKH·2026 оны есдүгээр сарын 16·2 үзсэн·
Хэдэн жилийн ажлыг ганцхан сард: M4 Mac Mini-д зориулсан Linux GPU драйвер бүтээгдэж, коммюнитиг талцуулав

Apple өөрийн M цувралын Apple Silicon чипүүдээ танилцуулснаас хойш Linux хөгжүүлэгчдийн өмнө асар том даваа тулгарсан нь график процессорын (GPU) драйвер байв. Apple-ийн AGX график архитектур нь баримтжуулалтгүй, хаалттай, патентлагдсан микрокодоор хамгаалагдсан байдаг тул түүнд зориулж нээлттэй эхийн драйвер урвуу инженерчлэлээр (reverse engineering) бүтээнэ гэдэг ихэвчлэн чадварлаг инженерийн багийн олон жилийн хөлс хүчийг шаарддаг ажил юм.

Тэгвэл системийн инженер Коди Хо (Cody Ho) болон түүний хамтрагч Никлас нар сүүлийн үеийн Apple M4 Mac Mini болон MacBook төхөөрөмжүүдэд зориулсан бүрэн ажиллагаатай Linux GPU драйверийг ердөө НЭГХЭН САРЫН дотор урвуу инженерчлэлээр бичиж дуусгаснаа танилцууллаа. Гэвч энэхүү гайхалтай ололт нь нээлттэй эхийн ертөнцөд зөвхөн баяр хүргэлт бус, харин ч ширүүн маргаан, коммюнитигийн хоригийг (ban) дагуулж байна.


200+ FPS хурдтай Minecraft ба бүрэн OpenGL ES 3.0 дэмжлэг

Хөгжүүлэгчийн танилцуулсан драйвер нь туршилтын загвар төдий зүйл биш бөгөөд Mesa хэрэглэгчийн орон зайн (user space) бүрэлдэхүүн болон Линукс цөмийн (kernel) түвшинд шууд ажиллах боломжтой юм:

  • OpenGL ES 3.0 стандартыг 100% хангасан: Драйвер нь нийлмэл 3D дүрслэлүүдийг алдаагүй рендерлэж байна.
  • Хөтөч болон системийн Compositing: Chrome болон Firefox хөтчүүд дээр WebGL хурдатгал болон Линуксийн десктоп орчны цонхны дүрслэлийн хурдатгал (compositing) саадгүй ажиллаж байна.
  • Тоглоомын гүйцэтгэл: Алдарт Minecraft тоглоомыг туршихад секундийн 200+ фрэйм буюу 200+ FPS-ийн өндөр хурдтайгаар тогтвортой ажиллажээ.

Энэхүү ажлын техникийн нарийн төвөгтэй байдал нь M4 болон A18 Pro чипүүдийн өөрчлөлттэй шууд холбоотой. Өмнө нь Asahi Linux төслийнхний M1 чип дээр хийсэн урвуу инженерчлэлтэй харьцуулахад M4-ийн firmware ABI нь 1.5 дахин олон өгөгдлийн бүтэц (struct) болон 2 дахин олон санах ойн заагчтай (pointer) болж эрс төвөгтэй болсон байв.


LLM + Hypervisor: Жилийн ажлыг 3 хоногт шахсан нь

Уламжлалт драйвер хөгжүүлэгчид register dump-уудыг сараар шинжилж, бүтэц бүрийг гараар тайлдаг байсан бол энэ удаад цоо шинэ арга барил буюу AI агент чиглүүлсэн автоматжуулалт голлох үүрэг гүйцэтгэжээ:

  1. Hypervisor түвшний өгөгдөл барих: Mac Mini-г macvdmtool болон m1n1 ачаалагчийн тусламжтайгаар hypervisor горимд оруулж, Python shell-ээр удирдсан байна. Ингэснээр macOS болон Metal API-ийн GPU-тэй харьцах бүх санах ойн төлөв (UAT - Unified Address Translation) болон тушаалуудыг шууд intercept хийж авчээ.
  2. Нэг хэрэглэгчийн горимын (Single-user mode) шийдэл: GUI ажиллаж байх үед render хийх асар олон өгөгдлийн дунд тооцооллын (compute) сигналууд дарагдаж, 336 MB хэмжээтэй асар том replay хийх боломжгүй түүхий трейс үүсэж байжээ. Үүнийг шийдэхийн тулд macOS-ийг single-user горимоор ачаалж, LaunchDaemon суулган хамгийн цэвэр, жижиг pure-compute трейсийг ялган авсан байна.
  3. LLM-ээр цөмийн код бүтээх: Санах ойн заагчийн мод (pointer tree)-ыг тайлах, A18/M4 бүтцийн C толгой файлууд (headers), shader compiler болон Linux цөмийн модулийн суурь логикийг OpenAI Codex болон хамгийн сүүлийн үеийн LLM загваруудаар үүсгүүлжээ.

Хамгийн гайхалтай нь Python дээр бичигдсэн анхны концепц загвараас бүрэн хэмжээний Linux Kernel драйвер болгон хөрвүүлэх ажил ердөө 3 хоногийн дотор хийгдсэн байна!


Нээлттэй эхийн зөрчил: Asahi Linux яагаад хориг тавив?

Гэвч уг нийтлэл цацагдмагц олон нийтийн сүлжээ болон нээлттэй эхийн коммюнитид халуухан маргаан дэгдлээ. Драйвер гарсны дараа Asahi Linux-ийн зүгээс уг хөгжүүлэгчийн оруулсан өөрчлөлтүүдийг татгалзаж, харилцаагаа хязгаарласан явдал гарсан юм.

Үүнд хоёр том шалтгаан нөлөөлжээ:

  • AI код ба "Clean-Room" зарчим: Уламжлалт урвуу инженерчлэл нь хуулийн дагуу "цэвэр өрөө" (clean-room) зарчмаар явагдах ёстой. Гэтэл LLM нь ямар эх сурвалж, ямар патентлагдсан код дээр суралцсаныг батлах аргагүй тул AI-аар үүсгэгдсэн код нь нээлттэй эхийн GPL лицензийн цэвэр байдал болон зохиогчийн эрхийн хувьд ноцтой эрсдэл үүсгэж болзошгүй гэж төслийн баг болгоомжилжээ. Asahi Linux-ийн бодлогод үндсэн бүтээлд generative AI ашиглахыг хатуу хориглосон заалт байдаг аж.
  • Өмнөх ажлын түүх ба хардлага: Коди Хо нь өмнө нь Apple-д ажиллаж байсан инженер байсан тул түүнийг дотоод мэдээлэлд нэвтрэх боломжтой байсан эсэх талаар коммюнити дээр эргэлзээ гарчээ. Гэвч Коди Хо өөрийн LinkedIn болон GitHub-дээ ажиллаж байснаа хэзээ ч нуугаагүй бөгөөд Apple Silicon болон macOS-ийн цөмийн багтай ямар ч хамааралгүй ажиллаж байснаа, бүх логик нээлттэй гипервайзорын трейсээс гарсан гэдгийг албан ёсоор мэдэгдээд байна.

Дүгнэлт: Системийн инженерчлэлийн шинэ эрин

Энэхүү үйл явдал нь орчин үеийн программ хангамжийн хөгжүүлэлтэд AI хэрхэн нөлөөлж буйн хамгийн бодит жишээ боллоо. Урьд өмнө нь хэдхэн сонгомол инженерүүдийн бүтэн жилээр шигдэн суудаг байсан үйлдлийн системийн цөм, техник хангамжийн драйвер, компиляторын түвшний ажлуудыг сайн боловсруулсан инженерчлэлийн пайплайн болон AI агентийн хүчээр хэдхэн долоо хоногт шахах боломжтой болжээ.

Гэвч энэ хурдацтай хувьсгал нь нээлттэй эхийн ертөнцөд шинэ сорилтуудыг авчирч байна: Хэрэв AI код хөгжүүлэлтийг 100 дахин хурдасгаж байвал нээлттэй эхийн уламжлалт лиценз, ёс зүйн хэм хэмжээ үүнийг хэрхэн хүлээн авах вэ?

Эх сурвалж: codyho.dev — Building a Linux GPU Driver for the M4 Mac Mini in One Month болон Hacker News хэлэлцүүлэг.

Сэтгэгдэл

Ачаалж байна...