shkhln / linuxulator-steam-utils

Steam launcher for FreeBSD
MIT License
126 stars 12 forks source link

A few games tested #66

Closed ghost closed 2 years ago

ghost commented 2 years ago

Dead or Alive 6 - performs well, no workarounds required. Dissidia Final Fantasy NT - I wouldn't exactly call it playable. To be fair, my GPU (GTX 1050) is listed as the minimum requirement. Sound is very choppy and fps dips to single digits frequently but seemingly randomly. Could be related to FAudio. Once upon a time it worked well in Linux, but that was maybe a year ago, so hard to say if it's FreeBSD specific. Dota Underlords: Linux native, didn't start at all for me, but I don't remember the error, sorry. Actually it's a pretty small download, and I would be curious if it works for anyone, maybe AMD drivers with more Vulkan extensions available.

ghost commented 2 years ago

Here's the only error I can see about Dota Underlords: AbortMessage({Unable to create multiwait object set

ghost commented 2 years ago

Oh yeah, one Linux native game I did get working is Analogue: A Hate Story.

shkhln commented 2 years ago

Here's the only error I can see about Dota Underlords: AbortMessage({Unable to create multiwait object set

As far as I can tell, this is due to a missing EPOLLEXCLUSIVE implementation (for epoll_ctl).

shkhln commented 2 years ago

Oh yeah, one Linux native game I did get working is Analogue: A Hate Story.

A bit too niche for the list, honestly.

ghost commented 2 years ago

Sounds like it's not going to work for anyone then for the time being then.

Yeah, I think so too. I was just confirming I could get something without Proton running. I mainly wanted to list free games that people might be interested in trying.

I ran out of success/fail worthy things to list, so we can close this if you like. Generally what I observed is that nothing 32-bit works for me (Python related?).

shkhln commented 2 years ago

Generally what I observed is that nothing 32-bit works for me (Python related?).

With Proton?

ghost commented 2 years ago

Generally what I observed is that nothing 32-bit works for me (Python related?).

With Proton?

Yeah, looks like it. Usually they'll start briefly and then crash. My memory is not so good but for example Morrowind crashes after the launcher, as well as Dead or Alive 5, which I've had working before. Actually I don't know if I own any Linux native 32-bit games.

shkhln commented 2 years ago

It's difficult to tell anything without logs.

ghost commented 2 years ago

Hmmm. I got Dead or Alive 5 to start like this:

__NV_PRIME_RENDER_OFFLOAD=0 DXVK_FILTER_DEVICE_NAME=630 MESA_LOADER_DRIVER_OVERRIDE=i965 LIBGL_DRI3_DISABLE=0 PROTON_LOG=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command

It was crashing like this: wine: Unhandled page fault on read access to FFFFFFFF at address 00412E9A (thread 00e0), starting debugger...

Let's see...

wine: Unhandled page fault on read access to FFFFFFFF at address 00412E9A (thread 00e0), starting debugger...

I used to have to play the game on Linux with Proton 3.x something.

I will see about Morrowind, and actually figuring out how to capture proper logs... got a ton of gstreamer spam. The log Proton creates in /home/steam is practically empty.

I think the crash isn't due to a deficiency in this repo though, as my setup isn't exactly sane. You helped me a bit before on the FreeBSD forums. In general PRIME has been pretty unpredictable everywhere.

ghost commented 2 years ago

Oops, forgot to copy the failing commands:

__NV_PRIME_RENDER_OFFLOAD=1 LIBGL_DRI3_DISABLE=0 PROTON_LOG=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%
ghost commented 2 years ago
======================
Proton: 1633030452 proton-6.3-7
SteamGameId: 311730
Command: ['/usr/home/steam/.steam/steam/steamapps/common/Dead or Alive 5 Last Round/game.exe', '%USERPROFILE%\\Documents\\KoeiTecmo\\DOA5LR\\DOA5LR.ini']
Options: {'noesync', 'nofsync', 'forcelgadd', 'wined3d'}
System WINEDEBUG: warn+module
======================

Testing without vulkan only gave me that log, for example.

ghost commented 2 years ago

Oi, PROTON_HIDE_NVIDIA_GPU=1 seems to fix it (looking at random env vars)!

shkhln commented 2 years ago

At least Morrowind is a dx8 game, which means it will not use dxvk. You need __GLX_VENDOR_LIBRARY_NAME=nvidia for it.

Testing without vulkan only gave me that log, for example.

I deliberately disabled those.

ghost commented 2 years ago

Will post about Morrowind next.

I did manage to get DXVK working also on DoA. The magic seems to be PROTON_HIDE_NVIDIA_GPU=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1. The game is really picky. I reported bugs against it to Wine years ago on my crappy Intel HD 4000 and it was acting up then too. The solution was MESA_EXTENSION_OVERRIDE=-GL_ARB_internalformat_query for the multisampling bug I was experiencing.

ghost commented 2 years ago
Game process updated : AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89356, IP 0.0.0.0:0
0084:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
004c:err:ole:start_rpcss Failed to start RpcSs service
Game process removed: AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89356
Game 22320 created interface STEAMAPPS_INTERFACE_VERSION003 / Apps
Game 22320 created interface SteamUtils004 / Utils
Game 22320 method call count for IClientAppManager::BIsDlcEnabled : 1
Game 22320 method call count for IClientUtils::RecordSteamInterfaceCreation : 2
Game 22320 method call count for IClientUtils::GetAppID : 3
Game 22320 method call count for IClientUser::BIsSubscribedApp : 1
Uploaded AppInterfaceStats to Steam
No cached sticky mapping in ActivateActionSet.[22320]Non-Steam Controller Configs Enabled: 1
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to ProcessingInstallScript with ""
reaper: prctl() failed!
src/clientdll/installscript_posix.cpp (509) : Assertion Failed: Standalone evaluator returned error code for app 22320
src/clientdll/installscript_posix.cpp (509) : Assertion Failed: Standalone evaluator returned error code for app 22320
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 22320, ActionID 22] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 22320, ActionID 22] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask for AppId 22320: 0
/bin/sh\0-c\0__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'\0
Game process added : AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89385, IP 0.0.0.0:0
ERROR: ld.so: object '/usr/home/steam/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/steam/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 22320, ActionID 22] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/usr/home/steam/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
pid 89387 != 89385, skipping destruction (fork without exec?)
ERROR: ld.so: object '/usr/home/steam/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/steam/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
pid 89390 != 89385, skipping destruction (fork without exec?)
with-glibc-shim /opt/steam-utils/lxbin/../bin/lsu-wine-env /usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton/proton/proton waitforexitandrun /usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe
002c:fixme:ntdll:get_firmware_info info_class SYSTEM_FIRMWARE_TABLE_INFORMATION
002c:fixme:ntdll:get_firmware_info info_class SYSTEM_FIRMWARE_TABLE_INFORMATION
err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7fffffdf0000-0x7fffffff0000, unix_prot 0.
0034:fixme:fsync:do_fsync futexes not supported on this platform.
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 2
shim init
err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7fffffdf0000-0x7fffffff0000, unix_prot 0.
0040:fixme:fsync:do_fsync futexes not supported on this platform.
err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7fffffdf0000-0x7fffffff0000, unix_prot 0.
004c:fixme:fsync:do_fsync futexes not supported on this platform.
Game process updated : AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89398, IP 0.0.0.0:0
Setting breakpad minidump AppID = 22320
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198036963841 [API loaded no]
0050:err:steam:initialize_vr_data Could not load libopenvr_api.so.
004c:warn:module:load_builtin_dll cannot find builtin library for L"\\??\\C:\\windows\\system32\\winemac.drv"
004c:warn:module:load_dll Failed to load module L"winemac.drv"; status=c0000135
shim init
004c:err:ole:start_rpcss Failed to start RpcSs service
err:virtual:try_map_free_area mmap() error Cannot allocate memory, range 0x7fffffdf0000-0x7fffffff0000, unix_prot 0.
0068:fixme:fsync:do_fsync futexes not supported on this platform.
0068:warn:module:load_builtin_dll cannot find builtin library for L"\\??\\C:\\windows\\system32\\winemac.drv"
0068:warn:module:load_dll Failed to load module L"winemac.drv"; status=c0000135
0068:err:ole:start_rpcss Failed to start RpcSs service
0068:err:ole:start_rpcss Failed to start RpcSs service
007c:fixme:fsync:do_fsync futexes not supported on this platform.
007c:warn:module:alloc_module disabling no-exec because of L"Morrowind Launcher.exe"
007c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0084:fixme:fsync:do_fsync futexes not supported on this platform.
0084:warn:module:alloc_module disabling no-exec because of L"Morrowind.exe"
0084:warn:module:load_builtin_dll cannot find builtin library for L"\\??\\Z:\\usr\\home\\steam\\.steam\\steam\\steamapps\\common\\Morrowind\\binkw32.dll"
0084:warn:module:alloc_module disabling no-exec because of L"binkw32.dll"
shim init
0084:warn:module:load_builtin_dll cannot find builtin library for L"\\??\\C:\\Program Files (x86)\\Steam\\steamclient.dll"
Game process updated : AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89435, IP 0.0.0.0:0
0084:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
004c:err:ole:start_rpcss Failed to start RpcSs service
Game process removed: AppID 22320 "__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 LIBGL_DRI3_DISABLE=0 /home/steam/.steam/steam/ubuntu12_32/reaper SteamLaunch AppId=22320 -- '/usr/home/steam/.steam/steam/compatibilitytools.d/FreeBSD_Proton'/run.sh waitforexitandrun  '/usr/home/steam/.steam/steam/steamapps/common/Morrowind/Morrowind Launcher.exe'", ProcID 89435
Game 22320 created interface STEAMAPPS_INTERFACE_VERSION003 / Apps
Game 22320 created interface SteamUtils004 / Utils
Game 22320 method call count for IClientAppManager::BIsDlcEnabled : 1
Game 22320 method call count for IClientUtils::RecordSteamInterfaceCreation : 2
Game 22320 method call count for IClientUtils::GetAppID : 3
Game 22320 method call count for IClientUser::BIsSubscribedApp : 1
Uploaded AppInterfaceStats to Steam
No cached sticky mapping in ActivateActionSet.

(Probably a few tries there, sorry.)

Protondb says Platinum but I'm getting some popup about it being unable to find a CD drive when I press play. Well, not a crash then, but weird.
ghost commented 2 years ago

2021-11-07-142252_1920x1080_scrot

ghost commented 2 years ago

What is reaper in the logs there? Can't find anything on it.

ghost commented 2 years ago

Hm, my guess is that it's failing because of reaper: src/linuxulator-steam-utils/src/steamfix.c:/ ubuntu12_32/reaper depends on unimplemented PR_SET_CHILD_SUBREAPER, so just get rid of it /

shkhln commented 2 years ago

Reaper presumably deals with applications that don't want to exit. Not your case.

ghost commented 2 years ago

Thanks. No idea then. I'm starting to think that my test cases were too limited and probably there's no 32-bit specific issue though.

ghost commented 2 years ago

After a lot more testing, it appears that DoA 5 just happened to work a few times. After a reboot earlier it wouldn't launch at all so I poked at it some more. This is just the same multisampling bug I mentioned before. PROTON_NO_ESYNC=1 and MESA_EXTENSION_OVERRIDE=-GL_ARB_internalformat_query should be enough. Basically the game just assumes 2x is supported if 4x is, and crashes in the same way most the time. Can't say why it worked a few times though. Also, WINEDLLOVERRIDES='winegstreamer.dll=d' might be needed so the opening video doesn't loop infinitely, but I only discovered that after installing gstreamer1-vaapi. So, sorry for the noise. Not a problem relevant to this bug tracker.

About Morrowind, I read that the CD problem could be related to the Steam overlay, which I don't have working. Though I don't understand how or why that would be.

As an apology for wasting our time, I tried out Skyrim, specifically "Oldrim" and confirmed it works after loading one of my very old cloud saves. It seems to work fine, but when I hit the Windows key (which I have bound as a sort of Modifier or Meta key) the game window unfocuses itself. Also, windowed mode won't work. Again, doesn't sound like problems specific to here.

I'm a little surprised vsync seems to be working. 2021-11-07-175032_1920x1080_scrot

shkhln commented 2 years ago

Let's close this issue then.

ghost commented 2 years ago

I'm angry and done investigating this any further after major downgrades, reverts, etc. but a warning to any readers, Dissidia Final Fantasy NT now gives me this panic 100% of the time:

__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=textdump@entry=0)
    at /usr/src/sys/kern/kern_shutdown.c:399
#2  0xffffffff804d0daa in db_dump (dummy=<optimized out>,
    dummy2=<unavailable>, dummy3=<unavailable>, dummy4=<unavailable>)
    at /usr/src/sys/ddb/db_command.c:575
#3  0xffffffff804d0c62 in db_command (last_cmdp=<optimized out>,
    cmd_table=<optimized out>, dopager=dopager@entry=1)
    at /usr/src/sys/ddb/db_command.c:482
#4  0xffffffff804d08dd in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:535
#5  0xffffffff804d4056 in db_trap (type=<optimized out>, code=<optimized out>)
    at /usr/src/sys/ddb/db_main.c:270
#6  0xffffffff80c79827 in kdb_trap (type=type@entry=3, code=code@entry=0,
    tf=tf@entry=0xfffffe00de3697f0) at /usr/src/sys/kern/subr_kdb.c:733
#7  0xffffffff810f4b03 in trap (frame=0xfffffe00de3697f0)
    at /usr/src/sys/amd64/amd64/trap.c:609
#8  <signal handler called>
#9  kdb_enter (why=0xffffffff812ef49b "panic", msg=<optimized out>)
    at /usr/src/sys/kern/subr_kdb.c:506
#10 0xffffffff80c2b738 in vpanic (fmt=0xffffffff811ff8df "%s",
    ap=<optimized out>, ap@entry=0xfffffe00de369960)
    at /usr/src/sys/kern/kern_shutdown.c:908
#11 0xffffffff80c2b4c3 in panic (
    fmt=0xffffffff81e9f1e0 <cnputs_mtx> ";\300*\201\377\377\377\377")
    at /usr/src/sys/kern/kern_shutdown.c:844
#12 0xffffffff810f4f07 in trap_fatal (frame=0xfffffe00de369b60, eva=48)
    at /usr/src/sys/amd64/amd64/trap.c:946
#13 0xffffffff810f4fa9 in trap_pfault (frame=frame@entry=0xfffffe00de369b60,
    usermode=false, signo=<optimized out>, signo@entry=0x0,
    ucode=<optimized out>, ucode@entry=0x0)
    at /usr/src/sys/amd64/amd64/trap.c:765
#14 0xffffffff810f45a7 in trap (frame=0xfffffe00de369b60)
    at /usr/src/sys/amd64/amd64/trap.c:443
#15 <signal handler called>
#16 0xffffffff83757880 in i915_gem_dmabuf_mmap ()
   from /boot/modules/i915kms.ko
#17 0xffffffff83836754 in dma_buf_mmap_fileops ()
   from /boot/modules/linuxkpi_gplv2.ko
#18 0xffffffff80f92b96 in fo_mmap (fp=0xfffff80060c25800,
    map=0xfffffe00d60193f0, addr=0xfffffe00de369d70, size=3133440,
    prot=<optimized out>, cap_maxprot=7 '\a', flags=1, foff=0,
    td=0xfffffe00eb3453a0) at /usr/src/sys/sys/file.h:440
#19 kern_mmap (td=<optimized out>, mrp=<optimized out>,
    mrp@entry=0xfffffe00de369dd0) at /usr/src/sys/vm/vm_mmap.c:418
#20 0xffffffff80f925d2 in sys_mmap (td=0xfffff80060c25800,
    uap=<optimized out>) at /usr/src/sys/vm/vm_mmap.c:182
#21 0xffffffff810f58de in syscallenter (td=<optimized out>)
    at /usr/src/sys/amd64/amd64/../../kern/subr_syscall.c:189
#22 amd64_syscall (td=0xfffffe00eb3453a0, traced=0)
    at /usr/src/sys/amd64/amd64/trap.c:1191
#23 <signal handler called>
#24 0x00000000621aee4a in ?? ()
Backtrace stopped: Cannot access memory at address 0x12deea3a8

I think my hardware is just about dead. This is my second Optimus laptop and they were both lemons. My power button doesn't even work, FFS.

Hopefully Proton will pull in more of Wine's very recent work on FreeBSD and VK. I did get Primus (mainly for Primus VK) and Bumblebee to build, but it doesn't look so trivial to get Bumblebee's socket and pci_ crap to work... and I think this late in the game it's not worth banging my head against, either.

Anyway, great work so far. When I started using Linux the "Year of the Linux Desktop" was just a meme, but it's shaping up nicely these days and FreeBSD is catching up pretty quickly. I think it's true that if you build it, they will come, and we should be there pretty soon too.

Take care, dudes. I'm happy with FreeBSD and will stick around, but it's not healthy for me to chase these obscure bugs anymore.