- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Анонимкин, 10:29 , 25-Сен-20 (1) +19 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., And, 12:02 , 25-Сен-20 (24)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним здорового человека, 12:09 , 25-Сен-20 (25) +15 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., anonimous, 12:25 , 25-Сен-20 (30) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., YetAnotherOnanym, 21:08 , 25-Сен-20 (83) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., BlackRot, 12:59 , 25-Сен-20 (33) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., iPony129412, 10:30 , 25-Сен-20 (2) +5
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 11:02 , 25-Сен-20 (13) +7 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 08:13 , 29-Сен-20 (124)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 10:33 , 25-Сен-20 (3) –8 [V]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Урри, 10:36 , 25-Сен-20 (4) +14 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 10:37 , 25-Сен-20 (5)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., microsoft, 10:40 , 25-Сен-20 (7) –5 [V]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Тот_Самый_Анонимус, 18:32 , 25-Сен-20 (78) –3
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 10:37 , 25-Сен-20 (6) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 12:20 , 25-Сен-20 (26) +6 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 13:08 , 25-Сен-20 (36) +3
Изначально планировалось сделать поддержку и X, и Wayland, что бы наглядно сравнивать трудозатраты (с OGL против Vulkan и так всё понятно -- в последнем случае только что бы появилась чёрная поверхность, требуется боле 300 строк, а для треугольника -- 700). Но пока автор слегка перетрудился, потому публикуется как есть.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 14:02 , 25-Сен-20 (52)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 14:33 , 25-Сен-20 (59) +1
> 700 строк? Это с рантаймом?Это ещё не считая создания окна. "Рантйам" Vulkan это Mesa, vulkan-loader по сути прокси. > Просто, в голом opengl, не то, чтобы > меньше выйдет. Вопрос в том, кто так делает, когда первый попавшийся пример https://jan.newmarch.name/Wayland/EGL/ вызывает просто eglCreateWindowSurface() + eglSwapBuffers()
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., asdasd, 19:41 , 27-Сен-20 (113)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 10:42 , 25-Сен-20 (9) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 12:21 , 25-Сен-20 (27) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 12:36 , 25-Сен-20 (32) +15 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Ag, 13:36 , 25-Сен-20 (38)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., IRASoldier_registered, 17:09 , 25-Сен-20 (73) –1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 10:41 , 25-Сен-20 (8) +11 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., имя_, 10:47 , 25-Сен-20 (10) +6 [^]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., жабабыдлокодер, 11:47 , 25-Сен-20 (22) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 13:57 , 25-Сен-20 (47)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Денис, 03:00 , 26-Сен-20 (91)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Денис, 03:12 , 26-Сен-20 (94) –1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Феофан, 22:27 , 27-Сен-20 (114) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Gretta, 10:50 , 25-Сен-20 (11) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Dzen Python, 11:00 , 25-Сен-20 (12) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 11:10 , 25-Сен-20 (14) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 11:14 , 25-Сен-20 (15) +5
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Gretta, 11:19 , 25-Сен-20 (17) +3
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Cradle, 11:22 , 25-Сен-20 (18) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 12:30 , 25-Сен-20 (31)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 12:24 , 25-Сен-20 (29) +5
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 13:04 , 25-Сен-20 (35) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., VladSh, 13:43 , 25-Сен-20 (42) –2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 13:47 , 25-Сен-20 (44) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 14:01 , 25-Сен-20 (50) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 16:21 , 25-Сен-20 (68) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., kazh, 19:43 , 25-Сен-20 (80) +5
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 16:55 , 25-Сен-20 (72) +4
>> "Охота на лис" для калькуляторов типа МК-61 ... (1985) >> ... Wayland и API Vulkan, AMD64 ... (2020) Кстати, версия 85-го года занимала 85 шагов (байт). Сейчас обранный Clang-ом исполняемый файл чуть меньше 60 КБ (без упаковки, задача минимализации размера не ставилась). 5 КБ из них музыка. Если же убрать Vulkan (заменить программной отрисовкой), то из 4000 строчек исходного текста останется, грубо, 3000. Но будет не очень быстро.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 21:30 , 25-Сен-20 (86)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 05:04 , 26-Сен-20 (97) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 05:34 , 26-Сен-20 (99)
>> заменить программной отрисовкой... Но будет не очень быстро. > Дум использовал не более 8М оперативы, программную отрисовку и не > тормозил даже на том железе.Осталось разобраться с причинно следственными связями. 1. Каков был объём видеопамяти? 2. Какова была (суммарная) производительность процессора (с учётом пропускной способности ШД)? 3. Во сколько раз увеличилась каждая величина? Может так оказаться, что "то железо" - это как раз причина, почему Doom не тормозил.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 10:08 , 26-Сен-20 (106)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 14:14 , 26-Сен-20 (108) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Michael Shigorin, 17:04 , 29-Сен-20 (129)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 00:03 , 28-Сен-20 (115)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 13:53 , 25-Сен-20 (45) –4 [V]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 13:58 , 25-Сен-20 (48)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., A.Stahl, 14:00 , 25-Сен-20 (49) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., слакварявод, 14:04 , 25-Сен-20 (53)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 14:11 , 25-Сен-20 (57) +1
Wayland не инициализируется.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., слакварявод, 14:22 , 25-Сен-20 (58)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 14:48 , 25-Сен-20 (61)
Вы под root запускаете?wl_display_connect() берёт переменную XDG_RUNTIME_DIR и прибавляет к ней $WAYLAND_DISPLAY или "wayland-0". Это всё уже внутри libwayland-client.so.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., слакварявод, 15:05 , 25-Сен-20 (64)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 15:27 , 25-Сен-20 (66)
А композитор Wayland тоже под root запустили и он работает? Без композитора не запустится, X11 пока не поддерживается.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 15:35 , 28-Сен-20 (118)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 16:06 , 28-Сен-20 (119)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 18:40 , 28-Сен-20 (120)
> Могу дебажную версию под 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; } }
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 21:08 , 28-Сен-20 (122)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 21:11 , 28-Сен-20 (123)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 10:38 , 29-Сен-20 (125)
>> Драйвера 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теме.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 15:56 , 29-Сен-20 (126)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 13:24 , 30-Сен-20 (133)
>> Скорее, превильнее смотреть, поддерживает ли конкретный 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
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 12:14 , 08-Окт-20 (136)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 22:11 , 13-Окт-20 (137)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 09:49 , 14-Окт-20 (138)
>> Сделал версию для 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 именно в таком режиме и работает. - Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 18:41 , 14-Окт-20 (139)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 11:38 , 15-Окт-20 (140)
>>>> Сделал версию для 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 при запуске на любой графике. Вот это и странно. - Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 14:18 , 15-Окт-20 (141)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 15:36 , 15-Окт-20 (142)
>>> Эмм окно прозрачное в 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.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 17:49 , 19-Окт-20 (143)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 10:45 , 20-Окт-20 (144)
>> Вот что пишет спецификация про то чему задаётся 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", иначе хватало проблем. С тех пор, конечно, много что исправили.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 20:14 , 21-Окт-20 (145)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 10:35 , 22-Окт-20 (146)
>> Дело в том, что это как раз режим непрозрачного отображения (OPAQUE), когда альфа-канал игнорируется (считается равным 1.0) > Ясно. Ну, значит.. вот так. Заявлено что игнорируется, по факту работает. > У меня интел основной картой, видимо композитор на нем работает, копируя то, > что там нвидия рендерит. Но я не знаю, это влияет или > нет.Ну вот под Иксами кто-то копирует, а в Воланде функция могла бы вернуть "презентация не поддерживается", но вместо этого падает. > Отключать интел в биосе можно, но что-то не хочется таких > экспериментов (все ж таки иксы и прочее бегают на интеле). Второго > моника сейчас для проверки нет :-( Это может понадобиться, если интересна какая-то ресурсоёмкая игрушка и она подтормаживает, но скорее всего выигрыш по скорости окажется незаметен. Иксы на Нвидиа вряд ли стоит гонять, только АКБ быстрее садит и греется. И для foxhunt нет смысла, тут именно из-за двух видеокарт проблема.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Stax, 20:12 , 22-Окт-20 (147)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 09:29 , 23-Окт-20 (148)
В моём случае Интел отключался вообще, устройство исчезало с шины PCI. Вывод на дисплей, по-видимому, коммутируется.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 18:43 , 28-Сен-20 (121)
> А надо под рут??Нет, не надо. Они там запускают без композитора, судя по всему (один точно).
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 07:01 , 08-Окт-20 (134)
В master-ветке добавил поддержку X11, если ещё интересно. Платформа для вывода графики задаётся при сборке (или скриптом можно собрать все). Готовый исполняемый файл выложу чуть позже, как проверю где-то помимо Гнома.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., A.Stahl, 14:38 , 25-Сен-20 (60)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 14:50 , 25-Сен-20 (62) +2
Про Wayland написано в новости. Она не прибита, просто никаких посторонних библиотек не использует. Вариант с X11 пока не реализован. На днях я понял, почему авторы mpv не очень любят Gnome, и теперь надо немного передохнуть.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 12:13 , 08-Окт-20 (135)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 14:07 , 25-Сен-20 (55) –1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Тёмная сторона Её, 15:00 , 25-Сен-20 (63) –1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., InuYasha, 15:06 , 25-Сен-20 (65)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 16:40 , 25-Сен-20 (71)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 17:24 , 25-Сен-20 (75) +4
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Ordu, 17:35 , 25-Сен-20 (76) +2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 02:25 , 26-Сен-20 (90) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 05:38 , 26-Сен-20 (100) +1
>> Wayland и API Vulkan >> эмулятор процессора AY-3-8912 > Что это было?Музыкальный процессор AY-8912/8910 Характеристики 1. Программное управление генератором. 2. Три программнонезависимых аналоговых выхода. ... https://speccy.info/AY-3-8910 > Зачем? Для воспроизведения музыки, которая была написана специально для Spectrum-версии этой игры.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., mikhailnov, 17:41 , 25-Сен-20 (77) –1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 09:08 , 26-Сен-20 (105) –2
Не, это не так работает.Прежде всего, кто-то из ООО "НТЦ ИТ РОСА" (должен же среди ажно 8-ми сотрудников быть хоть один вменяемый?) приносит вашим бесплатным тестеровщикам извинения за поведения г-на Потапова, когда тот прилюдно учил меня исходить из правила "никогда не делай ничего для людей, люди - неблагодарные свиньи". Потом вы что-то делаете с клеветой малахольного сотрудника Григорьева, якобы я "комп Ивану сломал" (напоминаю, лично ты причастен к исходному набросу того Ивана, когда причиной на деле оказались ручки Бондрова, слинковавшего kodi с несовместимой версией ffmpeg). Это тот минимум, после которого твои попытки сохранить красивую мину при плохой игре не будут работать против тебя.
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Zenitur, 19:13 , 25-Сен-20 (79) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 19:50 , 25-Сен-20 (81)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Аноним, 21:03 , 25-Сен-20 (82) –5 [V]
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Kuromi, 23:09 , 25-Сен-20 (88)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Денис, 03:07 , 26-Сен-20 (92) –2
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Юра, 04:17 , 26-Сен-20 (95) +5
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Денис, 05:07 , 26-Сен-20 (98)
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., n00by, 05:50 , 26-Сен-20 (102) +1
- Игра Охота на лис, созданная для микрокалькуляторов МК-61, а..., Юра, 04:22 , 26-Сен-20 (96) +3
|