Hi, I currently maintain the Wine Flatpak package on Flathub.
Yesterday I created a separate (non default) branch for Wine 10.0 built with the new WOW64 mode.
The problem is that it doesn't seem to launch 32 bit softwate at all. If I launch a 32 bit .exe from the terminal, it shows "starting program.exe in experimental wow64 mode" and after that nothing happens and it just closes. I've also noticed that both Program Files x86 and Windows\syswow64 directories in the Wine prefix are empty. I also checked the Wine installation directories and everything looks right over there. The wine directory contains i386-windows, x86-64-unix and x86-64-windows as it should be with the new WOW64 mode.
Did I miss something? It doesn't seem like I did something wrong. Here are the config opts I use:
config-opts:
- --libdir=/app/lib
- --enable-archs=i386,x86_64
- --enable-win64
- --disable-tests
- --with-x
- --with-wayland
- --with-pulse
- --with-dbus
- --without-oss
make-install-args:
- LDCONFIG=/bin/true
- UPDATE_DESKTOP_DATABASE=/bin/true
- INSTALL_PROGRAM_FLAGS=-s
Any help would be appreciated.
Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
-
- Newbie
- Posts: 3
- Joined: Mon Apr 07, 2025 9:45 am
-
- Newbie
- Posts: 3
- Joined: Mon Apr 07, 2025 9:45 am
Re: Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
P.S, IDK if that will help, bit here is the output I get from creating the prefix to attempting to launch the 32 bit exe:
wine: created the configuration directory '/var/data/wine
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.₩indows.Common-Controls" (6.0.0.0)
094c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.₩indows.Common-Controls" (6.0.0.0)
0054:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft."indows.Common-Controls" (6.0.0.0)
0054:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 8x88884002
0054:err:ole:CoMarshalInterface Failed to marshal the interface (6d5148c1-7436-11ce-8034-80aa066089fa), hr 8x80084002
0954:err:ole:apartment_get_local_server_stream Failed: x80004082
0054:err:ole:start_rpcss Failed to open RpcSs service
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 8x80884082
084c:err:ole:CoMarshalInterface Failed to marshal the interface (6d5148c1-7436-11ce-8834-08aa806089fa), hr 8x86884802
094c:err:ole:apartment_get_local_server_stream Failed: x80804882
0098:fixme:file:NtLockFile I/0 completion on lock not implemented yet
0098:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
@0a0:err:environ:init-peb starting L"Z:\lapp\ishare\lwine\\mono\lwine-mono-9.4.0\lsupport\iremoveuserinstalls-x86.exe" in experimental wow64 mode
0098:err:msi:execute_command unable to execute command 731
08a8:err;environ:init_peb starting L"Z:\app\/share\lwine\mono\lwine-mono-9.4.0\\support\linstallinf-x86.exe" in experimental wow64 mode
0098:err:msi:execute_command unable to execute command 731
0098:fixme:msi:internal_ui_handler internal UI not implemented for message Ox0b000006 (UI level = 1)
0098:fixme:msi:internal_ui_handler internal UI not implemented for message 8x0b888660 (UI level = 1)
08f8:err:environ:init_peb starting L"C:/\windows//syswow64\\rundll32.exe" in experimental wow64 mode
902c:err:setupapi:do_file_copy₩ Unsupported style(s) 8x18
002c:err:setupapi:do_file_copyl Unsupported style(s) 8x10
9114:err:setupapi:do_file_copyW Unsupported style(s) 0x10
0114:err:setupapi:do_file_copyW Unsupported style(s) 8x18
002c:err:setupapi:do_file_copy₩ Unsupported style(s) 9x10
9024:err:environ:init_peb starting L"Z:|\homeliuser1\\Downloads\|aimp_5.40.2669_w32_no-installer|\AIMP\\AIMP.exe" in experimental wow64 mode
wine: created the configuration directory '/var/data/wine
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.₩indows.Common-Controls" (6.0.0.0)
094c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.₩indows.Common-Controls" (6.0.0.0)
0054:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft."indows.Common-Controls" (6.0.0.0)
0054:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 8x88884002
0054:err:ole:CoMarshalInterface Failed to marshal the interface (6d5148c1-7436-11ce-8034-80aa066089fa), hr 8x80084002
0954:err:ole:apartment_get_local_server_stream Failed: x80004082
0054:err:ole:start_rpcss Failed to open RpcSs service
004c:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 8x80884082
084c:err:ole:CoMarshalInterface Failed to marshal the interface (6d5148c1-7436-11ce-8834-08aa806089fa), hr 8x86884802
094c:err:ole:apartment_get_local_server_stream Failed: x80804882
0098:fixme:file:NtLockFile I/0 completion on lock not implemented yet
0098:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
@0a0:err:environ:init-peb starting L"Z:\lapp\ishare\lwine\\mono\lwine-mono-9.4.0\lsupport\iremoveuserinstalls-x86.exe" in experimental wow64 mode
0098:err:msi:execute_command unable to execute command 731
08a8:err;environ:init_peb starting L"Z:\app\/share\lwine\mono\lwine-mono-9.4.0\\support\linstallinf-x86.exe" in experimental wow64 mode
0098:err:msi:execute_command unable to execute command 731
0098:fixme:msi:internal_ui_handler internal UI not implemented for message Ox0b000006 (UI level = 1)
0098:fixme:msi:internal_ui_handler internal UI not implemented for message 8x0b888660 (UI level = 1)
08f8:err:environ:init_peb starting L"C:/\windows//syswow64\\rundll32.exe" in experimental wow64 mode
902c:err:setupapi:do_file_copy₩ Unsupported style(s) 8x18
002c:err:setupapi:do_file_copyl Unsupported style(s) 8x10
9114:err:setupapi:do_file_copyW Unsupported style(s) 0x10
0114:err:setupapi:do_file_copyW Unsupported style(s) 8x18
002c:err:setupapi:do_file_copy₩ Unsupported style(s) 9x10
9024:err:environ:init_peb starting L"Z:|\homeliuser1\\Downloads\|aimp_5.40.2669_w32_no-installer|\AIMP\\AIMP.exe" in experimental wow64 mode
Last edited by user1winehq on Mon Apr 07, 2025 11:00 am, edited 1 time in total.
Re: Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
Remove this; you built pure 64 bit Wine because of it.
-
- Newbie
- Posts: 3
- Joined: Mon Apr 07, 2025 9:45 am
Re: Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
Thank you. But I've just rebuilt Wine without --enable-win64 and it still doesn't work.
I'd also like to mention that the build process is set to cleanup the following files in the bin directory:
- /bin/function_grep.pl
- /bin/widl
- /bin/winecpp
- /bin/winedump
- /bin/wineg++
- /bin/winegcc
- /bin/winemaker
- /bin/wmc
- /bin/wrc
I don't know much about them (they were also set for cleanup by the previous maintainer of the package), but maybe some of them are needed for the WOW64 build to work?
It's probably very unlikely, but I also thought maybe the fact that I set INSTALL_PROGRAM_FLAGS=-s to strip binaries, or WINEPREFIX=/var/data/wine might also cause this? (Just thought maybe there's a bug with the new WOW64 mode that causes this issue due to setting a custom WINEPREFIX dir..)
I'd also like to mention that the build process is set to cleanup the following files in the bin directory:
- /bin/function_grep.pl
- /bin/widl
- /bin/winecpp
- /bin/winedump
- /bin/wineg++
- /bin/winegcc
- /bin/winemaker
- /bin/wmc
- /bin/wrc
I don't know much about them (they were also set for cleanup by the previous maintainer of the package), but maybe some of them are needed for the WOW64 build to work?
It's probably very unlikely, but I also thought maybe the fact that I set INSTALL_PROGRAM_FLAGS=-s to strip binaries, or WINEPREFIX=/var/data/wine might also cause this? (Just thought maybe there's a bug with the new WOW64 mode that causes this issue due to setting a custom WINEPREFIX dir..)
Last edited by user1winehq on Tue Apr 08, 2025 10:18 am, edited 4 times in total.
-
- Newbie
- Posts: 3
- Joined: Mon Apr 07, 2025 9:45 am
Re: Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
I've also noticed that the wine binary in the bin directory was just named "wine" before removing --enable-win64 and after removing it as well. If the previous build was really a pure 64 bit build, wouldn't the wine binary have been named "wine64"? If that's really the case, then it seems removing --enable-win64 didn't change anything in the build (I also haven't noticed any differences in the build log between the previous and the last build) and the culprit must be somewhere else.
Maybe posting the link to the build log would help?
Maybe posting the link to the build log would help?
Last edited by user1winehq on Wed Apr 09, 2025 3:51 am, edited 2 times in total.
-
- Newbie
- Posts: 3
- Joined: Mon Apr 07, 2025 9:45 am
Re: Wine 10.0 compiled in the new WOW64 mode doesn't launch 32 bit software at all
I just solved the issue myself. Turns out Wine in WOW64 mode still needs the --allow=multiarch Flatpak permission. WOW64 still needs to pass 32 bit syscalls and without setting --allow=multiarch, they're being blocked. (Due to Flatpak's sandboxing nature for security purposes, it blocks some syscalls by default, unless they're whitelisted by a permission depending on the app's needs).
But thanks for the help anyway!
But thanks for the help anyway!