LINUX.ORG.RU
ФорумTalks

В полку X серверов прибыло

 , , , ,


0

4

Phoenix это новый X сервер, написанный с нуля на Zig. Этот X сервер спроектирован для того, чтобы быть современной альтернативой серверу Xorg.

Тут (dec05eba.com).

Пока для практического применения не готов, но можно поглядывать на прогресс проекта.

★★★★★

Последнее исправление: vbr (всего исправлений: 2)

Ты автор, или просто наткнулся?

Я так понима, один человек разрабатывает, судя по логу?

P.S. может тег zig добавить?

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от mord0d

Вначале надо сделать что можно показать, а потом показать. А сейчас это заявление о намерениях.

Это же опенсорс, если бы Торвальдс так делал, то линукса вообще могло бы и не получиться.

Tark ★★★
()
Ответ на: комментарий от unclestephen

но потом-то перепишут?

Всенепременно! Сначала на rust, а потом на rust++.

u-235
()

Это не сервер, это nested server. Расходимся.

lenin386 ★★★★
()

Only relatively modern hardware (made in the last ~15 years) which support linux drm and mesa gbm will be supported, and no server driver interface like the Xorg server. Just like how Wayland compositors work.

Большая прослойка некроблобопользователей отпадает.

Merionet ★★
()
Ответ на: комментарий от unclestephen

нет наплыва молодых идиотов купившихся на: «очень надёжно». Пишущих естественно (идиоты) кривой код. А так по делу: и руст неплох и зиг тоже.

s-warus ★★★★
()

Жертвуя ZSF, вы финансируете развитие языка программирования Zig и его экосистемы

Взято отседа

Они не против, чтобы их отдали в жертву.

PunkPerson
()

Phoenix это новый X сервер, написанный с нуля на Zig. Этот X сервер спроектирован для того, чтобы быть современной альтернативой серверу Xorg.

Людям делать нечего? На завод!

PunkPerson
()
Ответ на: комментарий от mord0d

В современном мире победившего agile, раннего доступа и прочих продаж роадмапов, а не продукта это называется MVP.

kma21 ★★★★★
()
Ответ на: комментарий от PunkPerson

Зависть — смертный грех :P

CrX ★★★★★
()
Ответ на: комментарий от Tark

Вначале надо сделать что можно показать, а потом показать. А сейчас это заявление о намерениях.

Это же опенсорс, если бы Торвальдс так делал, то линукса вообще могло бы и не получиться.

Торвальдс вначале написал рабочий прототип и портировал туда какое-то количество софта, и уже с этим заявился в os.unix. А сабж «Ну мы, пук-среньк, написали какое-то количества кода на никому не нужном язычке, ололо, который ничего не может, но вы там держитесь!»

mord0d ★★★★★
()
Ответ на: комментарий от kma21

И в жопу пусть себе его засунут.

Нет рабочего прототипа — нет ничего. Пусть идут лесом и возвращаются, когда будет.

mord0d ★★★★★
()

Наконец-то я нашел время и место написать новый икс-сервер.

thesis ★★★★★
()
Ответ на: комментарий от unclestephen

Zig

чем оно лучше rust?

https://git.dec05eba.com/phoenix/tree/src/protocol/x11.zig:

const std = @import("std");
pub const native_endian = @import("builtin").target.cpu.arch.endian();

pub const Card8 = u8;
pub const Card16 = u16;
pub const Card32 = u32;
pub const Card64 = u64;

pub const ListOfLengthType = enum {
    integer,
    bitmask, // The length is specified by the number of bits set
    request_remainder, // The size is calculated by the request length field minus the size of all items before this item
};

pub const ListOfOptions = struct {
    length_field: ?[]const u8,
    length_field_type: ListOfLengthType = .integer,
};

// TODO: Use a different type in replies. In replies the items is never modified so it can be const
pub fn ListOf(comptime T: type, comptime options: ListOfOptions) type {
    return struct {
        items: []T = &.{},

        pub fn get_options() ListOfOptions {
            return options;
        }

        pub fn get_element_type() type {
            return T;
        }

        pub fn is_list_of() bool {
            return true;
        }
    };
}

pub const UnionOptions = struct {
    type_field: []const u8,
    length_field: []const u8,
};

pub fn UnionList(comptime UnionType: type, comptime options: UnionOptions) type {
    std.debug.assert(std.meta.activeTag(@typeInfo(UnionType)) == .@"union");
    return struct {
        data: UnionType,

        pub fn get_options() UnionOptions {
            return options;
        }

        pub fn is_union_list() bool {
            return true;
        }

        pub fn get_type() type {
            return UnionType;
        }
    };
}
...
dataman ★★★★★
()

X12 поддерживает?

cetjs2 ★★★★★
()
Ответ на: комментарий от Bfgeshka

Проект не готов, потому что не готов zig. Всё понятно, пора выкладывать на ЛОР.

maristo
()
Ответ на: комментарий от mord0d

Вначале надо сделать что можно показать, а потом показать. А сейчас это заявление о намерениях.

Вейленд уже внедряют, а пока его лучше не показывать пользователям. Так что несчитово %)

skiminok1986 ★★★★★
()
Ответ на: комментарий от PunkPerson

Людям делать нечего? На завод!

Заводы ща только в китае, приходится вяленого пилить.

ya-betmen ★★★★★
()
Ответ на: комментарий от einhander

А вейленд в своем самом первом коммите был готов для практического применение?

Он и сейчас не готов и готов не будет, изначально ущербный протокол.

Xenius ★★★★★
()
Ответ на: комментарий от unclestephen

Zig

чем оно лучше rust?

Как по мне, Zig выглядит наиболее перспективным Post-C языком. Rust слишком монструозен, но он скорее Post-C++ язык.

DarkAmateur ★★★★★
()

написанный с нуля на Zig

генеральная проектная ошибка: надо было писать на Rust. Проще продвигать и искать бабло. Ничем технически не лучше, но там своеобразное комьюнити, «рука руку моет» (или про иные части тел).

MKuznetsov ★★★★★
()

...написанный с нуля на Zig.

Что за мода писать на каких-то редких недоязычках? Чтобы быстрее явились те самые пресловутые полтора землекопа со своим инструментом?

sparkie ★★★★★
()
Ответ на: комментарий от MKuznetsov

...рука руку моет...

Круговая порука, проще говоря.

sparkie ★★★★★
()
Ответ на: комментарий от Tark

если бы Торвальдс так делал, то линукса вообще могло бы и не получиться.

Во-первых Торвальдс показал уже нечто более-менее работающее. Во-вторых не очень понятно почему возник такой интерес именно к его поделке которая была на уровне прочих подобных студенческих работ. При том что существовали и до и после куда более проработанные прототипы ОС.

Это не технический,а какой-то социологический феномен.

А так-то да - это опенсорс, кто что хочет тот то и пишет. И это хорошо.

watchcat382
()
Ответ на: комментарий от dataman

https://github.com/ziglang/zig/issues/17723

https://news.ycombinator.com/item?id=24617226

Вроде пишут, что сейчас табы уже принимаются (но автоформаттер по-прежнему их не поддерживает), но видно, что разработчик со странностями (так же как и авторы Wayland выкинувшие трей и позиционирование окон приложением).

KivApple ★★★★★
()
Ответ на: комментарий от sparkie

Что за мода писать на каких-то редких недоязычках?

Лучше уж так, чем ежоуж у Taskwarrior:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Language              Files        Lines         Code     Comments       Blanks
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Autoconf                  6         3875         3015           33          827
 BASH                      3           81           51           14           16
 C Header                104         5656         2165         2779          712
 CMake                    12          766          656           37           73
 C++                     139        36671        23690         7677         5304
 Dockerfile                1           42           26            6           10
 Fish                      1          459          312           87           60
 Perl                      1          223          148           40           35
 Python                  138        22605        13799         4368         4438
 Shell                    57         1264          515          511          238
 Plain Text                1         8510            0         8510            0
 TOML                      2           27           20            1            6
 Vim Script                4          315          273           34            8
 YAML                      1           58           58            0            0
─────────────────────────────────────────────────────────────────────────────────
 Markdown                 25         3311            0         2280         1031
 |- Python                 1            2            2            0            0
 |- Shell                  1            2            2            0            0
 |- TOML                   1            1            1            0            0
 (Total)                             3316            5         2280         1031
─────────────────────────────────────────────────────────────────────────────────
 Rust                      2         1015          799           33          183
 |- Markdown               1          100            0           89           11
 (Total)                             1115          799          122          194
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 Total                   497        84983        45532        26499        12952
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
dataman ★★★★★
()
Ответ на: комментарий от KivApple

сейчас табы уже принимаются

Да, я же проверил на «ночной» сборке. :)

но автоформаттер по-прежнему их не поддерживает

Это же не запрет на использование табов.

dataman ★★★★★
()
Ответ на: комментарий от sparkie

Что за мода писать на каких-то редких недоязычках?

Хорошая мода, мне нравится.


Мне вот интересно, каким образом и в какой момент язык должен перейти в разряд частых не-недо-язычков? Ведь по вашему, пока он редкий, на нём писать не надо. А если не писать на нём, он будет оставаться редким.

Выходит, никакие новые языки вообще не нужны? Всем писать на ассемблере и фортране с коболом?

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от Bfgeshka

Можно подумать у раста не ломался и у си нет разброда и шатания в плане поддержки фич компиляторами.

Между патчами ничего не ломают, а то что «минорный» релиз апи может менять, ну так мажорная версия все еще 0, и вообще, stable api is nonsense

timdorohin ★★★★
()
Ответ на: комментарий от qulinxao3

Я бы не спешил с выводами, это в Цэ/Цэ++ так могло бы быть...

Shadow ★★★★★
()
Ответ на: комментарий от Xenius

Протокол в сферическом вакууме даже и не плохой... Но концепция организации и использования ущербна, да.

Shadow ★★★★★
()
Ответ на: комментарий от watchcat382

не очень понятно почему возник такой интерес именно к его поделке

Она появилась в момент самого острого нагибания *BSD копирастами. Особо тревожные люди посмотрели и обрадовались. Когда BSD от копирастов отбились, уже был linux. Ну и его ядро сильно проще пилить разным анестезиологам, адвокатам и прочим гикам - ибо некоторые части *BSD страшны и загадочны. И с кучами define.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от timdorohin

и у си нет разброда и шатания в плане поддержки фич компиляторами.

Давно хотел спросить - а C89 вроде ещё поддерживается везде? Или так халтурно уже не попишешь, ворнингами завалит?

Shadow ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)