https://bugs.winehq.org/show_bug.cgi?id=54243
Bug ID: 54243
Summary: Warcraft 2 BNE: Fails CD check in wine versions >6.0.X
Product: Wine
Version: 7.0
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs(a)winehq.org
Reporter: mmogilvi2+wine(a)gmail.com
Distribution: ---
SYMPTOM: Starting with wine versions mid-6.X and including all 7.X through at
least 7.22, the game "Warcraft 2: Battle.net Edition" always fails a CD check
and pops up an error dialog:
"Warcraft II Battle.net Edition is unable to read a required file. Your
Warcraft II Battle.net Edition CD may not be in the CDROM drive. Please ensure
that the disk in in the CDROM drive and press OK. To leave the program, press
Exit."
----
BACKGROUND:
Wine had long been able to run "Warcraft 2: Battle.net Edition", up through
wine version 6.0.2 and some early 6.X versions.
As described in the howto of the application DB
https://appdb.winehq.org/objectManager.php?sClass=version&iId=592 (and other
places), in my setup I have long used an .iso of my original CD, with symlinks
for "d::" (linked to the iso) and "d:" (linked to the directory where the .iso
is loop-mounted). (I actually use some wrapper scripts to temporarily mount it
only when needed, etc...)
I unsuccessfully asked about this in the wine forum last July
https://forum.winehq.org/viewtopic.php?f=8&t=36787&sid=e1b75b6a5ffa1534a042…
and am finally digging deeper into it on my own. There are also some
tangential mentions in my recent Gentoo Linux forum post:
https://forums.gentoo.org/viewtopic-p-8766703.html
----
ANALYSIS:
I have managed to git bisect this bug to commit
50903a15046354e405564aff6430ee505c01100a "kernelbase: Reimplement
GetVolumeInformation on top of GetVolumeInformationByHandle" (although I needed
to cherry-pick an unrelated "sincos()" build fix at each step...).
Digging deeper, the following sequence of events leads to the bug:
1. The game calls GetVolumeInformationW() with root=L"D:\\".
- The game only wants file system flags and FS type name.
- Wine proceeds to:
2. NtOpenFile() the root (I haven't traced into this much)...
3. GetVolumeInformationByHandleW()
4. NtQueryVolumeInformationFile() with
info_class=FileFsAttributeInformation
5. get_mountmgr_fs_info(), which determines
unix_name="/archive/wineData/warcraftII-BNE-2001.iso"
and letter=25 (Z:).
- BUG: letter=25 definitely indicates a bug. The game is asking
about D:, not Z:.
- MAYBE BUG: Not sure whether mapping "D:\\"'s handle to the .iso
rather than the loop mount point directory is a bug or not.
- FYI: I'll note that NtQueryVolumeInformationFile()'s documentation
says that if the handle "represents a direct device open, only
FileFsDeviceInformation can be specified..." in the remarks (i.e.,
not the info_class being asked for here). There doesn't seem
to be any attempt to enforce this in wine. See
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-nti…
6. Since wine now thinks the game is asking about "Z:", it returns file
system type "NTFS" and associated flags, rather than the correct
"CDFS" (and flags).
7. Presumably the game sees the "NTFS" and/or flags, decides this
isn't a CD at all, and after some more searching, ultimately
pops up the error dialog.
----
POTENTIAL FIXES:
I'm not sure the best way to fix this. Some possibilities include:
A. Somehow ensure the handle that GetVolumeInformation() opens gets
mapped to the mounted directory, instead of the .iso file?
- This would seem to make sense, but I'm not sure.
B. Add more logic to find_dos_device() to notice if path is a file
(or device) that is pointed at by one of the double-colon symlinks?
- It might need similar caching as get_drives_info(), etc?
This would be just a little involved, but might be the best
"smallish scale" fix.
C. Just revert commit 50903a15046354e405564aff6430ee505c01100a?
But that might leave GetVolumeInformationByHandle() broken,
and it does seem cleaner to only do all the device/FS
superblock parsing and determination in one place...
D. Do a more thorough audit / cleanup of how different ways of
representing and mapping between unix names, NT names, devices,
mount points, symlinks, fallback logic, etc all interact with
each other? My initial vague impression is that a lot of this
logic is a bit haphazard and only "mostly" works, rather than
being robustly designed to always work.
- Very involved and time consuming, and well beyond anything
I currently have any interest in attempting myself.
----
WORKAROUND:
A quick end-user workaround that seems to work is to change the "d::" symlink
to point to the correct /dev/loop0 or loop1, or 2...., that just happens to
match whatever free loop device that "mount" dynamically picks to use.
- I think this only works because these days /dev is usually
mounted as a separate file system, and in wine there is
find_dos_device() logic to stops looking if the st_dev changes
and then later stuff falls back on doing something else...
- Even disregarding that, it seems a bit ugly and fragile to
assume a particular loop device, especially if you have other
things you sometimes loop mount... (Although maybe my wrapper
script could dynamically update the symlink based on parsing
/proc/mounts after things are mounted...)
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55999
Bug ID: 55999
Summary: Add libxkbregistry0 dependency to Debian packages of
Wine
Product: Packaging
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-packages
Assignee: wine-bugs(a)winehq.org
Reporter: shtetldik(a)gmail.com
CC: dimesio(a)earthlink.net
Distribution: ---
New winewayland driver now relies on libxkbregistry and fails to load without
it:
ldd winewayland.so
...
libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0
(0x00007f1f3fcb9000)
libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0
(0x00007f1f3fc71000)
libxkbregistry.so.0 => /lib/x86_64-linux-gnu/libxkbregistry.so.0
(0x00007f1f3fc66000)
...
So it would be good to add a dependency on libxkbregistry0 package for Wine
Debian packages (both regular and staging). I guess same goes may be for a few
others like libwayland-client0 and libxkbcommon0.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23921
Summary: LBA2 doesnt refresh its screen
Product: Wine
Version: 1.3.0
Platform: All
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: vleon1(a)gmail.com
Little big adventure 2 rarely refresh its screen, rendering the game
unplayable. the bug didnt exist in the 1.2 branch.
You can hear the games music from the next screen (for example from the ingame)
while having a picture of the games menu.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55703
Bug ID: 55703
Summary: Introduced in 8.17
Product: Wine
Version: 8.17
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: bugs(a)cometchaser.de
Distribution: ---
Drag and drop of files within an commercial applications doesn't work anymore
in Wine 8.17.
It worked until Wine 8.16.
It works in Debian 11 with Wine 8.8 or Debian 12 with Wine 8.16 but not anymore
in Debian 11 with Wine 8.17
See the error:
Error new in Wine 8.17
Download a video file at:
https://www.cometchaser.de/wine/Wine-8.17-Error.mkv
Download a video file at:
https://www.cometchaser.de/wine/Wine-8.16-Works.mkv
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55995
Bug ID: 55995
Summary: Wine 9.0-rc1 Wayland cursor does not move on some
surfaces
Product: Wine
Version: 9.0-rc1
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: h0tc0d3(a)gmail.com
Distribution: ---
Version: Wine 9.0-rc1 Wayland
Bugs:
1) In games, the cursor moves only in the game menu, but as soon as you load
some map, the cursor stops moving. At the same time, if you open the menu, the
cursor continues to move in the menu. Game Example: Overwatch 2
```
"${WINE}/bin/wine64" "C:/Program Files (x86)/Overwatch/_retail_/Overwatch.exe"
```
2) The Blizzard Battle.net launcher launches, but there is no window on the
screen. Therefore, the Overwatch 2 game can only be launched using the above
method, and each time needs enter your username and password.
```
"${WINE}/bin/wine64" "C:/Program Files (x86)/Battle.net/Battle.net.exe"
--exec="launch Pro" > /dev/null 2>&1
```
3) In winecfg if press "Apply" or "OK" button, then winecfg freezes.
4) winecfg does not transmit float state, it runs on the entire screen.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55561
Bug ID: 55561
Summary: kernel32:virtual - The 32-bit test_write_watch() fails
in the new WoW mode
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: kernel32
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode:
virtual.c:2099: Test failed: VirtualAlloc succeeded
See https://test.winehq.org/data/patterns.html#kernel32:virtual
A bisect shows that this started with the commit below:
commit f6dbcccab9e33f05b4df9ba3824a849b172b97c3
Author: Alexandre Julliard <julliard(a)winehq.org>
Date: Mon Aug 28 13:47:14 2023 +0200
wow64: Send cross-process notifications.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=45123
Bug ID: 45123
Summary: gdiplus/graphicspath test crashes under clang-5.0.1
but not gcc-7.3.0
Product: Wine
Version: 3.7
Hardware: x86
URL: https://test.winehq.org/data/8dca6c35e11a104385242ed83
46ee05707b78ef7/linux_ae-gentoo-dbg-clang/gdiplus:grap
hicspath.html
OS: Linux
Status: NEW
Keywords: download, source, testcase
Severity: normal
Priority: P2
Component: gdiplus
Assignee: wine-bugs(a)winehq.org
Reporter: austinenglish(a)gmail.com
CC: madewokherd(a)gmail.com
Distribution: Gentoo
Backtrace:
=>0 0x7eca42d9 widen_joint+0x139(p1=<is not available>, p2=<is not available>,
p3=<is not available>, pen=<is not available>, last_point=<has been optimized
away by compiler>)
[/var/lib/jenkins/home/workspace/wine-clang/dlls/gdiplus/graphicspath.c:1849]
in gdiplus (0x0033fc38)
1 0x7eca2ac1 GdipWidenPath+0x3a0(path=<is not available>, pen=<is not
available>, matrix=<is not available>, flatness=<is not available>)
[/var/lib/jenkins/home/workspace/wine-clang/dlls/gdiplus/graphicspath.c:2029]
in gdiplus (0x0033fca8)
2 0x7ed36262 func_graphicspath+0x3331() in gdiplus_test (0x0033fe08)
3 0x7ed74968 main+0x457() in gdiplus_test (0x0033fea8)
4 0x7ed74caa in gdiplus_test (+0x8fca9) (0x0033fee0)
5 0x7b45df9c call_process_entry+0xb() in kernel32 (0x0033fef8)
6 0x7b45e0f3 start_process+0x122(entry=0x7ed74f7a, peb=<is not available>)
[/var/lib/jenkins/home/workspace/wine-clang/dlls/kernel32/process.c:1099] in
kernel32 (0x0033ffdc)
7 0x7b45dfaa start_process_wrapper+0x9() in kernel32 (0x0033ffec)
0x7eca42d9 widen_joint+0x139
[/var/lib/jenkins/home/workspace/wine-clang/dlls/gdiplus/graphicspath.c:1849]
in gdiplus: divps %xmm5,%xmm0
1849 float dx0 = distance * (p2->X - p1->X) / length_0;
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=27916
Summary: Ferro CCTV: Fails to start
Product: Wine
Version: 1.3.25
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: lukasz.wojnilowicz(a)gmail.com
Created an attachment (id=35713)
--> (http://bugs.winehq.org/attachment.cgi?id=35713)
Error message
Steps to reproduce:
1) remove ~/.wine
2) winetricks wmp9
3) install Ferro CCTV
4) wine FerroCCTV.exe
Behaviour:
Error message (see attachment).
Expected behaviour:
No error message.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55908
Bug ID: 55908
Summary: Regression beginning with 8.17: PNGGauntlet gives an
error message and hangs if output folder doesn't exist
Product: Wine
Version: 8.17
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: NM64+bugs.winehq.org(a)PM.me
Distribution: ---
Created attachment 75452
--> https://bugs.winehq.org/attachment.cgi?id=75452
wine-devel 8.16
Beginning with wine-devel 8.17, PNGGauntlet no longer properly handles if the
output folder doesn't already exists.
In wine-devel 8.16 it would ask that the location doesn't exist and if it
should be created, and it'd "just work" without issue.
In wine-devel 8.17 and newer (including the newest 8.20), you get some sort of
error message instead and the program can end up hanging.
Attached are two demonstration videos, one using wine-devel 8.16 and the other
8.17, showing the entire process from scratch on a live ISO session of Linux
Mint 21.2 Cinnamon.
I've also attached the terminal output as well as the information that the
error message returns.
(oh and, is it just me, or is the "Compiling Wine" steps of
https://wiki.winehq.org/Regression_Testing completely out of date, at least
when testing in live ISO sessions of modern Debian-based distros like not only
the aforementioned Linux Mint 21.2 Cinnamon but also LMDE 6 and Xubuntu 23.10)
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54115
Bug ID: 54115
Summary: wine client error:68: write: Bad file descriptor
Product: Wine
Version: 8.0-rc1
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: aros(a)gmx.com
Distribution: ---
This is starting to happen in Wine 8.0-rc1, however I didn't have version 7.22
installed, so I cannot say when it regressed exactly.
After exiting any application you can see:
wine client error:68: write: Bad file descriptor
wine client error:b4: write: Bad file descriptor
wine client error:11c: write: Bad file descriptor
Full log for notepad:
$ notepad
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly
L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0048:fixme:actctx:parse_depend_manifests Could not find dependent assembly
L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:fixme:actctx:parse_depend_manifests Could not find dependent assembly
L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr
0x80004002
0050:err:ole:CoMarshalInterface Failed to marshal the interface
{6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0050:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:err:ole:start_rpcss Failed to open RpcSs service
0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr
0x80004002
0048:err:ole:CoMarshalInterface Failed to marshal the interface
{6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0048:fixme:imm:ImeSetActiveContext (0001002E, 0): stub
0048:fixme:imm:ImmReleaseContext (00010020, 0001002E): stub
002c:fixme:imm:ImeSetActiveContext (0001004E, 1): stub
002c:fixme:imm:ImmReleaseContext (0001004C, 0001004E): stub
008c:err:setupapi:SetupDefaultQueueCallbackW copy error 1812
L"@C:\\windows\\system32\\drivers\\wineusb.sys,-1" ->
L"C:\\windows\\inf\\wineusb.inf"
00e8:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00e8:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00e8:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00e8:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: configuration in L"/home/birdie/.wine" has been updated.
010c:fixme:imm:ImeSetActiveContext (00030062, 1): stub
010c:fixme:imm:ImmReleaseContext (00030048, 00030062): stub
Exit it, a few seconds later:
wine client error:68: write: Bad file descriptor
wine client error:b4: write: Bad file descriptor
wine client error:11c: write: Bad file descriptor
This doesn't look very appealing.
I'm not using mingw, it's a classic i686 GCC build under Fedora 37.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.