Состоялся выпуск экспериментальной ветки открытой реализации WinAPI - Wine 6.17. С момента выпуска версии 6.16 было закрыто 12 отчётов об ошибках и внесено 375 изменений...Подробнее: https://www.opennet.me/opennews/art.shtml?num=55781
> Продолжена подготовка к реализации интерфейса системных вызовов GDI.Что это значит, как оно вообще может пускать виндовые приложения, если GDI не заимплеменчен?
Назовите с ходу хоть одно Windows-приложение, которое напрямую обращается к системным вызовам для которых нет готовых функций-обвязок?
> Назовите с ходу хоть одно Windows-приложение, которое напрямую обращается к системным вызовам
> для которых нет готовых функций-обвязок?Про какие фнукции-обвязки речь? Как минимум Qt видел использует GDI.
Он его через стандартные библиотеки использует, а не напрямую через системные вызовы.
FYI:
https://github.com/tinysec/windows-syscall-table
https://github.com/hfiref0x/SyscallTables
https://github.com/hfiref0x/NtCall64
Qt использует библиотеки gdi32.dll и user32.dll.
Те в свою очередь используют системные вызовы, под которыми обычно понимают имена из пространств NtGdi* и NtUser*
Вызовы ядра непосредственно через шлюзы вряд ли кто-то использует, поскольку номера сервисов меняются и после обновления ОС приложение в общем случае превратится в тыкву, а в частных ему потребуется дизассемблер.
> Qt использует библиотеки gdi32.dll и user32.dll.Под стандартными библиотеками я их и подразумевал, просто давно уже на память не помню названия и под рукой негде посмотреть было.
Про то что под системными вызовами обычно понимают функции NtXxx, конечно, уточнение важное, спасибо.
> Вызовы ядра непосредственно через шлюзы вряд ли кто-то использует
Припоминаю, что попадалась такая малварь и приравненное к ней (антивири, античиты, обфусцированная проприетарщина и т.д.).
>> Вызовы ядра непосредственно через шлюзы вряд ли кто-то использует
> Припоминаю, что попадалась такая малварь и приравненное к ней (антивири, античиты, обфусцированная
> проприетарщина и т.д.).Хотел ведь написать "вряд ли кто в здравом уме использует", но постеснялся. :) Антивирю, по-хорошему, это вообще не надо, всё делается через драйвер.
> Вызовы ядра непосредственно через шлюзы вряд ли кто-то используетЕсть специфические драйверы принтеров, которые обращаются к GDI напрямую с целью рендеринга страницы перед печатью по своему и с использованием своих кастомных шрифтов. Например Ricoh, Kyocera и другие GDI-драйверы, которые одновременно ни PCL, ни PS и ни XPS.
>> Вызовы ядра непосредственно через шлюзы вряд ли кто-то использует
> Есть специфические драйверы принтеров, которые обращаются к GDI напрямую с целью рендеринга
> страницы перед печатью по своему и с использованием своих кастомных шрифтов.
> Например Ricoh, Kyocera и другие GDI-драйверы, которые одновременно ни PCL, ни
> PS и ни XPS.Вызов через шлюз (call gate) это машинная инструкция int 2e или syscall. При этом вызываемая функция идентифицируется не по имени, а числом в регистре, которое меняется при обновлении ОС. Потому такой механизм не используют.
GDI printer driver может вызывать напрямую функции ядра, в этом случае шлюз не нужен, поскольку драйвер в ядре. Если же он в пространстве пользователя, то вызываются обычные dll. Во всех этих случаях функция идентифицируется именем. https://docs.microsoft.com/en-us/windows-hardware/drivers/pr...
https://docs.microsoft.com/en-us/sysinternals/downloads/root...
Предположу, что речь о интерфейсе импортируемых, а не экспортируемых функций. Вайновый gdi по экспортируемым функциям такой же как виндовый, а вот импортируемые сильно отличаются, из-за чего gdi.dll нельзя заменить на нативный из винды
>> Продолжена подготовка к реализации интерфейса системных вызовов GDI.
> Что это значит, как оно вообще может пускать виндовые приложения, если GDI
> не заимплеменчен?More preparation work for the GDI syscall interface.
"системный вызовов" - это вызов ядра (syscall), а не gdi32.dll. В оригинальной NT gdi32.dll в итоге вызывает модуль ядра win32k.sys.
Вот https://source.winehq.org/git/wine.git/commitdiff/d2d8132734...
один из коммитов. Функции из пространства имён Nt* как правило реализованы в ядре.
С выходом wsl2, wine еще актуален??
WSL это ВМ с костылями, Wine это транслятор вызовов. Чувствуешь разницу?
Не нужен, как и линукс на десктопе.
WSL2 актуален у виндузятников, желющих отчасти и Linux-экосистему. Wine актуален у линуксоидов, желающих некоторые проприетарные винприложения. Они ортогональны.
WSL полезен бывшим линуксоидам. Линукс десктоп мертв. Теперь (с возможностью запускать под WSL2 граф. приложения) окончательно.
а что, бывают бывшие линуксоиды?
Бывают бывшие виндовозы)))
Это как сравнивать тёплое и мягкое.// b.
Как мелкое и мягкое
С выходом Wine винда ещё актуальна?
Этот вопрос актуален?
Что-то старые программы тормозят очень сильно, это нормально? Это из-за того, что gdi удалили? В 4 ветке нормально работают.
Результаты тестов будут или "мне так кажется?"?По части скорости прорисовки 2D в Wine за последние 20 лет разницы не вижу.
// b.
Так git превращается в слайдшоу больше чем обычно, какие уж тут тесты? Я проверил все варианты и дело не в конфигурации, а в версии.
git?Консольное приложение, которое изначально написано для POSIX?
Причём тут оно?
// b.
Оно конечно текстовое, но вроде не консольное, и там есть картинки. Про позикс сомневаюсь, если честно, в 79 году был позикс?
Тормоза под линуксом - это норма.
> Тормоза под линуксом - это норма.Операции с ФС под Линуксом быстрее, рабочий стол и всё, что с ним связано, сильно медленнее, потому что в Линуксе нет единого accelerated API для 2D графики от слова вообще. Каждый год новые комбайны и "технологии".
Блин, да даже video decoding acceleration до сих пор из коробки нет. Flash, который похоронили, предоставлял это больше 10 лет назад через VDPAU. "Проприетарщина", но работало.
// b.
А сейчас Firefox через vaapi
"как бы".
Официально они до сих пор vaapi и ускорение через него не поддерживают, это экспериментальная фича, баги на эту тему фиксятся, но неохотно
> потому что в Линуксе нет единого accelerated API для 2D графики от слова вообще.Есть предположение почему так? Нёрды не умеют договариваться об общем хорошем, ищут самое лучше до сих пор или быть может заговор рептилоидов, майкрософт гадит, отсутствие софтскиллов, еще какой-то вариант?
На Chroombooks насколько я понимаю смогли, почему оттуда не взять или еще откуда-то.
Потому что "accelerated 2D графика" обеспечивается стандартами OpenGL и Vulkan, а VDPAU и VA-API -- это ускорение декодирования сжатого видео.
EXA, UXA, SNA, Glamor
> EXA, UXA, SNA, GlamorОх, не люблю говорить о вещах, которые не трогал ручками. Но вот эти первые три - по времени появления похоже, просто блиттеры (т.е копирование растров, вероятно, со смешиванием, из ОЗУ в видеопамять).
А последний это как раз обёртка вокруг OGL "2D acceleration driver for the X server that translates the X render primitives into OpenGL operations, taking advantage of any existing 3D OpenGL drivers"
https://en.wikipedia.org/wiki/X.Org_Server#Glamor
т.е. должен дополнительно поддерживать масштабирование (сжатие) плюс что-то ещё.
Хренота это всё.В Windows туча 2D примитивов GDI ускоряются видеокартами, поэтому интерфейс летает. Хотя, надо сказать, что, начиная с Windows Vista, всё не так просто, и многие приложения стали медленней из-за DWM/WDDM >=1.0. До XP всё было иначе и быстрее.
Тем не менее, в Линуксе даже сотой доли этого нет.
// b.
> В Windows туча 2D примитивов GDI ускоряются видеокартами,Подскажите, где про это можно почитать, Вы же не сами выдумали? Фень Юаня я уже прочитал, что появилось ещё на эту тему?
> До XP всё было иначе и быстрее.
Во времена XP быстрее было программно смешать цвета, чем использовать DirectDraw7 на каком-нибудь Radeon 8500, которые далеко не у всех были, пока не появились относительно массовые GeForce4 MX 440.
Если под словом "тормоза" видишь себя и себе подобных, то таки да, для Линукс это норма)))
А как там wine-wayland.Кто нибудь запустил? Нашел вот это https://gpo.zugaina.org/app-emulation/wine-wayland Кака эта работает или нет.Так и не осилил нет инструкции для чайников.
Поправил https://gpo.zugaina.org/app-emulation/wine-wayland
А какие старые то ?
Это они хотят запускать виндовые драйвера видеоадаптеров шоле?
Зачем? И почему вы так решили?
Столько улучшений, но вот MS Access > 2007 (хотя бы runtime) с макросами так и не удаётся запустить.
Почему вы не используете LibreOffice вместо MS Office? И закчем использовать настолько старое ПО, 2006-го года?
Если речь обо мне, то я использую Либру со дня его появления. А до этого пользовался ОпенОфисом. Если говорить о моём комментарии, то есть клиентская программа, написанная на MS Access 2016. Прежде чем переписывать клиент на чём-нибудь более вменяемом, предпринимал попытки запустить его в Вайн. Ради интереса, периодически проверяю прогу на новых версиях wine. Пока подвижек в обеспечении работы Access не обнаружено. Вернее, если следовать рекомендациям winehq или скриптам playonlinux или winetricks, то установить и даже запустить его можно, но так, чтобы в нём полноценно работала программа VBA, как-то добиться пока не удалось.
Попробуй Crossover. Там макросы работают.
До сих пор нет поддержки драйверов.
Запустил wine-wayland на wayland и weston kde.Радик 570 и вулкан 1.2.190 mesa-git-21.3.В принципе работает по тестам в кривис2 и сталкер тт2 огср прибавка около 6 фпс в сложных сценах.Проблемы с клавиатурой и мышкой кнопки не работают надо переназначать что очень неудобно так как привык к другим.Мышка дурит проблемы с поворотами.Предполагаю что это из за отсутствия staging патчей в wine так как в данный момент показывает версию 6.15 vanilla.Картинка иногда как то странно дергается при поворотах можно покрутить настройки kwin.Но с теми же настройками в x11 все плавно и нет проблем с включенной опцией teerfree в xorg-server.Брал и компилировал от сюда https://gpo.zugaina.org/app-emulation/wine-wayland Надо дальше разбираться и прикрутить это дело к wine-staging.Но очень лень лучше подожду годика 2 ИМХО.
Я тоже ждал 2 года... Потом ещё 2 года. И ещё год. Не повторяй чужих ошибок - вернись в лоно святой винды.
Под Xorg Wine вполне сносно робит.API overhead никто не отменял, но фаны ради Линукса готовы терпеть.
// b.
> вернись в лоноэто эвфемизм для "п-здуй в п-зду" или для "мама, роди меня обратно" ?
ответ "нет, ты" на оба пункта.
Да я бы и рад на винду.
Але грошей немає зовсім проклятий диктатор всі зарплати зменшив в три рази в порівнянні з 2010 роком.
За офис плати за антивирус плати за винду плати за все программы плати за игры плати крім модів сталкера.А если пиратский софт ставить то винда превращается в хакерське гнезо и работать на таком не льзя из соображений безопасности что в наше время очень актуально.По моему ответил ответил как то вот так эх.
Кто из них диктатор и как так могло прищемить и где?
як хто дуче звичайно всі знають він один гад такий а ти говориш вінда яка там вінда тільки Лінукс
Windows выпускает свой дистрибутив на основе Линукс/В Линукс пытаются в "неэмулятор" Windows, а может Линукс просто не туда движеться? Где-то поперхнулся икрой Ричард)
> Windows выпускает свой дистрибутив на основе ЛинуксВсё таки Microsoft выпускает, у них интересы несколько шире чем Windows
> а может Линукс просто не туда движеться?
Тот же Microsoft помогает Линуксу двигаться в нужном (Майкрософту) направлении. Другим участникам тусовки кажется тоже норм, может кроме Valve ;)
>Программа WineCfg преобразована в формат PE (Portable Executable).Она же вроде и была такой?
У них (разработчиков) каждые 2 недели выпуски что ли?
С разморозкой.Уже лет 10 как.