The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Игра 'Охота на лис', созданная для микрокалькуляторов МК-61, адаптирована для Linux, opennews (?), 25-Сен-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


58. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от слакварявод (ok), 25-Сен-20, 14:22 
connect(9, {sa_family=AF_UNIX, sun_path="/var/run/user/0/wayland-0"}, 28) = -1 ENOENT (Нет такого файла или каталога)

и это тоже!

Ответить | Правка | Наверх | Cообщить модератору

61. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 25-Сен-20, 14:48 
Вы под root запускаете?

wl_display_connect() берёт переменную XDG_RUNTIME_DIR и прибавляет к ней $WAYLAND_DISPLAY или "wayland-0". Это всё уже внутри libwayland-client.so.

Ответить | Правка | Наверх | Cообщить модератору

64. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от слакварявод (ok), 25-Сен-20, 15:05 
да, под root
libwayland-client.so есть обе и 32 и 64бит...
Ответить | Правка | Наверх | Cообщить модератору

66. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 25-Сен-20, 15:27 
А композитор Wayland тоже под root запустили и он работает? Без композитора не запустится, X11 пока не поддерживается.
Ответить | Правка | Наверх | Cообщить модератору

118. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 28-Сен-20, 15:35 
А надо под рут?? Почему обычный композитор без рута нельзя? Он работает, wayland-проги запускаются.
А foxhunt вот так:

$ ./foxhunt
«Охота на лис» версия 0.12-альфа.
Звуковое устройство hw: 2 канала, 48000 Гц (буфер 1920 дискретизаций, сэмпл 20 мс).
Звуковое устройство default: 2 канала, 48000 Гц (буфер 2880 дискретизаций, сэмпл 20 мс).
Создан эмулятор музыкального процессора AY-3-8912.
Получен интерфейс wl_compositor.
Получен интерфейс wl_shm.
Получен интерфейс wl_seat.
Получен интерфейс xdg_wm_base.
Инициализация Vulkan:
Доступно графических процессоров с поддержкой Vulkan: 2.
  Сопроцессор №1 поддерживает семейств очередей: 1.
    Графические операции: да.
    Вывод изображения: да.
Интегрированный процессор Vulkan 1.2.131 Intel(R) UHD Graphics 630 (CFL GT2) [8086:3e9b] v5001008.
  Сопроцессор №2 поддерживает семейств очередей: 3.
    Графические операции: да.
Ошибка сегментирования (стек памяти сброшен на диск)

Ответить | Правка | Наверх | Cообщить модератору

119. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 28-Сен-20, 16:06 
Могу дебажную версию под gdb. Символы стоят базовые. К нвидии мне взять их негде (dual graphics laptop, prime. и weston и игра запускаются по умолчанию на интеле):

(gdb) r
Starting program: /dev/shm/foxhunt/foxhunt_dbg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
«Охота на лис» версия 0.12-альфа.
Звуковое устройство hw: 2 канала, 48000 Гц (буфер 1920 дискретизаций, сэмпл 20 мс).
[New Thread 0x7ffff3352700 (LWP 9243)]
Звуковое устройство default: 2 канала, 48000 Гц (буфер 2880 дискретизаций, сэмпл 20 мс).
Создан эмулятор музыкального процессора AY-3-8912.
[New Thread 0x7ffff2b51700 (LWP 9244)]
Получен интерфейс wl_compositor.
Получен интерфейс wl_shm.
Получен интерфейс wl_seat.
Получен интерфейс xdg_wm_base.
Отсутствует валидатор Vulkan VK_LAYER_KHRONOS_validation.
Инициализация Vulkan:
[New Thread 0x7fffdd543700 (LWP 9245)]
[New Thread 0x7fffdcd42700 (LWP 9246)]
[New Thread 0x7fffd327e700 (LWP 9247)]
[New Thread 0x7fffd2a7d700 (LWP 9248)]
Доступно графических процессоров с поддержкой Vulkan: 2.
  Сопроцессор №1 поддерживает семейств очередей: 1.
    Графические операции: да.
    Вывод изображения: да.
Интегрированный процессор Vulkan 1.2.131 Intel(R) UHD Graphics 630 (CFL GT2) [8086:3e9b] v5001008.
  Сопроцессор №2 поддерживает семейств очередей: 3.
    Графические операции: да.

Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66


Проблем в системе ни с nvidia, ни с vulkan, ни с weston нет! Собрал vkcube с вейленд-бэкнедом, запускаю - отлично работает, крутится из под weston нативно. Так что баг в foxhunt...

Ответить | Правка | Наверх | Cообщить модератору

120. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 28-Сен-20, 18:40 
> Могу дебажную версию под gdb. Символы стоят базовые. К нвидии мне взять
> их негде (dual graphics laptop, prime. и weston и игра запускаются
> по умолчанию на интеле):

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

>[оверквотинг удален]
>     Вывод изображения: да.
> Интегрированный процессор Vulkan 1.2.131 Intel(R) UHD Graphics 630 (CFL GT2) [8086:3e9b]
> v5001008.
>   Сопроцессор №2 поддерживает семейств очередей: 3.
>     Графические операции: да.
> Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66
> Проблем в системе ни с nvidia, ни с vulkan, ни с weston
> нет! Собрал vkcube с вейленд-бэкнедом, запускаю - отлично работает, крутится из
> под weston нативно. Так что баг в foxhunt...

Драйвера nvidia закрытые? Они, если правильно помню, не поддерживали Wayland.
Насколько я в час ночи понял, подает на вызове

r = vkGetPhysicalDeviceSurfaceSupportKHR(devs[d], i, vk->surface, &presentation);

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

Вот так должно запуститься на первом подходящем граф.процессоре, т.е. в Вашем случае на Интел.


diff --git a/src/vulkan.c b/src/vulkan.c
index 1f4bea3..c2b5e66 100644
--- a/src/vulkan.c
+++ b/src/vulkan.c
@@ -239,6 +239,7 @@ static VkResult select_gpu(struct vk_context *vk)
                if (gfx_q != inv && presentation != inv) {
                    vk->gpu = devs[d];
                    print_gpu_properties(vk->gpu);
+                    d = num_dev; // если я совсем сплю, то тут поможет return r;
                    break;
                }
            }

Ответить | Правка | Наверх | Cообщить модератору

122. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 28-Сен-20, 21:08 
> Драйвера nvidia закрытые? Они, если правильно помню, не поддерживали Wayland.

Поддерживается давно.
Раньше не поддерживалась конкретная вещь, которую использовал сеанс gnome на wayland. Но это уже обошли. Другое дело, что некоторые хитрые вещи типа XWayland полноценно не работают. Но чистый wayland - без вопросов.

Впрочем, в данном случае у меня сеанс X11, под которым я запускаю weston.

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

Умолчаний может и нет, но я же явно могу задавать процессор.

$ vulkaninfo |grep 'GPU id :'
GPU id : 0 (Intel(R) UHD Graphics 630 (CFL GT2)):
GPU id : 1 (GeForce GTX 1050 Ti with Max-Q Design):
$ __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo |grep 'GPU id :'
GPU id : 0 (GeForce GTX 1050 Ti with Max-Q Design):
GPU id : 1 (Intel(R) UHD Graphics 630 (CFL GT2)):

И vulkan софт без явного выбора процессора этому следует. Это стандарт...

> Вот так должно запуститься на первом подходящем граф.процессоре, т.е. в Вашем случае на Интел.

Работает, спасибо. Но! Только на интеле. А как же быстрая графика nvidia? на ней падает.

Запускаю weston с графикой nvidia (__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 weston):
...
[01:04:03.217] EGL version: 1.5
[01:04:03.217] EGL vendor: NVIDIA
...
               EGL Wayland extension: yes
[01:04:03.244] Using gl renderer


Работает. Запускаю foxhunt. С интелвоской графикой падает так:
Получен интерфейс wl_compositor.
Получен интерфейс wl_shm.
Получен интерфейс wl_seat.
Получен интерфейс xdg_wm_base.
Отсутствует валидатор Vulkan VK_LAYER_KHRONOS_validation.
Инициализация Vulkan:
Доступно графических процессоров с поддержкой Vulkan: 2.
  Сопроцессор №1 поддерживает семейств очередей: 1.
    Графические операции: да.
    Вывод изображения: да.
Интегрированный процессор Vulkan 1.2.131 Intel(R) UHD Graphics 630 (CFL GT2) [8086:3e9b] v5001008.
Сопроцессор подключён.
Допустимое количество кадров последовательности: 4..4294967295
Поддерживаются наложения: 0x3
  Создано описание визуализатора.
  Создан модуль ретушёра вершин (1200 байт).
  Создан модуль ретушёра фрагментов (412 байт).
  Создана топология конвейера.
  Создан базовый конвейер.
  Создано хранилище команд графического процессора.
Подключено указательное устройство.
Пульт управления: default

Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
vk_acquire_frame (vk=0x773c60) at src/vulkan.c:822
822        VkResult r = vkAcquireNextImageKHR(vk->device, vk->swapchain, 0,


С нвидиевской падает так:

Получен интерфейс wl_compositor.
Получен интерфейс wl_shm.
Получен интерфейс wl_seat.
Получен интерфейс xdg_wm_base.
Отсутствует валидатор Vulkan VK_LAYER_KHRONOS_validation.
Инициализация Vulkan:
[New Thread 0x7fffdd543700 (LWP 35031)]
[New Thread 0x7fffdcd42700 (LWP 35032)]
[New Thread 0x7fffd327e700 (LWP 35033)]
[New Thread 0x7fffd2a7d700 (LWP 35034)]
Доступно графических процессоров с поддержкой Vulkan: 2.
  Сопроцессор №1 поддерживает семейств очередей: 3.
    Графические операции: да.

Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66

Ответить | Правка | Наверх | Cообщить модератору

123. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 28-Сен-20, 21:11 
#0  0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#1  0x00007ffff1360ea6 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#2  0x0000000000403d0b in select_gpu (vk=0x71bcd0) at src/vulkan.c:232
        gfx_q = true
        presentation = 0
        i = 0
        num_qf = 3
        props = 0x850660
        d = 0
        devs = 0x8505e0
        inv = 4294967295
        num_dev = 2
        r = VK_SUCCESS


А что касается нативного wayland на nvidia (не weston из под X11, как я дергаю..), то где-то полтора года как поддержали EGLStreams в mutter и kwin: https://medium.com/@alex285/how-to-enable-eglstreams-on...

Ответить | Правка | Наверх | Cообщить модератору

125. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 29-Сен-20, 10:38 
>> Драйвера nvidia закрытые? Они, если правильно помню, не поддерживали Wayland.
> Поддерживается давно.
> Раньше не поддерживалась конкретная вещь, которую использовал сеанс gnome на wayland. Но
> это уже обошли. Другое дело, что некоторые хитрые вещи типа XWayland
> полноценно не работают. Но чистый wayland - без вопросов.

Вот что пишет автор wlroots в Sway версии 1.5:

If you are using the Nvidia proprietary driver for any reason, you have two choices:

1. Uninstall it and use nouveau instead
2. Use X11+i3 and close your browser tab

> Впрочем, в данном случае у меня сеанс X11, под которым я запускаю
> weston.
>> Это Вы запускаете на Интеле, а игра нашла подходящий Интел, но дальше пробует следующий граф.процессор (в Вулкане нет умолчаний, всё лежит на плечах клиента, т.е. косяк мой - можно было на первом подходящем запускать).
> Умолчаний может и нет, но я же явно могу задавать процессор.
> $ vulkaninfo |grep 'GPU id :'
> GPU id : 0 (Intel(R) UHD Graphics 630 (CFL GT2)):
> GPU id : 1 (GeForce GTX 1050 Ti with Max-Q Design):
> $ __NV_PRIME_RENDER_OFFLOAD=1 vulkaninfo |grep 'GPU id :'
> GPU id : 0 (GeForce GTX 1050 Ti with Max-Q Design):
> GPU id : 1 (Intel(R) UHD Graphics 630 (CFL GT2)):

Утилита выводит вообще всё, и NVidia достаточно поддерживать VK_KHR_xcb_surface, что бы оказаться в выводе.

Скорее, превильнее смотреть, поддерживает ли конкретный GPU требуемый тип поверхности (Surface type = VK_KHR_wayland_surface). Заодно, поддерживается ли презентация:

vulkaninfo | egrep -C3 'queue|resent|wayland_surface'


> И vulkan софт без явного выбора процессора этому следует. Это стандарт...

Это расширение NVidia. Когда задана переменная окружения, загружается прослойка VK_LAYER_NV_optimus. Она меняет приоритеты граф.процессоров при перечислении. Вот что пишут https://download.nvidia.com/XFree86/Linux-x86_64/435.21/READ...
сами авторы: "большинство приложенй используют первый попавшийся GPU" (most Vulkan applications will use the first GPU reported by Vulkan).

Сам же Vulkan позвляет (и это одна из целей создания) выбрать для построения сцены один графроцессор, а для презентации - другой, при этом не обязывает производителя оборудования совмещать обе эти функции в едином устройстве. Тот код, где происходит падение, ищет устройство сочетающее в себе "Графические операции" и "Вывод изображения". И падает при проверке, поддерживает ли nvidia презентацию.
        
>> Вот так должно запуститься на первом подходящем граф.процессоре, т.е. в Вашем случае на Интел.
> Работает, спасибо.

Спасибо, пока опубликовал так.

> Но! Только на интеле. А как же быстрая графика nvidia?
> на ней падает.

Полагаю, быстрее я добавлю поддержку XCB, она решит и запуск у остальных под Иксами, и позволит локализовать данный крах, проверив гипотезу.

> Запускаю weston с графикой nvidia (__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1
> weston):
> ...
> [01:04:03.217] EGL version: 1.5
> [01:04:03.217] EGL vendor: NVIDIA
> ...
>            
>    EGL Wayland extension: yes
> [01:04:03.244] Using gl renderer

EGL (и gl renderer) не используется, это вообще другое -- там достаточно вызвать eglCreateWindowSurface() https://jan.newmarch.name/Wayland/EGL/
а в Vulkan вся инициализация реализуется приложением.

>[оверквотинг удален]
> Инициализация Vulkan:
> [New Thread 0x7fffdd543700 (LWP 35031)]
> [New Thread 0x7fffdcd42700 (LWP 35032)]
> [New Thread 0x7fffd327e700 (LWP 35033)]
> [New Thread 0x7fffd2a7d700 (LWP 35034)]
>  Доступно графических процессоров с поддержкой Vulkan: 2.
>   Сопроцессор №1 поддерживает семейств очередей: 3.
>     Графические операции: да.
> Thread 1 "foxhunt_dbg" received signal SIGSEGV, Segmentation fault.
> 0x00007ffff1360353 in ?? () from /lib64/libnvidia-glcore.so.450.66

В том же месте и падает. Насколько вижу требования к vkGetPhysicalDeviceSurfaceSupportKHR https://www.khronos.org/registry/vulkan/specs/1.2-extensions...
в приложении выполнены.
Подозрительный 3й параметр - surface типа VkSurfaceKHR - описатель поверхности Vulkan, получается из поверхности Wayland. То есть где-то внутри сохраняется указатель на последнюю. В случае Nvidia там NULL. И vkAcquireNextImageKHR() тоже относится к стадии презентации, т.е. у краха в случае запуска в Weston на Nvidia, похоже, аналогичная причина.

Возможно, валидатор что-то покажет (в Gentoo это пакет vulkan-layers, в остальных должно быть что-то похожее). fuxhunt_dbg подхватывет прослойку, если она установлена в сиcтеме.

Ответить | Правка | К родителю #122 | Наверх | Cообщить модератору

126. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 29-Сен-20, 15:56 
> Вот что пишет автор wlroots в Sway версии 1.5:
> If you are using the Nvidia proprietary driver for any reason, you
> have two choices:

))

Это может всего лишь означать его нежелание разбираться.
Я не говорю, что нвидия белые и пушистые - они знатно поиздевались над сообществом со своим EGLStreams. Но говорить, что оно вообще не работает тоже нельзя..

> Утилита выводит вообще всё, и NVidia достаточно поддерживать VK_KHR_xcb_surface, что бы
> оказаться в выводе.

Я всего лишь показываю, как в PRIME задавать ГПУ по умолчанию. В т.ч. для vulkan. Это работает что в простом приложении типа vkcube, что в более хитрых - в зависимости от переменной менятся GPU и для opengl, и для vulkan приложений. Конечно, бывают те, которые позволяют задать GPU явно.

> Скорее, превильнее смотреть, поддерживает ли конкретный GPU требуемый тип поверхности
> (Surface type = VK_KHR_wayland_surface). Заодно, поддерживается ли презентация:
> vulkaninfo | egrep -C3 'queue|resent|wayland_surface'

Я и для интела не вижу такой поверхности, если запускать из под X11. Если из под wayland.. то vulkaninfo падает ))

> Это расширение NVidia. Когда задана переменная окружения, загружается прослойка VK_LAYER_NV_optimus.

Это понятно. Им пришлось внедрять свое тк кроме них над dual graphics под линуксом никто особо не работал..

>  сами авторы: "большинство приложенй используют первый попавшийся GPU" (most Vulkan applications
> will use the first GPU reported by Vulkan).

Ага

> Сам же Vulkan позвляет (и это одна из целей создания) выбрать для
> построения сцены один графроцессор, а для презентации - другой, при этом
> не обязывает производителя оборудования совмещать обе эти функции в едином устройстве.
> Тот код, где происходит падение, ищет устройство сочетающее в себе "Графические
> операции" и "Вывод изображения". И падает при проверке, поддерживает ли nvidia
> презентацию.

Ок. Вероятно, что-то не так на нвидии в комбинации wayland+vulkan. wayland+OpenGL можно, vulkan можно, но в комбинации падает.

> Полагаю, быстрее я добавлю поддержку XCB, она решит и запуск у остальных
> под Иксами, и позволит локализовать данный крах, проверив гипотезу.

Под иксами с vulkan + nvidia ничего падать не будет, я полагаю. Но спасибо за желание разобраться!

> EGL (и gl renderer) не используется, это вообще другое -- там достаточно
> вызвать eglCreateWindowSurface() https://jan.newmarch.name/Wayland/EGL/
> а в Vulkan вся инициализация реализуется приложением.

да-да, я всего лишь показываю, что weston использует GL Rendeder при запуске на нвидии

> в приложении выполнены.
> Подозрительный 3й параметр - surface типа VkSurfaceKHR - описатель поверхности Vulkan,
> получается из поверхности Wayland. То есть где-то внутри сохраняется указатель на
> последнюю. В случае Nvidia там NULL. И vkAcquireNextImageKHR() тоже относится к
> стадии презентации, т.е. у краха в случае запуска в Weston на
> Nvidia, похоже, аналогичная причина.
> Возможно, валидатор что-то покажет (в Gentoo это пакет vulkan-layers, в остальных должно
> быть что-то похожее). fuxhunt_dbg подхватывет прослойку, если она установлена в сиcтеме.

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

#0  0x00007fffdf55e353 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#1  0x00007fffdf55eea6 in ?? () from /lib64/libnvidia-glcore.so.450.66
No symbol table info available.
#2  0x00007fffdda95b30 in vulkan_layer_chassis::GetPhysicalDeviceSurfaceSupportKHR () at layers/generated/chassis.cpp:4890
No locals.
#3  0x0000000000403d2c in select_gpu (vk=0x8578f0) at src/vulkan.c:234
        gfx_q = true
        presentation = 0
        i = 0
        num_qf = 3
        props = 0x98dcb0
        d = 0
        devs = 0x98dbb0
        inv = 4294967295
        num_dev = 2
        r = VK_SUCCESS
#4  0x0000000000406c77 in vk_window_create (display=0x440ad0, surface=0x85a500, width=800, height=600, vk_context=0x7fffffffd310)
    at src/vulkan.c:1107
        vk = 0x8578f0
#5  0x000000000040aaa0 in window_create (window=0x7fffffffd2e0) at src/wayland_window.c:899
        __PRETTY_FUNCTION__ = "window_create"

Ответить | Правка | Наверх | Cообщить модератору

133. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 30-Сен-20, 13:24 
>> Скорее, превильнее смотреть, поддерживает ли конкретный GPU требуемый тип поверхности
>> (Surface type = VK_KHR_wayland_surface). Заодно, поддерживается ли презентация:
>> vulkaninfo | egrep -C3 'queue|resent|wayland_surface'
> Я и для интела не вижу такой поверхности, если запускать из под
> X11. Если из под wayland.. то vulkaninfo падает ))

"Ничто так не утешает, как несчастье ближнего" (с) Особенно, если падает в той же /lib64/libnvidia-glcore.so.450.66

У vulkaninfo https://github.com/KhronosGroup/Vulkan-Tools/issues/136#issu... был похожий баг на Intel HD Graphics 630 + GeForce GTX 1050 Ti. Падала так же vkGetPhysicalDeviceSurfaceSupportKHR() из-за невалидного параматра surface (Xlib surface вместо XCB). Но - в X11 и в случае Intel.

>> Полагаю, быстрее я добавлю поддержку XCB, она решит и запуск у остальных
>> под Иксами, и позволит локализовать данный крах, проверив гипотезу.
> Под иксами с vulkan + nvidia ничего падать не будет, я полагаю.
> Но спасибо за желание разобраться!

Падает примерно на таком коде (это фрагмент Mesa, )

VkResult
wsi_common_get_surface_support(struct wsi_device *wsi_device,
                               uint32_t queueFamilyIndex,
                               VkSurfaceKHR _surface,
                               VkBool32* pSupported)
{
   ICD_FROM_HANDLE(VkIcdSurfaceBase, surface, _surface); // VkIcdSurfaceBase *surface = (VkIcdSurfaceBase*)_surface;
   struct wsi_interface *iface = wsi_device->wsi[surface->platform];

   return iface->get_support(surface, wsi_device,
                             queueFamilyIndex, pSupported);
}

_surface имеет смысл только в контексте struct wsi_device, о которой Nvidia ничего не знает. В лучшем случае реализация может проверить хендл, поискав в таблице. Но спецификация Vulkan требует валидный параметр, значит проверка не обязательна, поэтому её и нет (она вынесена в прослойку валидатора).

>[оверквотинг удален]
>> Возможно, валидатор что-то покажет (в Gentoo это пакет vulkan-layers, в остальных должно
>> быть что-то похожее). fuxhunt_dbg подхватывет прослойку, если она установлена в сиcтеме.
> Поставил. Подхватило. Но ничего лучше не вывело, просто еще функция в трейсе.
> Дебагинфо к вулкану и валидаторам стоит, но..
> #0  0x00007fffdf55e353 in ?? () from /lib64/libnvidia-glcore.so.450.66
> No symbol table info available.
> #1  0x00007fffdf55eea6 in ?? () from /lib64/libnvidia-glcore.so.450.66
> No symbol table info available.
> #2  0x00007fffdda95b30 in vulkan_layer_chassis::GetPhysicalDeviceSurfaceSupportKHR
> () at layers/generated/chassis.cpp:4890

Если передаю невалидный хендл вместо surface, начинает падать, но при этом валидатор предупреждает: Invalid VkSurfaceKHR Object 0x56190d13ac00. The Vulkan spec states: surface must be a valid VkSurfaceKHR handle

Ответить | Правка | Наверх | Cообщить модератору

136. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 08-Окт-20, 12:14 
Сделал версию для X11, если ещё интересно (foxhunt_xcb, немного не дотягивает до Wayland). https://github.com/STrusov/foxhunt/releases/tag/v0.20
Ответить | Правка | Наверх | Cообщить модератору

137. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 13-Окт-20, 22:11 
> Сделал версию для X11, если ещё интересно (foxhunt_xcb, немного не дотягивает до
> Wayland). https://github.com/STrusov/foxhunt/releases/tag/v0.20

Корректно работает на обоих GPU (правда выглядит смешно с полупрозрачностью). Потребовало странную библиотеку xcb-cursor (странную в смысле что из моря софта на моей машине никто раньше не требовал).

Инициализация Vulkan:
Доступно графических процессоров с поддержкой Vulkan: 2.
Интегрированный процессор Vulkan 1.2.131 Intel(R) UHD Graphics 630 (CFL GT2) [8086:3e9b] v5001009.
  Поддерживает семейств очередей: 1.
    Графические операции: да.
    Вывод изображения: да.
Сопроцессор подключён.
Допустимое количество кадров последовательности: 3..4294967295
Поддерживаются наложения: 0xa
Доступен формат VK_FORMAT_B8G8R8A8_SRGB.
  Созданы семафоры захвата кадров (3).
  Создано описание визуализатора.
  Создан модуль ретушёра вершин (1200 байт).
  Создан модуль ретушёра фрагментов (412 байт).
  Создано хранилище команд графического процессора.

Инициализация Vulkan:
Доступно графических процессоров с поддержкой Vulkan: 2.
Дискретный процессор Vulkan 1.2.142 GeForce GTX 1050 Ti with Max-Q Design [10de:1c8c] v71c70000.
  Поддерживает семейств очередей: 3.
    Графические операции: да.
    Вывод изображения: да.
Сопроцессор подключён.
Допустимое количество кадров последовательности: 2..8
Поддерживаются наложения: 0x1
Доступен формат VK_FORMAT_B8G8R8A8_SRGB.
  Созданы семафоры захвата кадров (2).
  Создано описание визуализатора.
  Создан модуль ретушёра вершин (1200 байт).
  Создан модуль ретушёра фрагментов (412 байт).
  Создано хранилище команд графического процессора.

Ответить | Правка | К родителю #136 | Наверх | Cообщить модератору

138. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 14-Окт-20, 09:49 
>> Сделал версию для X11, если ещё интересно (foxhunt_xcb, немного не дотягивает до
>> Wayland). https://github.com/STrusov/foxhunt/releases/tag/v0.20
> Корректно работает на обоих GPU (правда выглядит смешно с полупрозрачностью).

Спасибо, что проверили. Если прозрачность на обоих идентична, сильно не бейте -- тяжелое детство, Ч/Б телевизор вместо монитора.

> Потребовало
> странную библиотеку xcb-cursor (странную в смысле что из моря софта на
> моей машине никто раньше не требовал).

Да, странно, что в 2020м подавляющая часть софта использует libXcursor. Выбрал XCB, поскольку она ближе к Wayland и сравнение наиболее честно (и там есть libwayland-cursor.so). Когда читал документацию, возникло чувство дежавю: "быстро, асинхронно, Xlib отстала от жизни" (что характерно, официальный туториал до сих пор не дописан). На деле софт использует Xlib (из того что быстро ищется, Qt работает через XCB, но с курсорами справляется своими средствами). В общем, очень похоже на Wayland, только без "без тиринга!". И оно возникло лет дцать назад. Зато можно попробовать строить прогнозы по дальнейшему развитию, наблюдая аналогию в ретроспективе.

> Инициализация Vulkan:
>  Доступно графических процессоров с поддержкой Vulkan: 2.
>  Дискретный процессор Vulkan 1.2.142 GeForce GTX 1050 Ti with Max-Q Design
> [10de:1c8c] v71c70000.
>   Поддерживает семейств очередей: 3.
>     Графические операции: да.
>     Вывод изображения: да.
>  Сопроцессор подключён.
>  Допустимое количество кадров последовательности: 2..8

Вот тут должна быть разгадка. Якобы заявлена двойная буферизация, в то время как у Intel тройная, а в Wayland вообще заявляет минимум 4 (но при правильном подходе можно использовать всего 2, за счёт третьего буфера в композиторе). Надеюсь, созрею и раскопаю, действительно ли там незаметно организуется 3-й буфер где-то в видеопамяти Intel-а.

>  Поддерживаются наложения: 0x1

Вот это (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR) означает, что окно не может быть прозрачным. Далее Vulkan именно в таком режиме и работает.

Ответить | Правка | К родителю #137 | Наверх | Cообщить модератору

139. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 14-Окт-20, 18:41 
>>> Сделал версию для X11, если ещё интересно (foxhunt_xcb, немного не дотягивает до
>>> Wayland). https://github.com/STrusov/foxhunt/releases/tag/v0.20
>> Корректно работает на обоих GPU (правда выглядит смешно с полупрозрачностью).
> Спасибо, что проверили. Если прозрачность на обоих идентична, сильно не бейте --
> тяжелое детство, Ч/Б телевизор вместо монитора.

Между intel/nvidia? Идентична, конечно, просто выглядит.. очень странно с просвечивающим текстом фона и без заголовка. https://postimg.cc/LnBFNZcG  - правда в браузере не так видно, но можно загрузить исходное изображение.

> средствами). В общем, очень похоже на Wayland, только без "без тиринга!".
> И оно возникло лет дцать назад. Зато можно попробовать строить прогнозы

Проблема в том, что оно до сих пор не доделано, документации нет, примеров нет.. По Xlib большие книжки даже были.. и куча man страниц.. а тут - пусто.

>>  Поддерживаются наложения: 0x1
> Вот это (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR) означает, что окно не может быть прозрачным.
> Далее Vulkan именно в таком режиме и работает.

Эмм окно прозрачное в Xcb при запуске на любой графике.

Ответить | Правка | К родителю #138 | Наверх | Cообщить модератору

140. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 15-Окт-20, 11:38 
>>>> Сделал версию для X11, если ещё интересно (foxhunt_xcb, немного не дотягивает до
>>>> Wayland). https://github.com/STrusov/foxhunt/releases/tag/v0.20
>>> Корректно работает на обоих GPU (правда выглядит смешно с полупрозрачностью).
>> Спасибо, что проверили. Если прозрачность на обоих идентична, сильно не бейте --
>> тяжелое детство, Ч/Б телевизор вместо монитора.
> Между intel/nvidia? Идентична, конечно, просто выглядит.. очень странно с просвечивающим
> текстом фона и без заголовка. https://postimg.cc/LnBFNZcG  - правда в браузере
> не так видно, но можно загрузить исходное изображение.

Фон это напоминание о тетрадном листочке, на котором приходилось играть в калькуляторную версию. :) А "заголовок" и так есть своеобразный - в правом верхнем углу. Перетаскивать можно за любую неактивную (то есть кроме кнопок "старт/стоп" и клеток поля) точку окна. Потому не дублировал. Цвета, возможно, стоило бы в конфиг вынести, пока цвет фона можно поменять в #define COLOR_BACKGROUND в начале main.c - последняя компонента 0.25f это непрозрачность, т.е. 1 даст полностью непрозрачное окно.

>> средствами). В общем, очень похоже на Wayland, только без "без тиринга!".
>> И оно возникло лет дцать назад. Зато можно попробовать строить прогнозы
> Проблема в том, что оно до сих пор не доделано, документации нет,
> примеров нет.. По Xlib большие книжки даже были.. и куча man
> страниц.. а тут - пусто.

Сама XCB доделана, Xlib реализована как обёртка над ней. Xlib выглядит проще, меньше писанины, наверное, потому и используют. Вероятно, так будет и через 10-20 лет, будут писать под Xlib, а та работать через XWayland.

>>>  Поддерживаются наложения: 0x1
>> Вот это (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR) означает, что окно не может быть прозрачным.
>> Далее Vulkan именно в таком режиме и работает.
> Эмм окно прозрачное в Xcb при запуске на любой графике.

Вот это и странно.

Ответить | Правка | К родителю #139 | Наверх | Cообщить модератору

141. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 15-Окт-20, 14:18 
> Фон это напоминание о тетрадном листочке, на котором приходилось играть в калькуляторную
> версию. :) А "заголовок" и так есть своеобразный - в правом
> верхнем углу. Перетаскивать можно за любую неактивную (то есть кроме кнопок
> "старт/стоп" и клеток поля) точку окна. Потому не дублировал. Цвета, возможно,
> стоило бы в конфиг вынести, пока цвет фона можно поменять в
> #define COLOR_BACKGROUND в начале main.c - последняя компонента 0.25f это непрозрачность,
> т.е. 1 даст полностью непрозрачное окно.

Ясно, те бай дизайн. Ну что же )

>> Эмм окно прозрачное в Xcb при запуске на любой графике.
> Вот это и странно.

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

Ответить | Правка | К родителю #140 | Наверх | Cообщить модератору

142. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 15-Окт-20, 15:36 
>>> Эмм окно прозрачное в Xcb при запуске на любой графике.
>> Вот это и странно.
> Не вижу ничего странного. Прозрачность чего-то там в вулкане не имеет отношения
> к прозрачности окна же?

Вот что пишет спецификация про то чему задаётся VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:

compositeAlpha is a VkCompositeAlphaFlagBitsKHR value indicating the alpha compositing mode
to use when this surface is composited together with other surfaces on certain window systems.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions...

То есть как раз "указывает режим альфа-композиции с другими поверхностями в оконной системе".

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

Ну вот как-то так и выходит, что композитор X-сервера берёт кадр из памяти Nvidia и копирует его в экранный буфер Intel-а, отсюда и самодеятельность с прозрачностью (у Intel-а как раз отсутствует режим непрозрачности, только два варианта альфы) и в логе за счёт этого есть "Вывод изображения: да.". А в Wayland этого нет, поскольку должен реализовать клиент. А как определить, что Nvidia не поддерживает непосредственно вывод изображения, если как раз при проверке и падает, не понятно. По-моему, должен быть какой-то адекватный способ без ловли SIGSEGV.

Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

143. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 19-Окт-20, 17:49 
> Вот что пишет спецификация про то чему задаётся VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
> compositeAlpha is a VkCompositeAlphaFlagBitsKHR value indicating the alpha compositing
> mode
> to use when this surface is composited together with other surfaces on
> certain window systems.
> https://www.khronos.org/registry/vulkan/specs/1.2-extensions...

Так нвидия его поддерживает.

GPU id : 1 (GeForce GTX 1050 Ti with Max-Q Design):
        Surface types: count = 2
                VK_KHR_xcb_surface
                VK_KHR_xlib_surface
        Formats: count = 2
                SurfaceFormat[0]:
                        format = FORMAT_B8G8R8A8_UNORM
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
                SurfaceFormat[1]:
                        format = FORMAT_B8G8R8A8_SRGB
                        colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
        Present Modes: count = 3
                PRESENT_MODE_FIFO_KHR
                PRESENT_MODE_FIFO_RELAXED_KHR
                PRESENT_MODE_IMMEDIATE_KHR
        VkSurfaceCapabilitiesKHR:
        -------------------------
                minImageCount       = 2
                maxImageCount       = 8
                currentExtent:
                        width  = 256
                        height = 256
                minImageExtent:
                        width  = 256
                        height = 256
                maxImageExtent:
                        width  = 256
                        height = 256
                maxImageArrayLayers = 1
                supportedTransforms: count = 1
                        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                supportedCompositeAlpha: count = 1
                        COMPOSITE_ALPHA_OPAQUE_BIT_KHR


Intel поддерживает два:
supportedCompositeAlpha: count = 2
                        COMPOSITE_ALPHA_OPAQUE_BIT_KHR
                        COMPOSITE_ALPHA_INHERIT_BIT_KHR

Но COMPOSITE_ALPHA_OPAQUE_BIT_KHR есть в обоих. А этот второй режим на фиг нужен..

> Ну вот как-то так и выходит, что композитор X-сервера берёт кадр из
> памяти Nvidia и копирует его в экранный буфер Intel-а, отсюда и
> самодеятельность с прозрачностью (у Intel-а как раз отсутствует режим непрозрачности,
> только два варианта альфы) и в логе за счёт этого есть
> "Вывод изображения: да.". А в Wayland этого нет, поскольку должен реализовать
> клиент. А как определить, что Nvidia не поддерживает непосредственно вывод изображения,
> если как раз при проверке и падает, не понятно. По-моему, должен
> быть какой-то адекватный способ без ловли SIGSEGV.

На самом деле, я нашел почему падает под wayland все связанное с vulkan на nvidia. Вот эта проблема: https://wiki.archlinux.org/index.php/Vulkan#Nvidia_-_vulkan_...

Если запускаю weston как __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json weston&

то vulkaninfo и тп перестают падать и нормально работают. Но intel не показывают. Т.е. баг не в чисто в том, как работает vulkan в nvidia; баг в переключении ICD или одновременной попытке их подгрузить оба. foxhunt, правда, это не помогает, но это уже дело десятое. Как минимум я теперь знаю, что связка wayland+vulkan на нвидии рабочая! ( кстати тут еще 4 года назад писали, что под чистым wayland все работает https://www.nvidia.com/en-us/geforce/forums/discover/249236/...-/ )

Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

144. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 20-Окт-20, 10:45 
>> Вот что пишет спецификация про то чему задаётся VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR:
>> compositeAlpha is a VkCompositeAlphaFlagBitsKHR value indicating the alpha compositing
>> mode
>> to use when this surface is composited together with other surfaces on
>> certain window systems.
>> https://www.khronos.org/registry/vulkan/specs/1.2-extensions...
> Так нвидия его поддерживает.

...
>  COMPOSITE_ALPHA_OPAQUE_BIT_KHR

Дело в том, что это как раз режим непрозрачного отображения (OPAQUE), когда альфа-канал игнорируется (считается равным 1.0)

> Intel поддерживает два:
> supportedCompositeAlpha: count = 2        
>            
>  COMPOSITE_ALPHA_OPAQUE_BIT_KHR
>  COMPOSITE_ALPHA_INHERIT_BIT_KHR
> Но COMPOSITE_ALPHA_OPAQUE_BIT_KHR есть в обоих. А этот второй режим на фиг нужен..

В Воланде (для VK_KHR_wayland_surface) другие режимы. COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR - вот это режим с предвычисленным значением альфы. https://www.khronos.org/registry/vulkan/specs/1.2-extensions...

Вот здесь у Вас https://www.opennet.ru/openforum/vsluhforumID3/121943.html#137
Поддерживаются наложения: 0xa --  это как раз COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR | COMPOSITE_ALPHA_INHERIT_BIT_KHR

>[оверквотинг удален]
>> если как раз при проверке и падает, не понятно. По-моему, должен
>> быть какой-то адекватный способ без ловли SIGSEGV.
> На самом деле, я нашел почему падает под wayland все связанное с
> vulkan на nvidia. Вот эта проблема: https://wiki.archlinux.org/index.php/Vulkan#Nvidia_-_vulkan_...
> Если запускаю weston как __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1
> VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json weston&
> то vulkaninfo и тп перестают падать и нормально работают. Но intel не
> показывают. Т.е. баг не в чисто в том, как работает vulkan
> в nvidia; баг в переключении ICD или одновременной попытке их подгрузить
> оба. foxhunt, правда, это не помогает, но это уже дело десятое.

Её поможет, когда я соберу стенд для обкатки этого дела.

> Как минимум я теперь знаю, что связка wayland+vulkan на нвидии рабочая!
> ( кстати тут еще 4 года назад писали, что под чистым
> wayland все работает https://www.nvidia.com/en-us/geforce/forums/discover/249236/...-/
> )

Это там одинокая Nvidia? У меня был ноут с Optimus, там пришлось пропатчить BIOS, что бы появился  пункт "отключать Intel", иначе хватало проблем. С тех пор, конечно, много что исправили.

Ответить | Правка | К родителю #143 | Наверх | Cообщить модератору

145. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 21-Окт-20, 20:14 
> Дело в том, что это как раз режим непрозрачного отображения (OPAQUE), когда альфа-канал игнорируется (считается равным 1.0)

Ясно. Ну, значит.. вот так. Заявлено что игнорируется, по факту работает.
У меня интел основной картой, видимо композитор на нем работает, копируя то, что там нвидия рендерит. Но я не знаю, это влияет или нет. Отключать интел в биосе можно, но что-то не хочется таких экспериментов (все ж таки иксы и прочее бегают на интеле). Второго моника сейчас для проверки нет :-(

> С тех пор, конечно, много что исправили.

Да. Где-то с годик как PRIME/reverse PRIME работают из коробки и без костылей. И карта спит нормально, пока кто-не явно начнет использовать. Когда полтора года назад брал ноут, с этим была проблема - грелся даже при работе на интеле. Но сейчас ок.

Ответить | Правка | К родителю #144 | Наверх | Cообщить модератору

146. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 22-Окт-20, 10:35 
>> Дело в том, что это как раз режим непрозрачного отображения (OPAQUE), когда альфа-канал игнорируется (считается равным 1.0)
> Ясно. Ну, значит.. вот так. Заявлено что игнорируется, по факту работает.
> У меня интел основной картой, видимо композитор на нем работает, копируя то,
> что там нвидия рендерит. Но я не знаю, это влияет или
> нет.

Ну вот под Иксами кто-то копирует, а в Воланде функция могла бы вернуть "презентация не поддерживается", но вместо этого падает.

> Отключать интел в биосе можно, но что-то не хочется таких
> экспериментов (все ж таки иксы и прочее бегают на интеле). Второго
> моника сейчас для проверки нет :-(

Это может понадобиться, если интересна какая-то ресурсоёмкая игрушка и она подтормаживает, но скорее всего выигрыш по скорости окажется незаметен. Иксы на Нвидиа вряд ли стоит гонять, только АКБ быстрее садит и греется. И для foxhunt нет смысла, тут именно из-за двух видеокарт проблема.

Ответить | Правка | К родителю #145 | Наверх | Cообщить модератору

147. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от Stax (ok), 22-Окт-20, 20:12 
> Это может понадобиться, если интересна какая-то ресурсоёмкая игрушка и она подтормаживает,
> но скорее всего выигрыш по скорости окажется незаметен. Иксы на Нвидиа

Внутренний дисплей все равно на интеле и все равно копировать надо  :) Даже если выключить нвидию. Точно так же внешние порты на нвидии, если рендерить на интеле - копирование происходит..

Ответить | Правка | К родителю #146 | Наверх | Cообщить модератору

148. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 23-Окт-20, 09:29 
В моём случае Интел отключался вообще, устройство исчезало с шины PCI. Вывод на дисплей, по-видимому, коммутируется.
Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

121. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 28-Сен-20, 18:43 
> А надо под рут??

Нет, не надо. Они там запускают без композитора, судя по всему (один точно).

Ответить | Правка | К родителю #118 | Наверх | Cообщить модератору

134. "Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..."  +/
Сообщение от n00by (ok), 08-Окт-20, 07:01 
В master-ветке добавил поддержку X11, если ещё интересно. Платформа для вывода графики задаётся при сборке (или скриптом можно собрать все). Готовый исполняемый файл выложу чуть позже, как проверю где-то помимо Гнома.
Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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