URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 130720
[ Назад ]

Исходное сообщение
"Выпуск Wine 8.10"

Отправлено opennews , 10-Июн-23 08:06 
Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 8.10. С момента выпуска версии 8.9 было закрыто 13 отчётов об ошибках и внесено 271 изменение...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=59272


Содержание

Сообщения в этом обсуждении
"Выпуск Wine 8.10"
Отправлено НАГИЕВ.2024 , 10-Июн-23 08:06 
Закрыты отчёты об ошибках, связанные с работой приложений: ..., Adobe Premiere Pro CS3

под linoops теперь есть нормальный видеоредактор?


"Выпуск Wine 8.10"
Отправлено podman , 10-Июн-23 08:13 
Так это древняя версия, она начиная с wine 4.0 работала.

"Выпуск Wine 8.10"
Отправлено docker , 10-Июн-23 08:30 
ааа, вот оно что

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 08:50 
Ты так ноешь, будто умеешь им пользоваться

"Выпуск Wine 8.10"
Отправлено НАГИЕВ.2024 , 10-Июн-23 09:21 
что там уметь лол кек эщкере... кринжанул с микроэкзперда

"Выпуск Wine 8.10"
Отправлено Тот_Самый_Анонимус__ , 10-Июн-23 10:12 
Эта нейросеть ещё не проходит тест Тьюринга.

"Выпуск Wine 8.10"
Отправлено НАГИЕВ.2024 , 10-Июн-23 10:41 
не могу оценить корректность этого высказывания, потому что т.н. "тест Тьюринга" еще не собран под целевую архитектуру "Байкал"

"Выпуск Wine 8.10"
Отправлено Тот_Самый_Анонимус__ , 10-Июн-23 14:15 
ЧИТД. Пока одни баги.

"Выпуск Wine 8.10"
Отправлено svm , 10-Июн-23 09:36 
Нормальный, нативный видеоредактор есть давно и прекрасно работает:
Davinci Resolve.
Зачем вам Адобское поделие, да ещё под wine?

"Выпуск Wine 8.10"
Отправлено Аноним , 12-Июн-23 09:39 
DaVinci Resolve — это приложение для цветокоррекции и нелинейного редактирования видео для macOS

Оно не про фото


"Выпуск Wine 8.10"
Отправлено commiethebeastie , 12-Июн-23 18:02 
>Adobe Premiere Pro CS3
>Premiere

"Выпуск Wine 8.10"
Отправлено Любитель Монеточки , 10-Июн-23 08:36 
utorrent не нужен. qbittorrent - самый топ

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 08:38 
Ток не ной когда в очередной раз обнулится или похерит теги.

"Выпуск Wine 8.10"
Отправлено dannyD , 10-Июн-23 09:08 
мда, не я один это заметил ?

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 10:49 
Зачем они нужны? Может мне тоже надо.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 13:20 
А как еще порно искать в порнотеке? Только через теги и искать.

"Выпуск Wine 8.10"
Отправлено КО , 10-Июн-23 10:55 
Когда обнулится что?
Вы им сколько раз пользовались?

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 11:06 
Когда qBittorent обнулится. Что означает, "сколько"? Тысяч 200-300, не очень много, это второстепенный клиент всё же, для первичных организации данных и сортировки использовался. Но около 20 тысяч в списке и время, потраченное на категоризацию, потеряно в итоге. Или сколько раз запускался? Не больше 1000 раз, сложно сказать точнее. Время запуска около 1 часа, часто не позапускаешь.

"Выпуск Wine 8.10"
Отправлено Тот_Самый_Анонимус__ , 10-Июн-23 14:18 
>для первичных организации данных и сортировки использовался

Ваши стенания понятны, ведь баги — штука неприятная. Но эта программа создавалась не для того, для чего вы её используете.


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 14:26 
Как минимум 1 раз это был не баг, это было штатное обновление, когда разработчики решили, что это будет хорошая идея -- обнулить. Просто эти разрабы особенно криворукие. Зачем тогда ещё теги нужны, если их нельзя использовать?

"Выпуск Wine 8.10"
Отправлено Тот_Самый_Анонимус__ , 10-Июн-23 22:48 
> Зачем тогда ещё теги нужны, если их нельзя использовать?

Я не говорил «нельзя». Просто торрент-клиент это не каталогизатор, не так ли? Я могу с помощью ворда производить простейшее редактирование рисунков, но он не для этого создан.


"Выпуск Wine 8.10"
Отправлено Неуклюжий танцор , 11-Июн-23 09:35 
А у мня эта гадюка qbittorrent удалила файлы с раздачи, и начала качать заново, после обновления какой то версии. И ещё удалял файлы скачанные другими торрент клиентами

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 17:44 
Активно пользуюсь, люблю и всем рекомендую, но недавно случился неприятный казус. Слетели настройки, где я указал пускать трафик через интерфейс wireguard. Очень неприятно.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 18:28 
Или когда после переименования каталога в закачке вместо этого самого переименования создаст новый каталог с новым именем, перекинет туда непредсказуемую часть файлов, а остальные в старом оставит.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 10:23 
Transmission же.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 19:11 
Трансмиссия - это да. Единственная из всего испробованного, которая не могла стартовать закачку с полутора тысячами сидов и кучей пиров (какой-то линупc пытался скачать, уже не помню какой). Даже позорное глюкало, именуемое qbittorrent стартануло моментально и скачало минут за 10.

"Выпуск Wine 8.10"
Отправлено fumanchez , 10-Июн-23 10:59 
Может у меня и ложные воспоминания, но я не помню, чтобы uTorrent тормозил при штук 50 торрентах, в то время как qBittorrent заметно медленнее стартует, если его подзабить.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 11:08 
У меня qbittorent в районе часа стартовал, я не помню, чтобы какая-нибудь ещё программа так долго запускалась.

"Выпуск Wine 8.10"
Отправлено Аноньимъ , 11-Июн-23 20:51 
Сейчас кубит стартует моментально.

А вот закрывается довольно медленно.


"Выпуск Wine 8.10"
Отправлено Анониссимус , 10-Июн-23 11:09 
Хех, у меня 3к торрентов. Секунд 5 запускается, потом ещё секунд 30 запускает все торренты. Потом начинает обновлять все трекеры, это очень долго, но уже не вина торрент клиента.

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 11:44 
На ссд? У меня всего в 6 раз больше было и до показа окна час шуршания дисками.

"Выпуск Wine 8.10"
Отправлено Анониссимус , 10-Июн-23 16:17 
> На ссд? У меня всего в 6 раз больше было и до
> показа окна час шуршания дисками.

Нет, хдд. Реально час? Даже сложно представить, чем он там может час шуршать. Если он перепроверял хеши, то это он вообще делает уже при открытом окне. Может с файловой системой что? У меня btrfs, монтируется долго, где-то секунд 30, но потом работает быстро... Час -- это что-то за гранью разумного.


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 12:06 
Так это ты распространяешь пиратский контент?

"Выпуск Wine 8.10"
Отправлено penetrator , 10-Июн-23 11:32 
смысл в том, что они фиксят что-то важное в самом вайне, а то что начнет работать какое-то УГ - вторично

"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 11:41 
>Закрыты отчёты об ошибках, связанные с работой приложений: MSN Messenger Live 2009,

Чего?


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 13:21 
Разработчики примиавшие участие в создании MSN Messenger запустили его на Wine.
Отдай дань уважению старикам. Скажи спасибо за счастливое детство.

"Выпуск Wine 8.10"
Отправлено НАГИЕВ.2024 , 10-Июн-23 13:56 
спасибо разработчикам MSN Messenger за счастливое детство - в детстве я не знал об MSN Messenger

"Выпуск Wine 8.10"
Отправлено Аноним , 11-Июн-23 14:33 
Аналогично. Я понятия не имел о существовании MSN Messenger. Спустя много лет я узнал что это такое. Никто из знакомых не пользовался этим. Моим первым мессенджером был ICQ как и у всех окружающих.  

"Выпуск Wine 8.10"
Отправлено Боб Джонс , 13-Июн-23 09:30 
Ну не знаю, в своём chuldhood я использовал AOL

"Выпуск Wine 8.10"
Отправлено Аноним , 15-Июн-23 22:05 
> MSN Messenger

Это такая же хрень как и антивирус McAffie. Всем он был принудительно установлен, но никто им не пользовался ;)


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 11:49 
>Для трансляции всех обращений из PE-файлов в Unix-библиотеки задействован интерфейс системных вызовов.

Я не понял, зачем это. Системных вызовов же стараются избегать. Почему нельзя просто прыгнуть в динамически загруженную библиотеку, зачем ядро привлекать?


"Выпуск Wine 8.10"
Отправлено n00by , 10-Июн-23 12:51 
Один из коммитов, где вызовы переводится на "сисколы"
win32u: Use syscall interface for all ntuser functions
https://gitlab.winehq.org/wine/wine/-/commit/0492108ae8367df...

Работу с "сисколами" можно глянуть здесь https://gitlab.winehq.org/wine/wine/-/blob/wine-8.10/dlls/wo...

Вот это, как я понимаю, непосредственно вызов через таблицу:


/**********************************************************************
*           Wow64SystemServiceEx  (wow64.@)
*/
NTSTATUS WINAPI Wow64SystemServiceEx( UINT num, UINT *args )
{
    NTSTATUS status;
    UINT id = num & 0xfff;
    const SYSTEM_SERVICE_TABLE *table = &syscall_tables[(num >> 12) & 3];

    if (id >= table->ServiceLimit || !table->ServiceTable[id])
    {
        ERR( "unsupported syscall %04x\n", num );
        return STATUS_INVALID_SYSTEM_SERVICE;
    }
    __TRY
    {
        syscall_thunk thunk = (syscall_thunk)table->ServiceTable[id];
        status = thunk( args );
    }
    __EXCEPT( syscall_filter )
    {
        status = GetExceptionCode();
    }
    __ENDTRY
    free_temp_data();
    return status;
}

То есть в формулировке "All PE->Unix transitions go through the syscall interface" интерфейсом системных вызовов названа вот такая "эмуляция SSDT", в не вызов ядра через шлюз (что обычно называют сисколом).


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 13:35 
Спасибо. Но опять, зачем? Выглядит, как будто такое медленнее, да ещё и процессору предсказание переходов портит.

"Выпуск Wine 8.10"
Отправлено n80 , 10-Июн-23 14:23 
Как я понимаю, для улучшения совместимости с выдернутыми пользователем/инсталлятором нативными библиотеками из винды. Ну и с приложениями, которые недокументированные функции дёргают.

"Выпуск Wine 8.10"
Отправлено Ivan_83 , 10-Июн-23 17:44 
Сискол в любом случае портит процессору предсказание переходов и тп, ибо там идёт сохранение регистров и переключение контекстов.

"Выпуск Wine 8.10"
Отправлено n00by , 10-Июн-23 18:58 
По первой ссылке видно -- была в каждом файле отдельная таблица

static struct unix_funcs unix_funcs =
{
-    NtUserDrawCaptionTemp,
-    NtUserDrawMenuBarTemp,
-    NtUserEndPaint,
-    NtUserExcludeUpdateRgn,
-    NtUserReleaseDC,
-    NtUserScrollDC,
-    NtUserSelectPalette,
-    NtUserUpdateLayeredWindow,

и вызывался сервис (системная функция) вот так:

BOOL WINAPI NtUserDrawCaptionTemp( HWND hwnd, HDC hdc, const RECT *rect, HFONT font,
                                   HICON icon, const WCHAR *str, UINT flags )
{
    if (!unix_funcs) return FALSE;
    return unix_funcs->pNtUserDrawCaptionTemp( hwnd, hdc, rect, font, icon, str, flags );
}


Теперь обобщили и всё вызывается через единый переходник. Про цели не знаю. В оригинальной NT с каждым ядром и сервипаком индексы системных сервисов меняются, потому их и там наверняка и в вирусах используют лишь в исключительных случаях; так что вряд ли это что-то даст для совместимости. Вероятно, так удобнее поддерживать.

По скорости вызова мало что изменилось, добавилась одна команда для вычисления адреса в таблице по индексу сервиса. Косвенное обращение в и в предыдущем варианте есть. Предсказатель в данном случае смотрит на адрес, откуда был вызов и предшествующие команды, а не адрес в таблице переходов:

2.4.2.3 Branch Prediction

Branch prediction predicts the branch target and enables the processor to begin executing instructions
long before the branch true execution path is known. All branches utilize the branch prediction unit (BPU)
for prediction. This unit predicts the target address not only based on the EIP of the branch but also
based on the execution path through which execution reached this EIP. The BPU can efficiently predict the
following branch types:
• Conditional branches.
• Direct calls and jumps.
• Indirect calls and jumps.
• Returns.


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 19:59 
Спасибо.

>Предсказатель в данном случае смотрит на адрес, откуда был вызов и предшествующие команды, а не адрес в таблице переходов

В том то и дело. Раньше были обёртки, у каждой - свой адрес. Теперь - общая обёртка с одним и тем же адресом на всех. Если я верно понимаю.


"Выпуск Wine 8.10"
Отправлено n00by , 11-Июн-23 14:02 
Общий диспетчер с переходом по таблице - это классическая схема для всяких интерпретаторов, где после перехода выполняется всего несколько команд, а потому ошибки предсказателя дорого стоят, и это дело вроде как продумали:

This unit predicts the target address not only based on the EIP of the branch but also
based on the execution path through which execution reached this EIP.

EIP - это регистр указатель инструкций. Предсказатель смотрит не только адрес команды перехода, но и путь, по которому процессор дошел до этого адреса (скорее всего, запоминает предшествующие переходы).

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


"Выпуск Wine 8.10"
Отправлено Аноним , 12-Июн-23 12:07 
> В оригинальной NT с каждым ядром и сервипаком индексы системных сервисов меняются, потому их и там наверняка и в вирусах используют лишь в исключительных случаях; так что вряд ли это что-то даст для совместимости.

Не совсем. Индексы меняются, но их порядок и взаимное расположение если и изменяется, то несущественно. Поэтому очень многие "сомнительного рода" программы, типа вирусов, античитов и прочих пакеров, активно на это полагаются.

Другое дело, что в Wine порядок индексов полностью отличается от виндового (он алфавитный, а не исторический как в винде), поэтому ЯХЗ чего они хотели добиться этими изменениями.


"Выпуск Wine 8.10"
Отправлено n00by , 13-Июн-23 08:18 
>> В оригинальной NT с каждым ядром и сервипаком индексы системных сервисов меняются, потому их и там наверняка и в вирусах используют лишь в исключительных случаях; так что вряд ли это что-то даст для совместимости.
> Не совсем. Индексы меняются, но их порядок и взаимное расположение если и
> изменяется, то несущественно.

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

NtClose      0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000c       0x000d       0x000e       0x000d       0x000e       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f       0x000f

Windows X86-64 System Call Table (XP/2003/Vista/2008/7/2012/8/10) https://j00ru.vexillium.org/syscalls/nt/64/

То есть перед вызовом надо узнать версию ОС (просто прочитать, отображается в пространство пользователя через KUSER_SHARED_DATA) и выбрать соответствующий. И так для каждого сервиса.

Что даёт "взаимное расположение если и изменяется, то несущественно"? Если бы мне были нужны эти индексы - я бы при помощи упрощенного дизассемблера вытаскивал их из ntdll.dll. Кажется, для того достаточно разобрать таблицу экспорта, а полагаться на неизменность взаимного расположения не стоит.

> Поэтому очень многие "сомнительного рода" программы, типа
> вирусов, античитов и прочих пакеров, активно на это полагаются.

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

> Другое дело, что в Wine порядок индексов полностью отличается от виндового (он
> алфавитный, а не исторический как в винде), поэтому ЯХЗ чего они
> хотели добиться этими изменениями.

Ну порядок как раз не сложно изменить, если потребуется. Может быть так проще, пока отлаживают.


"Выпуск Wine 8.10"
Отправлено Риск , 10-Июн-23 15:09 
Один раз нормально сделанные для винды игры (да и в целом программы)  работают до сих пор повсеместно!

А какие-то даже получают улучшения
https://www.youtube.com/watch?v=xc6oRzI9DOE


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


"Выпуск Wine 8.10"
Отправлено Аноним , 10-Июн-23 18:45 
Играю на десятке в Postal 2. Стоковый D3D8 рендер постоянно крашится исключениями. Советовали включить OpenGL рендер, но я решил попробовать d8vk. Не крашится, но статтеры при компиляции шейдеров постоянно случаются.

"Выпуск Wine 8.10"
Отправлено Аноним , 11-Июн-23 08:57 
http://dege.freeweb.hu/

"Выпуск Wine 8.10"
Отправлено Аноним , 11-Июн-23 00:24 
> Закрыты отчёты об ошибках
> MSN Messenger Live 2009

O_o У кого-то протекла криокамера?


"Выпуск Wine 8.10"
Отправлено Аноним , 11-Июн-23 09:03 
Меня больше впечатляет, что оно работает. Обратная совместимость здорового человека.