LINUX.ORG.RU

В Wine Staging (wine-compholio) добавлен набор патчей CSMT

 


3

2

Wine Staging - это набор патчей для WINE, которые еще не приняты(либо не будут приняты) в WINE

Список патчей активно пересматривается, при принятии патча в WINE он удаляется из Wine Staging и после выпуска очередной версии WINE следует выпуск Wine Staging с тем же номером.

Как бонус к патчам CSMT добавлена система переключения .dll (DLL Redirects), которая позволяет переключать используемую версию библиотеки налету (wined3d.dll и wined3d-csmt.dll в случае CSMT).
Детально описано тут

Также добавлены ключи реестра для определения системы в роли TabletPC и/или MediaCenter, и ключ для установки лимита саунд-буферов (по умолчанию установлен 4)
Детально описано тут

Список патчей текущей версии (1.7.33):

  • ATL IOCS data should not be stored in GWLP_USERDATA (Wine Bug #21767)
  • Add Dynamic DST exceptions for Israel Standard Time (Wine Bug #36374)
  • Add default ACLs for user shell folders
  • Add stub for NtSetLdtEntries/ZwSetLdtEntries (Wine Bug #26268)
  • Add support for GetPropValue to PulseAudio backend
  • Adobe Reader needs ITextSelection_fnGetDuplicate implementation
  • Allow selection of audio device for PulseAudio backend
  • Allow special characters in pipe names (Wine Bug #28995)
  • Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW
  • Audio stuttering and performance drops in multiple applications (Wine Bug #30639)
  • Avoid crashing when broken app tries to release surface although refcount is zero (Wine Bug #18477)
  • Avoid race-conditions of async WSARecv() operations with write watches.
  • Black & White needs DXTn software decoding support (Wine Bug #14939)
  • Correctly treat '.' when checking for empty directories (Wine Bug #26272)
  • D3DCompileShader should filter specific warning messages (Wine Bug #33770)
  • Do not fail when a used context is passed to wglShareLists (Wine Bug #11436)
  • Don't fill KdHelp structure for usermode applications (Wine Bug #37272)
  • Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 (Wine Bug #33849)
  • Emulate write to CR4 register (Wine Bug #30220)
  • Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages (Wine Bug #33162)
  • Exception during start of fr-043 caused by missing DXTn support (Wine Bug #37391)
  • FEAR 1 installer expects basic_string_wchar_dtor to return NULL (Wine Bug #37358)
  • FairplayKD.sys needs KeSetSystemAffinityThread (Wine Bug #36822)
  • Fix black screen on startup introduced by pixelformat changes. (Wine Bug #35950)
  • Fix comparison of punctuation characters in lstrcmp (Wine Bug #10767)
  • Fix condition mask handling in RtlVerifyVersionInfo (Wine Bug #36143)
  • Fix crash of Trine Demo on start (Wine Bug #19231)
  • Fix crash of winedevice when relocation entry crosses page boundary (Wine Bug #28254)
  • Fix flickering introduced by pixelformat changes. (Wine Bug #35718)
  • Fix for ConnectNamedPort return value in overlapped mode (Wine Bug #16550)
  • Fix for programs leaking wndproc slots (Wine Bug #32451)
  • Fix gray screen on startup introduced by pixelformat changes. (Wine Bug #35975)
  • Fix handling of empty section and key name for profile files. (Wine Bug #8036)
  • Fix handling of invert_y in DrawTextExW (Wine Bug #22109)
  • Fix issues when driver dispatch routine returns different status codes (Wine Bug #30155)
  • Fix issues with dragging layers between images in Adobe Photoshop 7.0 (Wine Bug #12007)
  • Fix missing video introduced by pixelformat changes. (Wine Bug #36900)
  • Fix possible segfault in pulse_rd_loop of PulseAudio backend
  • Fix return value of ScrollWindowEx for invisible windows (Wine Bug #37706)
  • Fix texture corruption in CSI: Fatal Conspiracy (Wine Bug #33768)
  • Fix unintentional leaks with ntdll internals
  • Fix wined3d performance drop introduced by pixelformat changes. (Wine Bug #35655)
  • Games For Windows Live 1.x expects a valid linker version in the PE header (Wine Bug #28768)
  • GetSecurityInfo returns NULL DACL for process object (Wine Bug #15980)
  • Ignore unsupported flags for CoInternetSetFeatureEnabled (Wine Bug #35197)
  • Implement a Microsoft Yahei replacement font (Wine Bug #13829)
  • Implement an Arial replacement font (Wine Bug #32323)
  • Implement exclusive mode in PulseAudio backend (Wine Bug #37042)
  • Implement stubs for mfplat.MFStartup and MFShutdown (Wine Bug #37701)
  • Improvement for heap allocation performance
  • Initialize irp.Tail.Overlay.OriginalFileObject with stub file object (Wine Bug #37537)
  • Lego Stunt Rally requires DXTn software de/encoding support (Wine Bug #25486)
  • Limit cross thread access to ImmSet* functions (Wine Bug #35361)
  • Lockfree algorithm for filedescriptor cache (improves file access speed)
  • MSVCRT crashes when NULL is passed as string to atof or strtod (Wine Bug #32550)
  • Make it possible to change media center / tablet pc status (Wine Bug #18732)
  • Multiple applications need EnumDisplayDevicesW implementation (Wine Bug #34978)
  • Need for Speed 3 installer requires devices in HKEY_DYN_DATA (Wine Bug #7115)
  • Other Pipelight-specific enhancements
  • Prevent window managers from grouping all wine programs together (Wine Bug #32699)
  • Provide named entry point shell32.SHILCreateFromPath for vista apps (Wine Bug #37265)
  • Reallocate buffer when adding records to AVI files (Wine Bug #5137)
  • Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
  • Return an error when trying to open a terminated process (Wine Bug #37087)
  • Return correct IMediaSeeking stream positions in quartz (Wine Bug #23174)
  • Return correct values for GetThreadTimes function (Wine Bug #20230)
  • Return more context attributes in schan_InitializeSecurityContextW (Wine Bug #37527)
  • SO_CONNECT_TIME returns the appropriate time
  • Send WM_PAINT event during dialog creation (Wine Bug #35652)
  • Set last error when GetRawInputDeviceList fails (Wine Bug #37667)
  • Support for AllocateAndGetTcpExTableFromStack (Wine Bug #34372)
  • Support for BindImageEx (Wine Bug #3591)
  • Support for CSMT (command stream) to increase graphic performance (Wine Bug #11674)
  • Support for D3DXGetShaderInputSemantics (Wine Bug #22682)
  • Support for DOS hidden/system file attributes (Wine Bug #9158)
  • Support for Dynamic DST (daylight saving time) information in registry
  • Support for GdipCreateRegionRgnData (Wine Bug #34843)
  • Support for GetFinalPathNameByHandle (Wine Bug #36073)
  • Support for GetSystemTimes (Wine Bug #19813)
  • Support for GetVolumePathName
  • Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh (Wine Bug #32572)
  • Support for ITextDocument_fnRange function (Wine Bug #12458)
  • Support for ITextRange, ITextFont and ITextPara (Wine Bug #18303)
  • Support for Junction Points (Wine Bug #12401)
  • Support for K32EnumProcessModulesEx (Wine Bug #34864)
  • Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath (Wine Bug #30385)
  • Support for LoadIconMetric (Wine Bug #35375)
  • Support for NtQuerySection (Wine Bug #37338)
  • Support for NtSetInformationFile class FileDispositionInformation (Wine Bug #30397)
  • Support for PulseAudio backend for audio (Wine Bug #10495)
  • Support for RtlDecompressBuffer (Wine Bug #37449)
  • Support for SHCreateSessionKey (Wine Bug #35630)
  • Support for StrCatChainW
  • Support for TOOLTIPS_GetTipText edge cases (Wine Bug #30648)
  • Support for TransmitFile (Wine Bug #5048)
  • Support for UTF7 encoding/decoding (Wine Bug #27388)
  • Support for WTSEnumerateProcessesW (Wine Bug #29903)
  • Support for combase HSTRING objects
  • Support for extra large and jumbo icon lists in shell32 (Wine Bug #24721)
  • Support for inherited file ACLs (Wine Bug #34406)
  • Support for interface change notifications (Wine Bug #32328)
  • Support for loader dll redirections
  • Support for pasting HTML from Unix applications (Wine Bug #7372)
  • Support for process ACLs (Wine Bug #22006)
  • Support for setcap on wine-preloader (Wine Bug #26256)
  • Support for stored file ACLs (Wine Bug #31858)
  • Support for wine64 on FreeBSD/PC-BSD (Wine Bug #34330)
  • Tumblebugs 2 requires DXTn software encoding support (Wine Bug #29586)
  • Unity3D Editor requires ProductId registry value (Wine Bug #36964)
  • Update a XIM candidate position when cursor location changes (Wine Bug #30938)
  • Use manual relay for RunDLL_CallEntry16 in shell32 (Wine Bug #23033)
  • Voobly expects correct handling of WRITECOPY memory protection (Wine Bug #29384)
  • Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk (Wine Bug #20465)
  • Workaround for shlwapi URLs with relative paths
  • XEMBED support for embedding Wine windows inside Linux applications
  • nVidia driver for high-end laptop cards does not list all supported resolutions
  • vSphere needs IoCsqInitialize (Wine Bug #36777)
  • wglDescribePixelFormat should return max index for NULL descriptor (Wine Bug #6176)
  • wininet should allow Accept-Encoding header for HTTP/1.0 (Wine Bug #37046)


Домашняя страница (в разработке)
Wiki

>>> Git

★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от sehellion

Можете подкинуть инструкцию по сборке вайна для PoL?

думаю ничем не отличается от обычной сборки
просто собрать и закинуть нужное в ~/.PlayOnLinux/wine/linux-x86/версия

anTaRes ★★★★ ()

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

anonymous ()
Ответ на: комментарий от anTaRes

жопорукий однострочник, если кому нужен:

а вот жопорукий юзерскрипт для Greasemonkey, который скрывает кроме [cut] еще и [code]
как-то так получается в итоге: http://i.imgur.com/pFPjKKr.png

// ==UserScript==
// @name        LOR spoiler
// @namespace   linux.org.ru
// @description Add spoiler functionality
// @include     https://linux.org.ru/*
// @include     https://www.linux.org.ru/*
// @version     1
// @grant       none
// ==/UserScript==

$script.ready('jquery',function(){
  console.log('LOR spoiler is ON');
  
  // spoiler
  var cuts = $('[id ^= cut]');
  cuts.each(function(){
    var cut_id = $(this).attr('id');
    $(this).hide();
    $(this)
      .before(
        '<a '+
          'id="spoiler-'+ cut_id +'" '+
          'href="javascript:void(0);" '+
          'onClick="javascript:$(\'#'+ cut_id +'\').css(\'display\')==\'none\'?$(\'#'+ cut_id +'\').show():$(\'#'+ cut_id +'\').hide();">'+
          'spoiler&nbsp;&gt;&gt;'+
        '</a>'
      );
  });
  
  // code
  var code_id = 0;
  $('.code').each(function(){
    $(this).attr('id','hide-code'+ code_id).hide();
    $(this)
      .before(
        '<a '+
          'id="spoiler-hide-code'+ code_id +'" '+
          'href="javascript:void(0);" '+
          'onClick="javascript:$(\'#hide-code'+ code_id +'\').css(\'display\')==\'none\'?$(\'#hide-code'+ code_id +'\').show():$(\'#hide-code'+ code_id +'\').hide();">'+
          'spoiler&nbsp;&gt;&gt;'+
        '</a>'
      );
    code_id+=1;
  });
});

anTaRes ★★★★ ()
Ответ на: комментарий от sehellion

т.е. просто make, а затем скопировать?

скорее всего
не попробуешь - не узнаешь

anTaRes ★★★★ ()
Ответ на: комментарий от carasin

С недавнего времени в сборки Wine в Fedora стали включать патчи Compholio

В Росе аналогично, кстати. В wine включен патчсет staging, а в wine-stable (1.6.x) нет.

Pulfer ()
Ответ на: комментарий от anTaRes

Блин=\ А я то думал там что-то более серьезное, с этим патчем wine64 работает под FreeBSD, но уж как-то очень плоховатенько=\
Просто в репах FreeBSD лежит wine, собранный с compholio, я уж думал вот оно счастье, ну хоть csmt будет теперь из коробки.

anonymous ()

добавлен набор патчей CSMT

Написали бы хоть кратко что за набор патчей такой.

Sectoid ★★★★★ ()
Ответ на: комментарий от sehellion

там еще make install надо с каким-то параметром, чтобы поставилось не в систему, а в нужный Вам каталог, и уже этот каталог запихнуть в ~/.PlayOnLinux/wine/linux-x86

anonymous ()

Давний баг с зависоном в Crysis 2 словно рукой сняло!

carasin ★★★★★ ()
Ответ на: комментарий от anTaRes

Спасибо за ебилд! Тоже замутю в свой оверлей, а то от официальных мейнтейнеров в последнее время ничего не дождешься. Подскажите пожалуйста, как его бампать в следующих версиях: просто переименовывать версию ебилда и изменять версию Gecko и Mono по необходимости или потребуется что-то еще? Просто я с ебилдами плохо знаком и если в дальнейшем потребуется изменить что-то в процедурах сборки пакета, я боюсь, что не справлюсь.

Rinaldus ★★★★★ ()
Ответ на: комментарий от Rinaldus

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

Господа, кто ебилды пишет, не подскажете: вот вы в процессе написания самого ебилда как софт этот собираете? Не вкурил до конца в sandbox. По идее он же не даёт делать что-то типа make && make install. А как мне проверить работоспособность проги, если ебилда ещё в природе нет? Дабы систему не загадить вне пакетного менеджера потом make uninstall или как вообще?

DiversantBivnev ()
Ответ на: комментарий от DiversantBivnev

Собирай прогу, инсталлируй в хомяк. Потом ручками прописываешь переменные PATH, LD_LIBRARY_PATH.

Сэндбокс вообще не дает выйти за пределы одного каталога.

anonymous ()
Ответ на: комментарий от anonymous

Просто встречалось словосочетание «собирай в песочнице». Но не зная досконально что есть суть оной начал думать в сторону sandbox'a. Помойку вне пакетного менеджера разводить... сами понимаете.

DiversantBivnev ()
Ответ на: комментарий от Rinaldus

Подскажите пожалуйста, как его бампать в следующих версиях: просто переименовывать версию ебилда и изменять версию Gecko и Mono по необходимости или потребуется что-то еще?

насчет этого - да, но нужно дождаться когда версия появится в staging, иначе патчи не подтянутся

насчет бампа в принципе : в основном все из портежа легко бампится сменой версии, иногда нужно поотключать лишние патчи вшитые в ебилд. Свои патчи можно кидать в /etc/portage/patch/группа/имя/01_имя_патча.patch , например.

обычно я делаю так:

  • копирую имя пакета в буфер (app-emulation/wine)
  • иду в корень своего оверлея в консоли
  • mkdir -p <Shift+Insert>
  • cd <Shift+Insert>
  • rsync -av /home/portage/<Shift+Insert>/* .
  • mv name-<Tab> name-<новая версия>.ebuild
  • ebuild name-<новая версия>.ebuild digest

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

    вот например x11-misc/qt5ct/qt5ct-0.3.ebuild так получился (Qt5 Configuration Tool 0.3), просто нашел ебилд проги которая под qt5 собирается и перетянул нужные куски (eqmake5):

    # Copyright 1999-2014 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    # $Header: $
    
    EAPI=5
    
    inherit qmake-utils
    
    DESCRIPTION="Qt5 Configuration Tool"
    HOMEPAGE="http://zenway.ru/page/qt5ct"
    SRC_URI="http://opendesktop.org/CONTENT/content-files/168066-qt5ct-0.3.tar.bz2"
    
    LICENSE="BSD"
    SLOT="0"
    KEYWORDS="~x86 ~amd64"
    IUSE=""
    
    DEPEND="
    	dev-qt/qtgui:5
    	dev-qt/qtsvg:5
    "
    RDEPEND="${DEPEND}"
    
    DOCS=( README TODO )
    
    src_configure(){
    	eqmake5 PLUGIN_INSTALL_PATH="${EPREFIX}/usr/$(get_libdir)/${PN}" qt5ct.pro
    }
    
    src_install() {
    	emake INSTALL_ROOT="${D}" install
    	einstalldocs
    }
    

    ну а дальше просто собираешь/правишь до тех пор пока не соберется и не установится как нужно (equery f <пакет> - посмотреть файлы установленные пакетом)

    если нужно новый сделать качественно, то распаковываешь прогу куданть в темп, и внимательно читаешь ./configure --help
    потом нужные параметры превращаешь в юзы в ебилде, а после сборки в темпе решаешь нужны костыли в ебилде для этого пакета или нет

    как-то так

anTaRes ★★★★ ()
Ответ на: комментарий от anTaRes

Спасибо за краткий ман с полезными советами касательно написаний ебилдов. Практически человеческим языком получилось объяснение.

DiversantBivnev ()
Ответ на: комментарий от ZenitharChampion

nine кстати недавно затащили в mesa/master

anonymous ()

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

cheez ★★ ()
Ответ на: комментарий от Chaser_Andrey

Можно узнать название (или адрес) оверлея?

это мой локальный патч
можно пробовать собирать вайн после переименования пропатченого ебилда, предыдущая версия (1.7.34) точно собирается

в wine-staging вроде прикрутили уже поддержку epatch, ткчто на днях попробую разобраться и возможно выложу наработки куданть

anTaRes ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.