The OpenNET Project / Index page

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

Выпуск Wine 8.10

10.06.2023 07:41

Состоялся экспериментальный выпуск открытой реализации WinAPI - Wine 8.10. С момента выпуска версии 8.9 было закрыто 13 отчётов об ошибках и внесено 271 изменение.

Наиболее важные изменения:

  • Для трансляции всех обращений из PE-файлов в Unix-библиотеки задействован интерфейс системных вызовов. В win32u на интерфейс системных вызовов переведены все экспортируемые функции и функции ntuser.
  • Улучшена поддержка ограничения (clipping) перемещения курсора мыши заданной областью на экране.
  • Добавлена поддержка заполнителей виртуальной памяти (зарезервированные области памяти с типом placeholder). В библиотеке ntdll в функции NtFreeVirtualMemory() добавлена поддержка флага MEM_COALESCE_PLACEHOLDERS, а в функции NtUnmapViewOfSectionEx() флага MEM_PRESERVE_PLACEHOLDER.
  • Обновлены файлы с локалью и базой часовых поясов.
  • Закрыты отчёты об ошибках, связанные с работой приложений: MSN Messenger Live 2009, Lync 2010, Adobe Premiere Pro CS3, Quicken 201X, uTorrent 2.2.0, Creo Elements/Direct Modeling Express 4.0/6.0, Honeygain, PmxEditor 0.2.7.5,
  • Закрыты отчёты об ошибках, связанные с работой игры Animated Puzzles.


  1. Главная ссылка к новости (https://www.winehq.org/announc...)
  2. OpenNews: Apple представил инструментарий для портирования игр, основанный на Wine
  3. OpenNews: Выпуск Wine 8.9
  4. OpenNews: Проект Wine опубликовал Vkd3d 1.7 с реализацией Direct3D 12
  5. OpenNews: Стабильный релиз Wine 8.0
  6. OpenNews: Компания Valve выпустила Proton 8.0-2, пакет для запуска Windows-игр в Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59272-wine
Ключевые слова: wine
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, НАГИЕВ.2024 (?), 08:06, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    Закрыты отчёты об ошибках, связанные с работой приложений: ..., Adobe Premiere Pro CS3

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

     
     
  • 2.2, podman (?), 08:13, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так это древняя версия, она начиная с wine 4.0 работала.
     
     
  • 3.3, docker (?), 08:30, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ааа, вот оно что
     
  • 2.6, Аноним (6), 08:50, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты так ноешь, будто умеешь им пользоваться
     
     
  • 3.8, НАГИЕВ.2024 (?), 09:21, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • –8 +/
    что там уметь лол кек эщкере... кринжанул с микроэкзперда
     
     
  • 4.10, Тот_Самый_Анонимус__ (?), 10:12, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Эта нейросеть ещё не проходит тест Тьюринга.
     
     
  • 5.13, НАГИЕВ.2024 (?), 10:41, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    не могу оценить корректность этого высказывания, потому что т.н. "тест Тьюринга" еще не собран под целевую архитектуру "Байкал"
     
     
  • 6.37, Тот_Самый_Анонимус__ (?), 14:15, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ЧИТД. Пока одни баги.
     
  • 2.9, svm (??), 09:36, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Нормальный, нативный видеоредактор есть давно и прекрасно работает:
    Davinci Resolve.
    Зачем вам Адобское поделие, да ещё под wine?
     
     
  • 3.62, Аноним (62), 09:39, 12/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    DaVinci Resolve — это приложение для цветокоррекции и нелинейного редактирования видео для macOS

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

     
     
  • 4.64, commiethebeastie (ok), 18:02, 12/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Adobe Premiere Pro CS3
    >Premiere
     

  • 1.4, Любитель Монеточки (?), 08:36, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    utorrent не нужен. qbittorrent - самый топ
     
     
  • 2.5, Аноним (5), 08:38, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ток не ной когда в очередной раз обнулится или похерит теги.
     
     
  • 3.7, dannyD (?), 09:08, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    мда, не я один это заметил ?
     
  • 3.14, Аноним (14), 10:49, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем они нужны? Может мне тоже надо.
     
     
  • 4.32, Аноним (32), 13:20, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А как еще порно искать в порнотеке? Только через теги и искать.
     
  • 3.16, КО (?), 10:55, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда обнулится что?
    Вы им сколько раз пользовались?
     
     
  • 4.18, Аноним (5), 11:06, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда qBittorent обнулится. Что означает, "сколько"? Тысяч 200-300, не очень много, это второстепенный клиент всё же, для первичных организации данных и сортировки использовался. Но около 20 тысяч в списке и время, потраченное на категоризацию, потеряно в итоге. Или сколько раз запускался? Не больше 1000 раз, сложно сказать точнее. Время запуска около 1 часа, часто не позапускаешь.
     
     
  • 5.38, Тот_Самый_Анонимус__ (?), 14:18, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >для первичных организации данных и сортировки использовался

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

     
     
  • 6.40, Аноним (5), 14:26, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как минимум 1 раз это был не баг, это было штатное обновление, когда разработчики решили, что это будет хорошая идея -- обнулить. Просто эти разрабы особенно криворукие. Зачем тогда ещё теги нужны, если их нельзя использовать?
     
     
  • 7.52, Тот_Самый_Анонимус__ (?), 22:48, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем тогда ещё теги нужны, если их нельзя использовать?

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

     
  • 7.57, Неуклюжий танцор (?), 09:35, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А у мня эта гадюка qbittorrent удалила файлы с раздачи, и начала качать заново, после обновления какой то версии. И ещё удалял файлы скачанные другими торрент клиентами
     
  • 3.46, Аноним (46), 17:44, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Активно пользуюсь, люблю и всем рекомендую, но недавно случился неприятный казус. Слетели настройки, где я указал пускать трафик через интерфейс wireguard. Очень неприятно.
     
  • 3.47, Аноним (47), 18:28, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Или когда после переименования каталога в закачке вместо этого самого переименования создаст новый каталог с новым именем, перекинет туда непредсказуемую часть файлов, а остальные в старом оставит.
     
  • 2.11, Аноним (11), 10:23, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Transmission же.
     
     
  • 3.50, Аноним (47), 19:11, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Трансмиссия - это да. Единственная из всего испробованного, которая не могла стартовать закачку с полутора тысячами сидов и кучей пиров (какой-то линупc пытался скачать, уже не помню какой). Даже позорное глюкало, именуемое qbittorrent стартануло моментально и скачало минут за 10.
     
  • 2.17, fumanchez (ok), 10:59, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Может у меня и ложные воспоминания, но я не помню, чтобы uTorrent тормозил при штук 50 торрентах, в то время как qBittorrent заметно медленнее стартует, если его подзабить.
     
     
  • 3.19, Аноним (5), 11:08, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    У меня qbittorent в районе часа стартовал, я не помню, чтобы какая-нибудь ещё программа так долго запускалась.
     
     
  • 4.60, Аноньимъ (ok), 20:51, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сейчас кубит стартует моментально.

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

     
  • 3.20, Анониссимус (?), 11:09, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хех, у меня 3к торрентов. Секунд 5 запускается, потом ещё секунд 30 запускает все торренты. Потом начинает обновлять все трекеры, это очень долго, но уже не вина торрент клиента.
     
     
  • 4.24, Аноним (5), 11:44, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На ссд? У меня всего в 6 раз больше было и до показа окна час шуршания дисками.
     
     
  • 5.44, Анониссимус (?), 16:17, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > На ссд? У меня всего в 6 раз больше было и до
    > показа окна час шуршания дисками.

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

     
  • 4.29, Аноним (29), 12:06, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это ты распространяешь пиратский контент?
     
  • 2.22, penetrator (?), 11:32, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    смысл в том, что они фиксят что-то важное в самом вайне, а то что начнет работать какое-то УГ - вторично
     

  • 1.23, Аноним (23), 11:41, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Закрыты отчёты об ошибках, связанные с работой приложений: MSN Messenger Live 2009,

    Чего?

     
     
  • 2.33, Аноним (32), 13:21, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разработчики примиавшие участие в создании MSN Messenger запустили его на Wine.
    Отдай дань уважению старикам. Скажи спасибо за счастливое детство.
     
     
  • 3.36, НАГИЕВ.2024 (?), 13:56, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    спасибо разработчикам MSN Messenger за счастливое детство - в детстве я не знал об MSN Messenger
     
     
  • 4.59, Аноним (59), 14:33, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аналогично. Я понятия не имел о существовании MSN Messenger. Спустя много лет я узнал что это такое. Никто из знакомых не пользовался этим. Моим первым мессенджером был ICQ как и у всех окружающих.  
     
     
  • 5.66, Боб Джонс (?), 09:30, 13/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не знаю, в своём chuldhood я использовал AOL
     
  • 3.67, Аноним (67), 22:05, 15/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > MSN Messenger

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

     

  • 1.25, Аноним (25), 11:49, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Для трансляции всех обращений из PE-файлов в Unix-библиотеки задействован интерфейс системных вызовов.

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

     
     
  • 2.31, n00by (ok), 12:51, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Один из коммитов, где вызовы переводится на "сисколы"
    win32u: Use syscall interface for all ntuser functions
    https://gitlab.winehq.org/wine/wine/-/commit/0492108ae8367dfe69d15879b14828765

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

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




    /**********************************************************************
    *           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", в не вызов ядра через шлюз (что обычно называют сисколом).

     
     
  • 3.35, Аноним (35), 13:35, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо. Но опять, зачем? Выглядит, как будто такое медленнее, да ещё и процессору предсказание переходов портит.
     
     
  • 4.39, n80 (?), 14:23, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как я понимаю, для улучшения совместимости с выдернутыми пользователем/инсталлятором нативными библиотеками из винды. Ну и с приложениями, которые недокументированные функции дёргают.
     
  • 4.45, Ivan_83 (ok), 17:44, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сискол в любом случае портит процессору предсказание переходов и тп, ибо там идёт сохранение регистров и переключение контекстов.
     
  • 4.49, n00by (ok), 18:58, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По первой ссылке видно -- была в каждом файле отдельная таблица

    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.

     
     
  • 5.51, Аноним (51), 19:59, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.

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

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

     
     
  • 6.58, n00by (ok), 14:02, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Общий диспетчер с переходом по таблице - это классическая схема для всяких интерпретаторов, где после перехода выполняется всего несколько команд, а потому ошибки предсказателя дорого стоят, и это дело вроде как продумали:

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

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

     
  • 5.63, Аноним (63), 12:07, 12/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В оригинальной NT с каждым ядром и сервипаком индексы системных сервисов меняются, потому их и там наверняка и в вирусах используют лишь в исключительных случаях; так что вряд ли это что-то даст для совместимости.

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

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

     
     
  • 6.65, n00by (ok), 08:18, 13/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Индекс нужен, что бы передать его аргументом как номер сервиса при вызове шлюз... большой текст свёрнут, показать
     

  • 1.43, Риск (?), 15:09, 10/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Один раз нормально сделанные для винды игры (да и в целом программы)  работают до сих пор повсеместно!

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


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

     
     
  • 2.48, Аноним (48), 18:45, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Играю на десятке в Postal 2. Стоковый D3D8 рендер постоянно крашится исключениями. Советовали включить OpenGL рендер, но я решил попробовать d8vk. Не крашится, но статтеры при компиляции шейдеров постоянно случаются.
     
     
  • 3.55, Аноним (55), 08:57, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    http://dege.freeweb.hu/
     

  • 1.53, Аноним (53), 00:24, 11/06/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Закрыты отчёты об ошибках
    > MSN Messenger Live 2009

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

     
     
  • 2.56, Аноним (55), 09:03, 11/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Меня больше впечатляет, что оно работает. Обратная совместимость здорового человека.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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