Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie

Software-update: Wine 6.13

Wine logo (75 pix) Er is met versienummer 6.13 een nieuwe ontwikkelbuild van Wine verschenen. Wine is een opensource-implementatie van de Windows-api en maakt het mogelijk om DOS- en Windows-programma's op Linux, FreeBSD, Solaris en macOS te draaien. Een grote groep ontwikkelaars draagt bij aan Wine en er is voor gekozen om elke twee weken een nieuwe zogeheten ontwikkelversie uit te brengen in plaats van te wachten tot er een aantal nieuwe functies klaar is. Een paar keer per jaar verschijnt er een stabiele uitgave. De database met applicaties die onder Wine werken, al dan niet met behulp van kleine aanpassingen, bevat op het moment van schrijven 27.959 titels. In deze uitgave zijn de volgende veranderingen en verbeteringen aangebracht:

What's new in this release:
  • Proper scrollbar theming.
  • More work towards WinSock PE conversion.
  • Preparation work for the GDI syscall interface.
  • Some progress on the IPHLPAPI PE conversion.
Bugs fixed in 6.13 (total 31):
  • 15381: CoFreeUnusedLibraries will crash COM server or cause 0x800703E6/I_RpcReceive error 0x3e6
  • 28326: CDBurnerXP's audio player is missing some visual elements
  • 28795: ExeInfoPE v0.0.3.0: PE protection schemes that abuse %gs won't run (breaks glibc TLS selector)
  • 32517: installer of QQMusic 8.6 hangs
  • 34966: Academagia (WPF game) dialog windows are invisible until alt-tabed out
  • 35611: A lot of user32:msg tests fail in the Japanese locale
  • 35921: Multiple games and applications need IDirectXVideoProcessorService via DXVA2CreateVideoService (DXVA Checker 3.x/4.x, Perfect World, Kodi)
  • 37370: Doom 3 (CD version) installer: 'cancel' button does nothing in 'Please insert: DOOM 3 Disk x' dialog
  • 39377: Add support for 'msidbControlAttributesFormatSize' in static text controls to format and label properties such as 'PrimaryVolumeSpaceRequired' (SkySaga installer)
  • 41703: Workaround LdrUnloadDll() for C libraries that do not support the dlclose() function
  • 43173: Far Cry 4 sound stops
  • 45198: Project CARS 2 shows only a black screen (requires constant buffer offsetting)
  • 45620: Dishonored 2 Demo crashes at launch
  • 45807: Incorrect toolbar background in MFC apps, when visual theming enabled
  • 50374: pCon.planner doesn't finish installation and doesn't open
  • 50404: Sims 4 crashes on startup with builtin msvcrt
  • 51152: The 64-bit ntdll:exception test fails in Wine
  • 51262: Since 308a5e7 no 32bit program starts
  • 51277: Multiple games become unresponsive with plugged in controller (INSIDE, The Hong Kong Massacre, Sniper Elite 3)
  • 51281: C:\users\<user>\appdata\local not created on prefix update
  • 51295: ntoskrnl.exe:ntoskrnl occasionally hangs in test_overlapped()
  • 51329: Windows PC Health Check requires api-ms-win-core-featurestaging-l1-1-0.dll
  • 51331: Battle.net client unusable, reports "The Battle.net Update Agent went to sleep. Attempting to wake it up..."
  • 51340: d3d10core:d3d10core, d3d11:d3d11 test_texture_compressed_3d() fails on Nvidia (cw-gtx560)
  • 51348: uxtheme.SetWindowTheme should use SendMessage to send WM_THEMECHANGED
  • 51366: several wine-mono network tests fail with timeout
  • 51368: World of Warcraft : undefined d3d state
  • 51381: Battlefield 4 cannot find online matches
  • 51382: NetEase Cloud Music crashes on zh_CN.UTF-8 locale.
  • 51416: deferred context memory leak
  • 51425: Mathearbeit G 5.6 installer reports null pointer exception in module 'shell32.dll' starting with Wine 6.9-142-g98d43c5dcfb

Cyberpunk 2077 op Wine

Versienummer 6.13
Releasestatus Unstable
Besturingssystemen Linux, BSD, macOS, Solaris
Website Wine HQ
Download https://www.winehq.org/download
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

23-07-2021 • 12:33

3 Linkedin

Bron: Wine HQ

Update-historie

Meer historie

Reacties (3)

Wijzig sortering
Voor WINE zijn er uiteraard ontwikkelaars nodig. Om mensen een idee te geven hoe dit ongeveer werkt, laat ik hier wat voorbeelden zien van de Open Source Wine broncode. De leercurve is bijzonder stijl. Dat wil zeggen, de broncode bestaat uit eigenlijk 2 delen globaal. Er is de Windows Applicatie die bovenop Wine werkt. Maar binnen de Wine source code moet uiteindelijk toch naar de Linux Kernel worden gegaan. Binnen Wine zijn dit strikt gescheiden zaken. Alleen intern in Wine kan je in de broncode van Wine ook daadwerkelijk op de Linux Kernel gaan. Maar van buiten moet het allemaal lijken alsof het Windows is.

Hier is de broncode van de DLL's die in Wine inmiddels redelijk goed functioneren voor Windows applicaties die bovenop Wine draaien. Maar dat is niet wat ik hier bedoel, wat ik je vraag is om eens te kijken. Daarom ga ik naar een DLL die op Windows aanwezig is, en bijvoorbeeld een simpele BUTTON op je scherm laat zien. Maar omdat ik je niet meteen in het diepe wil gooien, wil ik eigenlijk eerst de broncode van een simpele progress bar zien. Het is misschien vreemd dat een eenvoudige BUTTON moeilijker is dan een eenvoudige progress bar. Maar als je de broncode ziet van WINE die ik hieronder laat zien zal het je duidelijker worden.

Ga hieronder op zoek naar DLL broncode voor COMCTL32
https://source.winehq.org/git/wine.git/tree/HEAD:/dlls

Dat staat hier
https://source.winehq.org.../tree/HEAD:/dlls/comctl32

En dan zoeken naar " button.c ", dat is een gewone C programmeertaal bestand, en bekijk de broncode eens.
https://source.winehq.org...D:/dlls/comctl32/button.c

De broncode staat in de RAW linkjes. Dat zijn .C bestanden en kan je met een gewone tekst editor bekijken.
/*
* Copyright (C) 1993 Johannes Ruscheinski
* Copyright (C) 1993 David Metcalfe
* Copyright (C) 1994 Alexandre Julliard
* Copyright (C) 2008 by Reece H. Dunn
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
* TODO
* Styles
* - BS_NOTIFY: is it complete?
* - BS_RIGHTBUTTON: same as BS_LEFTTEXT
*
* Messages
* - WM_CHAR: Checks a (manual or automatic) check box on '+' or '=', clears it on '-' key.
* - WM_SETFOCUS: For (manual or automatic) radio buttons, send the parent window BN_CLICKED
* - WM_NCCREATE: Turns any BS_OWNERDRAW button into a BS_PUSHBUTTON button.
* - WM_SYSKEYUP
*
* Notifications
* - BCN_HOTITEMCHANGE
* - BN_DISABLE
* - BN_PUSHED/BN_HILITE
* + BN_KILLFOCUS: is it OK?
* - BN_PAINT
* + BN_SETFOCUS: is it OK?
* - BN_UNPUSHED/BN_UNHILITE
*
* Structures/Macros/Definitions
* - NMBCHOTITEM
*/
Ik kan helaas niet de verdere code laten zien, omdat het echt te lang is, meer dan 3125 regels zelfs in C computer code. Dus is hier in deze quote sectie alleen wat Comment die je leest. Maar zoals je ziet is de button eigenlijk al lange tijd klaar van 1993 tot 2008. Zie de broncode,
Pas als je de button.c broncode RAW in je teksteditor ziet begrijp je het volgende: Zoals je ziet is WINE met name complex omdat je van buiten aangeroepen wordt, maar dan ook intern moet blijven binnen de WINE source code. Daarom hebben in de broncode van WINE zodra je intern gaat veel functies andere namen. Een gewone SendWindowMessage(....) kan je bijvoorbeeld wel gebruiken, maar dat is niet voor intern. Intern moet je de WINE API gebruiken om specifiek binnen WINE te blijven.

En dat is zeer moeilijk om mee te starten als ontwikkelaar. Wat ik wil zeggen in de samenvatting, is dit, het is eenvoudiger voor een ontwikkelaar om mee te werken aan de Linux Kernel als je programmeur bent, dan om mee te werken als ontwikkelaar voor WINE.

Een audio driver voor de Linux Kernel is veel eenvoudiger om te doen bijvoorbeeld. Je maakt een module, en die plug je in de Kernel met insmod e.d. na het compileren.

In de meeste broncode van Wine zal je jaartallen vinden vanuit zelfs 1993. En het bizarre van WINE is dat het meer compatibel is met Windows software uit die tijd, dan Windows 10 zelf als voorbeeld.

Veel leesvoer, en veel leesplezier! Omdat op tweakers met name consumenten komen begrijp ik reacties waarin ik uitleg krijg dat er geen interesse is in de WINE broncode. Ook begrijp ik wel dat mensen eigenlijk alleen graag hebben dat het gewoon werkt zonder te hoeven weten hoe complex de materie eigenlijk is. Maar dit is een computer website, en als je mee wil werken aan WINE heb je hier vast een eenvoudig voorbeeld. Maar zelfs dit eenvoudige voorbeeld is al gecompliceerd.

Windows applicatie -> Wine DLL -> Wine intern/extern -> Window manager/Linux kernel -> Beelscherm wat iemand ziet < Gebruiker input zoals muis en toetsenbord.

[Reactie gewijzigd door Terry A Davis op 24 juli 2021 16:45]

Met je distributie van Linux kan je meestal gewoon PlayOnLinux installeren. Daarmee kan je je willekeurige Wine versie downloaden maar je moet zowel de 32bit alswel 64 bit downloaden in PlayOnLinux. Daarna kan je met PlayOnLinux de laatste Wine versie gebruiken.

Op dit moment werken de meeste applicaties van het heden uit dit tijdperk op Wine het beste als je Windows 10 instelt bij WineCFG in de PlayOnLinux opties. Voor oudere applicaties uit het tijdperk Windows 95 en 98 is er een verschil, in dat tijdperk ging Windows uit van maar 1 CPU met 1 Core. Een computerspel zoals A2 Racer kan niet functioneren op Windows XP of hoger omdat A2 Racer als voorbeeld van Davilex nooit is geprogrammeerd met de gevolgen van meerdere cores in een computer.

In de Windows 95 of 98 modus schakel je multi core uit.
Zo zonder naar wine en/of PlayOnLinux te kijken denk ik dat er minimaal de volgende smaken relevant zijn, vooral omdat msWindows daar een stap in de compatibiliteit heeft gemaakt.:
- Windows 3.11 t/m Windows '98 (en windows millenium): 16 bits, praktisch geen gebruikers rechten en meestal direct op de hardware.
- Windows NT 3.51 t/m Windows 2000: 32 bits, gebruikers rechten, betrekkelijk modulair opgezet. (ook op andere hardware beschikbaar!)
- Windows XP. Hier in is gewoon heel veel gebeurt Qua rechten bij de oudere versies, qua opzet en (hardware) ondersteuning bij de nieuwere. Eerste serieuze multi-cpu variant.
- Windows Vista t/m Windows 8.1: Hier is heel veel met de rechten gebeurt. Veel meer afscherming en dergelijke. Ook de eerste met een serieuze 64 bits variant.
- Windows 10: Gewoon omdat het de nieuwste en state-of-the-art is. Primair 64 bits.

Overigens, dat voor W95 of W98 de multi core uit gaat is niet waar. Wel waar is dat een W95 of W98 stand voor het process alles als single-core zal zijn.

Op dit item kan niet meer gereageerd worden.


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True