I finally gave my computer the first try to completely get rid of Windows But for my inner child I need the possibility to run some of my good old games
So I gave wine a shot and I love it. So many games are working just out of the box (and many even with Multiplayer ... amazing).
But unfortunately one of my favorites: Age of Empires II - The Conquerors does not work. I mean, it does work, but I can not change the resolution. 800x600 works just fine, but as soon as I change it to 1280x1024 the game crashes. I have absolutely no idea how to tackle it, so I hope some of the experts here might have an idea.
I found the exact same problem by someone on reddit: https://www.reddit.com/r/wine_gaming/co ... etting_any
He was able to solve it by using wine-staging (what I already do).
I have a Manjaro-Arch Linux with KDE running. I'm using wine-staging v6.3 with a 32bit wineprefix.
I have a GTX1070 with package "core/mhwd-nvidia 460.56-1" installed.
I tried to figure some things out with `winedbg` or `strace wine`. Here is what I have so far:
Code: Select all
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 12 (X_ConfigureWindow)
Resource id in failed request: 0x640005a
Serial number of failed request: 6088
Current serial number in output stream: 6092
In consequence the game does not save my settings (p.e. the new profile I just created in-game)
Before that error I have several
Code: Select all
0024:err:dplay:DirectPlayCreate Failed to Initialize SP: DPERR_UNAVAILABLE
With strace I figured out the following:
Code: Select all
...
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0\230\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="R\0\0\0f\0\0\0\0\0\0\0\34\0\0\0\31\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="S\0y\0s\0t\0e\0m\0\\\0C\0u\0r\0r\0e\0n\0t\0C\0o\0"..., iov_len=102}], 2) = 166
read(5, "4\0\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="Q\0\0\0\\\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="\34\0\0\0\0\0\0\0\0\0\0\0L\0\0\0S\0y\0s\0t\0e\0m\0\\\0C\0"..., iov_len=92}], 2) = 156
read(5, "\0\0\0\0\0\0\0\0|\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="W\0\0\0\f\0\0\0d\0\0\0\234\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="D\0r\0i\0v\0e\0r\0", iov_len=12}], 2) = 76
read(5, "\0\0\0\0X\0\0\0\1\0\0\0X\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "{\0004\0D\0003\0006\0E\09\0006\0E\0-\0E\0003\0002\0005\0-\0001\0"..., 88) = 88
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="R\0\0\0V\0\0\0\0\0\0\0|\1\0\0\31\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="{\0004\0D\0003\0006\0E\09\0006\0E\0-\0E\0003\0002\0005\0-\0001\0"..., iov_len=86}], 2) = 150
read(5, "\0\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0|\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="W\0\0\0\34\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="C\0o\0I\0n\0s\0t\0a\0l\0l\0e\0r\0s\0003\0002\0", iov_len=28}], 2) = 92
read(5, "4\0\0\300\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="R\0\0\0L\0\0\0\0\0\0\0\34\0\0\0\31\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="S\0y\0s\0t\0e\0m\0\\\0C\0u\0r\0r\0e\0n\0t\0C\0o\0"..., iov_len=76}], 2) = 140
read(5, "\0\0\0\0\0\0\0\0|\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="R\0\0\0L\0\0\0\0\0\0\0|\1\0\0\31\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="{\0004\0D\0003\0006\0E\09\0006\0E\0-\0E\0003\0002\0005\0-\0001\0"..., iov_len=76}], 2) = 140
read(5, "\0\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0|\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
writev(3, [{iov_base="W\0\0\0\26\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=64}, {iov_base="I\0n\0s\0t\0a\0l\0l\0e\0r\0003\0002\0", iov_len=22}], 2) = 86
read(5, "4\0\0\300\0\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0\210\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0\234\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "$\0\0\0\0\0\0\0\0\0\0\0x\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\26\0\0\0\0\0\0\0\0\0\0\0x\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\217\0\0\0\0\0\0\0\0\0\0\0\22\20\2\0T\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\10\226\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0x\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0x\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(12, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0x\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0x\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "\216\0\0\0\0\0\0\0\0\0\0\0T\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0 \0\1\0\0\0\0\0j\0\1\0\0\0\0\0T\0\1\0004\0\1\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0|\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0|\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT USR1 USR2 ALRM CHLD IO], [], 8) = 0
write(3, "U\0\0\0\0\0\0\0\324\0\0\0|\0\0\0\377\377\377\377\2\0\0\0\0\0\0\0\0\0\0\0"..., 64) = 64
read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\34\0\0\0\312\0\0\0"..., 64) = 64
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
poll([{fd=16, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=16, revents=POLLOUT}])
writev(16, [{iov_base="\f\0\5\0Z\0 \5\f\0\0\0\0\5\0\0\0\4\0\0\22\0\30\0\1\0@\5(\0\0\0"..., iov_len=416}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 416
poll([{fd=16, events=POLLIN}], 1, -1) = 1 ([{fd=16, revents=POLLIN}])
recvmsg(16, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\0\3g\1Z\0 \5\0\0\f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
poll([{fd=16, events=POLLIN}], 1, -1) = 1 ([{fd=16, revents=POLLIN}])
recvmsg(16, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\34\0i\1\1\0@\0057\1\0\0\244p6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64
openat(AT_FDCWD, "/usr/share/X11/XErrorDB", O_RDONLY|O_LARGEFILE) = 77
fstat64(77, {st_mode=S_IFREG|0644, st_size=42077, ...}) = 0
read(77, "!\n! Copyright 1993, 1995, 1998 "..., 42077) = 42077
close(77) = 0
write(2, "X Error of failed request: BadW"..., 67X Error of failed request: BadWindow (invalid Window parameter)
) = 67
write(2, "Major opcode of failed request: "..., 35Major opcode of failed request: 12) = 35
write(2, " (X_ConfigureWindow)\n", 21 (X_ConfigureWindow)
) = 21
write(2, " ", 2 ) = 2
write(2, "Resource id in failed request: "..., 41Resource id in failed request: 0x520005a) = 41
write(2, "\n", 1
) = 1
write(2, " ", 2 ) = 2
write(2, "Serial number of failed request:"..., 37Serial number of failed request: 359) = 37
write(2, "\n ", 3
) = 3
write(2, "Current serial number in output "..., 44Current serial number in output stream: 368) = 44
write(2, "\n", 1
) = 1
getpid() = 30920
mprotect(0x7de97000, 241664, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x7d828000, 245760) = 0
mprotect(0x7de97000, 241664, PROT_READ|PROT_EXEC) = 0
getpid() = 30920
close(45) = 0
poll([{fd=42, events=0}], 1, 0) = 0 (Timeout)
poll([{fd=42, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=42, revents=POLLOUT}])
writev(42, [{iov_base="<2\2\0\0\0`\5+\0\1\0", iov_len=12}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 12
poll([{fd=42, events=POLLIN}], 1, -1) = 1 ([{fd=42, revents=POLLIN}])
recvmsg(42, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2\32\0\0\0\0\0\1\0@\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
close(43) = 0
close(44) = 0
getpid() = 30920
getpid() = 30920
poll([{fd=42, events=0}], 1, 0) = 0 (Timeout)
shutdown(42, SHUT_RDWR) = 0
close(42) = 0
close(18) = 0
_llseek(31, -3214, [4978], SEEK_CUR) = 0
exit_group(1) = ?
Anyways I hope somebody here might have a clue for me, and I thank you guys very much in advance for your help and your amazing work.
Best
t0mM3k