Yakagadzika kuburitswa kweWaini 5.0

Mushure megore rekusimudzira uye makumi maviri nemasere ekuedza shanduro yakaunzwa kuburitswa kwakasimba kwekushandiswa kwakavhurika kweWin32 API - Waini 5.0, iyo yaisanganisira chinjo dzinopfuura 7400. Izvo zvakakosha zvakawanikwa zveiyo vhezheni itsva zvinosanganisira kuendeswa kweakavakirwa-mukati Wine modules muPE fomati, kutsigirwa kweakawanda-monitor magadzirirwo, kutsva kwekuita kweXAudio2 audio API uye kutsigirwa kweVulkan 1.1 graphics API.

Muwaini yakasimbiswa kushanda kwakazara kwe4869 (gore rapfuura 4737) zvirongwa zveWindows, imwe 4136 (gore rapfuura 4045) zvirongwa zvinoshanda zvakakwana nekuwedzera marongero uye ekunze maDLL. 3635 zvirongwa zvine zvidiki zvekuita zvisingakanganise nekushandiswa kweakakosha mashandisirwo emabasa.

Key zvitsva Waini 5.0:

  • Modules mune PE fomati
    • Iine MinGW compiler, mazhinji maWine modules ave kuvakwa muPE (Portable Executable, inoshandiswa paWindows) inoitiswa faira fomati panzvimbo yeELF. Kushandiswa kwePE kunogadzirisa matambudziko nekutsigira akasiyana makopi ekudzivirira zvirongwa zvinosimbisa kuzivikanwa kwemasystem modules pa diski uye mundangariro;
    • PE executables iko zvino ikopwa ku ~/.wine ($WINEPREFIX) dhairekitori pane kushandisa dummy DLL mafaera, zvichiita kuti zvinhu zvifanane neiyo chaiyo Windows yekuisa, pamutengo wekudya yakawedzera disk nzvimbo;
    • Mamodule akashandurwa kuita PE fomati anogona kushandisa yakajairwa wchar C mabasa uye zvigadziriso zvine Unicode (semuenzaniso, L"abc");
    • Wine C nguva yekumhanya yakawedzera rutsigiro rwekubatanidza nemabhinari akavakirwa muMinGW, ayo anoshandiswa nekusarudzika panzvimbo yeMinGW yekumhanya pakuvaka DLL;
  • Graphics subsystem
    • Yakawedzerwa rutsigiro rwekushanda neakawanda monitors uye giraidhi adapta, kusanganisira kugona kushandura zvine simba marongero;
    • Mutyairi weVulkan graphics API yakagadziridzwa kuti ienderane neiyo Vulkan 1.1.126 yakatarwa;
    • Raibhurari yeWindowsCodecs inopa kugona kushandura mamwe mafomati eraster, kusanganisira mafomati ane indexed palette;
  • Direct3D
    • Paunenge uchimhanyisa yakazara-screen Direct3D zvikumbiro, iyo skrini saver inovharwa;
    • DXGI (DirectX Graphics Infrastructure) yakawedzera tsigiro yekuzivisa chikumbiro kana hwindo rayo rikadzikiswa, izvo zvinobvumira iyo application kudzikisa mashandiro ezvishandiso-akanyanya mashandiro pakuderedza hwindo;
    • Kune maapplication anoshandisa DXGI, zvave kugoneka kushandura pakati pe-yakazara-screen uye windowsed mode uchishandisa iyo Alt+Enter musanganiswa;
    • Kugona kweDirect3D 12 kuita kwakawedzerwa, semuenzaniso, iko zvino kune rutsigiro rwekuchinja pakati pe-yakazara-screen uye mahwindo modes, kushandura skrini modes, scaling kubuda uye kutonga iyo yekupa buffer yekutsiva nguva (swap interval);
    • Yakavandudzwa mabatiro eakasiyana siyana emuganho mamiriro, sekushandisa kunze-kwe-renji yekuisa kukosha kwekujeka uye kudzika bvunzo, kupa neinotaridza mameseji uye mabuffers, uye kushandisa zvisirizvo DirectDraw zvinhu. clips, kugadzira Direct3 zvishandiso zvemahwindo asina kururama, uchishandisa nzvimbo dzinoonekwa dzine hushoma parameter hunhu hwakaenzana nehupamhi, nezvimwe.
    • Direct3D 8 uye 9 inopa yakanyanya kurongeka yekutevera "tsvinaΒ» nzvimbo dzezvakaremerwa zvinyorwa;
    • Saizi yenzvimbo yekero inodiwa pakurodha 3D maumbirwo akatsikirirwa uchishandisa iyo S3TC nzira yakaderedzwa (panzvimbo yekurodha zvachose, maumbirwo anotakurwa mumachunks).
    • Interface yaitwa ID3D11Multithread kuchengetedza zvikamu zvakakosha mumapurogiramu ane tambo dzakawanda;
    • Kuvandudzwa kwakasiyana-siyana uye zvigadziriso zvine chekuita nekuverenga kwemwenje zvakaitirwa ekare DirectDraw maapplication;
    • Yaita mamwe mafoni kuti uwane ruzivo nezve shaders muAPI ShaderReflection;
    • wined3d ikozvino inotsigira blitter CPU-yakavakirwa pakugadzirisa zviwanikwa zvakamanikidzwa;
    • Iyo dhatabhesi yemakadhi emifananidzo anozivikanwa muDirect3D yakawedzerwa;
    • Yakawedzera makiyi matsva ekunyoresa HKEY_CURRENT_USERSoftwareWineDirect3D: "shader_backend" (backend yekushanda nemashader: "glsl" yeGLSL, "arb" yeARB vertex/fragment uye "hapana" kudzima shader rutsigiro), "strict_shader_math" ( 0x1 - gonesa, 0x0 - dzima Direct3D shader shanduko). Yakarasa kiyi ye "UseGLSL" (inofanira kushandisa "shader_backend");
  • D3DX
    • Tsigiro ye 3D mameseji ekumanikidza meshini S3TC (S3 Texture Compression) yaitwa;
    • Kuwedzerwa kwakaringana kuita kwekuita senge kuzadza mameseji uye nzvimbo dzisingagoneke;
    • Kuvandudzwa kwakasiyana-siyana uye zvigadziriso zvakaitwa kune chimiro chekugadzira zvinoonekwa;
  • Kernel (Windows Kernel Interfaces)
    • Mazhinji emabasa anoshandiswa muKernel32 akaendeswa kune
      KernelBase, inotevera shanduko muWindows architecture;

    • Kugona kusanganisa 32- uye 64-bit DLL mumadhairekitori anoshandiswa kurodha. Inoita shuwa kuti maraibhurari asingaenderane neazvino kudzika zvishoma anofuratirwa (32/64), kana zvichienderera mberi munzira zvinokwanisika kuwana raibhurari iyo yakaringana kudzika kwazvino;
    • Kune vatyairi vemidziyo, kutevedzera kwe kernel zvinhu kwakagadziridzwa;
    • Yakashandiswa kuwiriranisa zvinhu zvinoshanda padanho re kernel, senge spin locks, inokurumidza mutexes uye zvinosiyana zvakanamirwa kune sosi;
    • Inova nechokwadi chekuti maapplication anonyatso kuziviswa nezve mamiriro ebhatiri;
  • Mushandisi Interface uye Desktop Kubatanidzwa
    • Mahwindo akaderedzwa ave kuratidzwa uchishandisa bhaa yemusoro kwete yeWindows 3.1 style icon;
    • Akawedzera mabhatani maitiro matsva SplitButton (bhatani rine rondedzero yekudonha-pasi yezviito) uye Command Links (zvinongedzo mumabhokisi enhaurirano anoshandiswa kuenda kunhanho inotevera);
    • Symbolic links dzakagadzirirwa maforodha e'Downloads' uye 'Matemplate', achinongedza kudhairekitori dzinoenderana paUnix system;
  • Midziyo yekuisa
    • Pakutanga, madhiraivha anodiwa ePlug & Play anoiswa uye anotakurwa;
    • Rutsigiro rwakavandudzwa rwevatongi vemitambo, kusanganisira mini-joystick (hat switch), chidhiraivho, gasi uye mabhureki pedals.
    • Tsigiro yeiyo yekare Linux joystick API yakashandiswa muLinux kernels isati yasvika vhezheni 2.2 yamiswa;
  • .com
    • Injini yeMono yakagadziridzwa kusunungura 4.9.4 uye ikozvino inosanganisira zvikamu zveWindows Presentation Foundation (WPF) framework;
    • Yakawedzera kugona kuisa ma-add-ons neMono neGecko mune imwechete dhairekitori, kuisa mafaera mu /usr/share/waini hierarchy pane kuakopa kune zvitsva prefixes;
  • Networking maficha
    • Iyo Wine Gecko browser injini, iyo inoshandiswa muMSHTML raibhurari, yakagadziridzwa kuburitsa 2.47.1. Tsigiro yeHTML APIs itsva yaitwa;
    • MSHTML ikozvino inotsigira SVG zvinhu;
    • Yakawedzera mitsva yakawanda yeVBScript mabasa (somuenzaniso, kukanganisa uye kunze kwevashandi, Awa, Zuva, Mwedzi, String, LBound, RegExp.Replace, Π ScriptTypeInfo_* uye ScriptTypeComp_Bind * mabasa, nezvimwewo);
    • Inopa kuchengetedzwa kwekodhi yenyika muVBScript neJScript (script persistence);
    • Yakawedzera kutanga kwekutanga kwesevhisi yeHTTP (WinHTTP) uye yakabatana API (HTTPAPI) yemutengi uye server zvikumbiro zvinotumira uye kugamuchira zvikumbiro uchishandisa HTTP protocol;
    • Yakaitwa kugona kuwana HTTP proxy marongero kuburikidza neDHCP;
    • Yakawedzerwa rutsigiro rwekutungamira zvikumbiro zvehuchokwadi kuburikidza neMicrosoft Passport sevhisi;
  • Cryptography
    • Yakaitwa tsigiro yeelliptic curve cryptographic kiyi (ECC) kana uchishandisa GnuTLS;
    • Yakawedzera kugona kupinza makiyi uye zvitupa kubva mafaera muPFX fomati;
    • Yakawedzera tsigiro yekiyi chizvarwa chirongwa chakavakirwa paPBKDF2 password;
  • Mavara uye mafonti
    • Kuitwa kweDirectWrite API kwakawedzera rutsigiro rweOpenType maficha ane chekuita ne glyph positioning, iyo inogoneswa nekusarudzika kwechiLatin chimiro, kusanganisira kerning;
    • Kuvandudzwa kuchengetedzeka kwekugadzirisa font data nekutarisa iko kurongeka kwematafura akasiyana edata usati waashandisa;
    • DirectWrite interfaces yakaunzwa mumutsara neiyo yazvino SDK;
  • Inzwi uye vhidhiyo
    • Kuitwa kutsva kweiyo API inonzwika kwakarongwa XAudio2, yakavakirwa pahwaro hwepurojekiti FAudio. Kushandisa FAudio muWaini inokutendera iwe kuti uwane yakakwirira ruzha mhando mumitambo uye shandisa maficha akadai sevhoriyamu kusanganisa uye yepamusoro kurira mhedzisiro;
    • Huwandu hukuru hwekufona hutsva hwakawedzerwa mukuitwa kweMedia Foundation chimiro, kusanganisira tsigiro yeakavakirwa-mukati uye tsika asynchronous queues, Source Reader API, Media Session, nezvimwe.
    • Vhidhiyo yekutora sefa yakashandurwa kushandisa v4l2 API panzvimbo yev4l1 API, iyo yakawedzera huwandu hwemakamera akatsigirwa;
    • Iyo yakavakirwa-mukati AVI, MPEG-I uye WAVE decoders yakabviswa, panzvimbo iyo iyo system GStreamer kana QuickTime ikozvino inoshandiswa;
    • Yakawedzera chidimbu cheVMR7 kumisikidza APIs;
    • Yakawedzerwa rutsigiro rwekugadzirisa huwandu hwematanho ega ega kune madhiraivha anonzwika;
  • Kudyidzana
    • Unicode matafura akagadziridzwa kune shanduro 12.1.0;
    • Yakaitwa tsigiro ye Unicode normalization;
    • Yakapihwa otomatiki kuiswa kweiyo geographic dunhu (HKEY_CURRENT_USER \ Control Panel \ International \ Geo) zvichibva pane yazvino nzvimbo;
  • RPC/COM
    • Yakawedzerwa rutsigiro rwezvimiro zvakaoma uye arrays kune typelib;
    • Yakawedzerwa kwekutanga kushandiswa kweWindows Script runtime raibhurari;
    • Yakawedzerwa kwekutanga kushandiswa kweADO (Microsoft ActiveX Data Objects) raibhurari;
  • Installers
    • Tsigiro yekuunza zvigamba (Patch Files) yakaitwa kune iyo MSI installer;
    • IWUSA (Windows Update Standalone Installer) inoshandiswa ikozvino ine kukwanisa kuisa zvinyorwa mu .MSU format;
  • ARM chikuva
    • Kune iyo ARM64 yekuvaka, tsigiro yekusunungura stack yakawedzerwa kune ntdll. Yakawedzerwa rutsigiro rwekubatanidza ekunze libunwind library;
    • Kune iyo ARM64 dhizaini, tsigiro yeasina musono proxies yakaitwa kune chinhu chinopindirana;
  • Zvishandiso zvekuvandudza / Winelib
    • Yakawedzera kugona kushandisa debugger kubva kuVisual Studio kuenda kure kure debug application inomhanya muWaini;
    • Iyo DBGENG (Debug Engine) raibhurari yakaitwa zvishoma;
    • Mabhinari akaunganidzwa eWindows haachatsamira pa libwine, achivabvumira kuti vamhanye paWindows pasina zvimwe zvinotsamira;
    • Yakawedzerwa '--sysroot' sarudzo kune Resource Compiler uye IDL Compiler kuona nzira yemafaira emusoro;
    • Yakawedzerwa '-target', '-wine-objdir' sarudzo kune winegcc
      '-winebuild' uye '-fuse-ld', iyo inorerutsa kumisikidza nharaunda yekuyambuka-kuunganidza;

  • Embedded Applications
    • Yakaitwa CHCP utility kugadzirisa console encoding;
    • Chishandiso cheMSIDB chekushandisa dhatabhesi muMSI fomati chaitwa;
  • Kugadzirisa mashandiro
    • Mabasa akasiyana-siyana ekugadzirisa nguva akatamiswa kuti ashandise yakakwirira-inoshanda system timer mabasa, kuderedza kumusoro mukupa loop yemitambo mizhinji;
    • Yakawedzera kugona kushandisa Ext4 muFS hurumende shanda pasina nyaya yekunzwa;
    • Kuita kwekugadzirisa huwandu hukuru hwezvinhu murondedzero yekuratidzira dialog inoshanda muLBS_NODATA modhi yakagadziridzwa;
    • Yakawedzera kukurumidza kuita kweSRW kukiya (Slim Reader/Munyori) yeLinux, yakashandurirwa kuFutex;
  • Kutsamira kunze
    • Kuunganidza ma modules mu PE format, MinGW-w64 cross-compiler inoshandiswa;
    • Kuita XAudio2 kunoda iyo FAudio raibhurari;
    • Kuteedzera shanduko yefaira paBSD masisitimu
      iyo Inotify raibhurari inoshandiswa;

    • Kuti ubate zvisiri papuratifomu yeARM64, raibhurari yeUnwind inodiwa;
    • Panzvimbo yeVideo4Linux1, iyo Video4Linux2 raibhurari yave kudiwa.

Source: opennet.ru

Voeg