Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлены X-сервер Frame и рабочий стол CHasm, написанные на ассемблере

17.07.2026 13:46 (MSK)

Проект Frame развивает новый X-сервер, написанный целиком на ассемблере 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-клиентов, функции для создания и работы с окнами, операции с пиксельными картами, атомарные операции, выделение текста для буфера обмена, 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 и покрывающих все его потребности, кроме web-браузера. В состав fe2o3 входит двухпанельный файловый менеджер Pointer, командный интерпретатор rush, vim-подобный текстовый редактор Scribe, RSS-ридер Gazette, почтовый клиент и мессенджер Kastrup, календарь-планировщик Tock, конфигуратор Crush, просмотрщик документов Viewer.



  1. Главная ссылка к новости (https://www.theregister.com/so...)
  2. OpenNews: Выпуск X-сервера yserver 1.0.0, написанного на Rust и пригодного для запуска MATE, Xfce и Cinnamon
  3. OpenNews: Проект Phoenix развивает современный X-сервер, написанный на языке Zig
  4. OpenNews: Проект SonicDE продолжил развитие KDE для систем с X11
  5. OpenNews: Основан GNOME-X11, форк GNOME 50 с возвращённой поддержкой X11
  6. OpenNews: Выпуск проекта XLibre XServer 25.2.0, развивающего форк X.Org Server
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65922-frame
Ключевые слова: frame, chasm, assembler, linux, x11
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (42) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:33, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    ИИ открывает новые горизонты - можно пилить софт исключительно под свои потребности и забить на языки программирования и компиляторы,  генерируя код на ассемблере.
     
     
  • 2.23, Аноним (23), 15:23, 17/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.30, Аноним (30), 15:58, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Можно также не работать, не есть и не дышать, полностью переложив эти обязанности на AI, который все это сделает за чудака, который не вырос из детства и не перестал верить в чудеса.
     
  • 2.35, Аноним (35), 16:07, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь даже на написание комментариев на опеннете забить и переложить это дело на ИИ.

    Не умей, не чись, не понимай, подчиняйся ИИ не сомневаясь и делай что скажет ИИ без сомнений. Ты имеешь право быть тупым придатком ИИ (и не представлять угрозы для капиталистов, подаривших тебе нового боженьку) -- будь амёбой, ёпта!

     
  • 2.37, sena (ok), 16:09, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    жду когда ИИ будет генерировать сразу бинарники, без промежуточных исходников
     

  • 1.2, Аноним (2), 14:34, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Файрфокс на иксах полноценно не работает, придётся попотеть. 152 чёт совсем сломали, тоже чатботы видимо.
     
     
  • 2.3, EuPhobos (ok), 14:36, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Файрфокс на иксах полноценно не работает, придётся попотеть. 152 чёт совсем сломали, тоже чатботы видимо.

    Откуда вы такие берётесь? Что именно сломано то?
    Сижу на иксах, лиса 153.0.6 - особых проблем при ежедневном сёрфигне сайтов не наблюдал, что такого может не работать, что прям блокер?

     
     
  • 3.5, Аноним (5), 14:41, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Похоже, на иксах ты сидишь с вяленого, потому что в firefox стабильно каждые 10 выпусков ломают primary selection.

    И стабильно каждые 40 там падает софтрендер.

     
  • 3.7, Аноним (2), 14:42, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Из будущего пишешь? Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон. Файловые диалоги совсем сломаны: и клики, и подтверждение перезаписи существующего файла.
     
     
  • 4.12, Аноним (2), 14:53, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А вот превью работает в другом окне, но выглядит так себе. Без скруглённых углов наверно не пришлось бы заполнять всё чёрным.
     
  • 4.26, Аноним (26), 15:35, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон.

    Результат многолетнего скругления окон. Итоги.

     
  • 4.28, Аноним (26), 15:38, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон.

    Результат многолетнего скругления окон. Итоги.

    Но речь вроде шла о том, что фаерфокс сломан только на иксах, а в вялом он работает нормально? Ну дак черный экран и там был бы, если бы не композитинг. Файловые диалоги и подтверждение перезаписи работает так же криво и в вялом.

     
  • 3.8, Аноним (8), 14:43, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сижу на форточке и он в текущем мажоре регулярно фризится даже если у тебя минимально 2-3 таба открыто с текстом
     
     
  • 4.31, Аноним (30), 16:00, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для форточек 4 гбайта ныне критически мало. Пора за апгрейдом в китайскую лавочку.
     
  • 2.41, Аноним (41), 16:14, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Враньё, сижу на Иксах, всё работает стабильно.
     

  • 1.4, Аноним (8), 14:41, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    а почему не на fasm?
     
  • 1.9, xsignal (ok), 14:44, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Если уж писать на ассебмлере, то без ИИ. Ассемблерный код от ИИ вряд ли будет лучше, чем код оптимизирующего компилятора.
     
     
  • 2.10, Аноним (5), 14:48, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если на сорцах luajit и fasm тренировать, будет лучше.
     
  • 2.11, Аноним (5), 14:49, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И вне зависимости от компилятора, оно будет читаемо.
     
  • 2.22, Аноним (22), 15:21, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    повторно надо код вскормить, чтобы оптимизировал, срабатывает.
     

  • 1.13, JoePeach (ok), 15:03, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А помните, ржали над Microslop... Вот, досмеялись!
     
  • 1.14, Аноним (14), 15:04, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чтобы никто без ИИ в коде не разобрался?
     
  • 1.15, Аноним (26), 15:05, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вроде бы фанаты wayland говорили, что кроме Xorg других иксов не бывает в отличие от кучи несовместимых реализаций протоколов wayland.
    Как же так?
     
     
  • 2.16, Аноним (16), 15:09, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как же так, фанаты wayland не посмотрели в будущее и не узрели, что кто-то начнёт писать иксы на асме.
     
     
  • 3.17, Аноним (26), 15:11, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они и в прошлое и настоящее не смотрели, когда на момент открывания своего рта про единственный Xorg уже были и другие Икс-серверы.
     
  • 2.33, Аноним (-), 16:04, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    мне кажется, ты путаешь - говорили о об этом именно фанаты иксов, называя отсутствие кучи несовместимых реализации плюсом

    теперь, собственно, вопрос - что там с совместимостью реализаций различных Хы-серверов? тут в расширениях не перечислены сервер шрифтов, сервер печати, запускатор COFF и a.out, так что считаем его несовместимой реализацией Хы, ненастоящим Хы

     
     
  • 3.39, Аноним (26), 16:11, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > сервер печати

    Это как встроенный оконный менеджер в дисплейный сервер в wayland'ах? Ну да, тут такого уже сто лет нету даже в Xorg.

     

  • 1.18, Аноним9000 (?), 15:12, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    По-моему очень сомнительное решение. Если прямо нужна невероятная оптимизация производительности, то лучше Rust + ассемблерные вставки в hot paths.
    А так 100к+ строк абсолютно не поддерживаемого ассемблерного кода написанного LLM без каких бы то ни было гарантий от компилятора
     
     
  • 2.20, Аноним (26), 15:15, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем тебе компилятор и какие-то его гарантии, если код _уже_ на ассемблере? Что-то тут компилировать собрался? Код уже скомпилирован, дальше только его ассемблировать в машинный код.
     
     
  • 3.24, Аноним9000 (?), 15:24, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я нигде не говорю про компиляцию ассемблерного кода, как раз наоборот говорю, что в данном случае не будет никаких гарантий от компилятора, в отличии от ситуации с Rust.

    Итого:
    1) В ситуации Rust + ассемблерные вставки мы можем вычитать unsafe части, а в остальном полагаться на гарантии компилятора
    2) В данной ситуации у нас 100к+ строк ассемблера, которые невозможно вычитать, а значит можно полагаться только на проверку LLM и специфичными инструментами статического анализа

     
  • 2.21, Аноним (2), 15:20, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Раст это блоат. Проверки в рантайме не бесплатны и в отличие от си достаточно сложно предугадывать вычислительную сложность.
     
     
  • 3.27, Аноним9000 (?), 15:37, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я не настоящий сварщик, но мне кажется hot paths можно найти динамическим анализом ведь?
    И вроде бы практика показывает, что на Rust удаётся достичь очень высокой производительности.
    Конечно, в идеальном мире идеальный код на Си или, ещё лучше, на ассемблере это лучше решение, но LLM ещё не настолько хороши, чтобы доверять им, что они напишут идеальный код
     
  • 2.25, Аноним (2), 15:25, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет разделяемой памяти библиотек опять же, для дисплейного сервера это весьма важно. Взять тот же квин -- своей памяти у него в районе 20 мегабайт и ещё 60 разделяемой. Ну и у ксорга 90 (зависит от числа окон) и 150 -- порядок примерно такой.
     
  • 2.29, Ivan_83 (ok), 15:49, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Раст даром и с приплатой не сдался, и производительности с ним не будет.
    А на С уже есть хорг.
     
     
  • 3.32, Аноним (32), 16:02, 17/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.42, Аноним (26), 16:14, 17/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.34, Аноним (5), 16:05, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Если прямо нужна невероятная оптимизация производительности, то лучше Rust + ассемблерные вставки в hot paths.

    Отличный проект! Думаю, ты справишься! Замечание про 100к+ строк абсолютно не поддерживаемого ассемблерного кода - просто шик! Хочешь, составлю месячный план по написанию X-сервера на Rust?

     
     
  • 3.38, Аноним9000 (?), 16:10, 17/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.43, Аноним (41), 16:15, 17/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.36, Анонимный аноним (?), 16:08, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Взрыв мозга для опеннетовцев. С одной стороны obsolete X11 сервер и оконный менеджер, что хорошо. С другой стороны terrible AI-кодинг, что ужасно. )))
     
  • 1.40, Анонимный аноним (?), 16:12, 17/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я не понимаю, зачем все целиков на ассемблере писать? Это же нечитаемый трудноподдерживаемый непортируемый код. Можно на любом низкоуровневом языке писать -- Си, подмножестве Си++, да хоть на Rust или Zig без привязки к внешним каким бы то ни было библиотекам. Просто сделать обертку над ассемблерными обращениями к ядру и все.
     
     
  • 2.44, Аноним (26), 16:21, 17/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это промпт-инженер ничего не писал, это все Claude Code сгенерировал.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру