Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neotokyo (244630) #2447

Open
glubsy opened this issue Mar 23, 2019 · 15 comments
Open

Neotokyo (244630) #2447

glubsy opened this issue Mar 23, 2019 · 15 comments
Labels
Game compatibility - Unofficial Games not expected to work without issues

Comments

@glubsy
Copy link

glubsy commented Mar 23, 2019

Compatibility Report

  • Name of the game with compatibility issues: Neotokyo (source mod, directx9)
  • Steam AppID of the game: 244630

System Information

  • GPU: GeForce GTX 670MX
  • Driver/LLVM version: nvidia 418.43
  • Kernel version: 4.19.29-1-lts (Arch Linux)
  • Link to full system information report: gist
  • Proton version: 3.16.8 Beta

I confirm:

  • that I haven't found an existing compatibility report for this game.
  • that I have checked whether there are updates for my system available.

with PROTON_LOG=1 %command%: log

Also tried with PROTON_USE_WINED3D=1 (same log above)

Symptoms

Game crashes as soon as it reaches the main menu.

Reproduction

Start the game with no modification.

Tried gdb_run from the /tmp directory and noticed this after typing "continue" (may or may not be related):

00000026:00000027: output debug string ("AppFramework : Unable to load module Z:\\ssd_data\\SteamLibrary\\steamapps\\common\\NEOTOKYO\\bin\\filesystem_steam.dll!\n")
00000026:00000027: output debug string ("Unable to load Z:\\ssd_data\\SteamLibrary\\steamapps\\common\\NEOTOKYO\\bin\\filesystem_steam.dll")
0026:0027: loads DLL  @0x7d5d0000 (0<0>)

Program received signal SIGFPE, Arithmetic exception.
0x7ef19f32 in floorf64 () from /usr/lib32/libm.so.6
@kisak-valve kisak-valve added the Game compatibility - Unofficial Games not expected to work without issues label Mar 23, 2019
@kisak-valve
Copy link
Member

Hello @glubsy, your log is missing a header which was added with Proton 3.16-7, which hints that you're using an unexpected version of Proton. Please opt into Steam's beta client and/or go to Steam -> Library dropdown -> Tools and install Proton 3.16 beta from the list.

err:steamclient:create_win_interface Don't recognize interface name: SteamClient006 from the log suggests Proton 3.16-7 or newer is needed for this game (7008e8b).

@glubsy
Copy link
Author

glubsy commented Mar 23, 2019

Thank you @kisak-valve, indeed after installing 3.16 beta from the tools list, the game runs fine like in Wine. :)

There are other issues with font rendering in main menu, but other than that it doesn't crash at startup.

Edit: in order to improve the console font rendering issue, I installed Tahoma and Lucida fonts through winetricks.
Here is how I did it:

WINESERVER="/home_data/SteamLibrary/steamapps/common/Proton 3.16 Beta/dist/bin/wineserver" WINEPREFIX="/ssd_data/SteamLibrary/steamapps/compatdata/244630/pfx" winetricks

In order to start a companion application in the same prefix, here is what I do:

export STEAM_COMPAT_DATA_PATH="/ssd_data/SteamLibrary/steamapps/compatdata/244630"                                                                                                          
"/home_data/SteamLibrary/steamapps/common/Proton 3.16 Beta/proton" run /home/user/INSTALLED/hldj64_1.7.0/HLDJ/hldj.exe

@glubsy
Copy link
Author

glubsy commented Apr 21, 2019

Still trying to figure out what causes some minor problems. Posting here in case someone is also trying to troubleshoot these. Another Linux user had the exact same issues.

  1. Some font glyphs are rendered with extra pixel "noise" in chat box. All other fonts are rendered fine. Only some glyphs are buggy somehow and the noise varies a bit depending on the game resolution. The font is the Tahoma Bold installed with winetricks, and the TTF files renders fine in the Font-Manager application.

font screenshot

  1. On some maps, there is an abnormal fog effect on many models (including player models) as shown in the screenshot above. Below is what the game should look like. This has been achieved in Wine by using the Source engine console command fog_override -1 or fog_override 1 (default is 0, and since it's a cheat convar, this can't be used in online multiplayer).

fog_override -1 or fog_override 1 active

I can't find much information on how to troubleshoot this. This problem has occasionally happened for some Windows users too in the past (ref: 1, 2, 3 4), and the general assumption was to update GPU drivers or force a lower directx version through the game launch parameters (-dxlevel 90) but this doesn't work in Wine and often crashes the game (with -dxlevel 98) or renders some shaders wrong anyway, so by default I believe the game is set to dxlevel 95 (only guessing since this is the only value that doesn't crash).

It seems to me that Wine (probably proton in fact) fakes the GPU model, which could partially explain why it happens on Linux, while it didn't happen on Windows.

In my NEOTOKYO game directory, I noticed this hl2_dxgi.log:

info:  Game: hl2.exe
info:  DXVK: v0.94-18-g3b3ccc8
warn:  OpenVR: Failed to initialize OpenVR
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  GeForce GTX 670MX:
info:    Driver: 418.43.0
info:    Vulkan: 1.1.95
info:    Memory Heap[0]: 
info:      Size: 3072 MiB
info:      Flags: 0x1
info:      Memory Type[7]: Property Flags = 0x1
info:      Memory Type[8]: Property Flags = 0x1
info:    Memory Heap[1]: 
info:      Size: 11999 MiB
info:      Flags: 0x0
info:      Memory Type[0]: Property Flags = 0x0
info:      Memory Type[1]: Property Flags = 0x0
info:      Memory Type[2]: Property Flags = 0x0
info:      Memory Type[3]: Property Flags = 0x0
info:      Memory Type[4]: Property Flags = 0x0
info:      Memory Type[5]: Property Flags = 0x0
info:      Memory Type[6]: Property Flags = 0x0
info:      Memory Type[9]: Property Flags = 0x6
info:      Memory Type[10]: Property Flags = 0xe
warn:  DxgiAdapter::GetDesc2: Nvidia card detected, faking AMD RX 480

This last line suggests that Wine is faking the GPU (perhaps it's just hl2.exe doing this?), which could partially explain the problem. Still doesn't explain why it's rendering like that.
Not sure what created that file (winetricks?). It doesn't get created again by the game after deletion. It doesn't seem to be up to date anyway (not my current driver version, or dxvk) so it could be an obsolete Proton log.

Regarding the font issue in 1), the Tahoma font seems to be the one used (need confirmation) and is loaded fine as shown in this lsof excerpt:
lsof | grep -i hl2

  1. I have an AZERTY keyboard layout, and pressing the number 2 key (above the W key on a QWERTY layout) doesn't do anything. This is the key supposed to switch to the secondary weapon. Trying to set the key in the settings doesn't work. My guess is that it's not sending the "2" key code but the "é" code instead, and the game doesn't recognize that. bind "2" "slot2" is the default, but doing bind "é" "slot2" returns "é" isn't a valid key. I believe this is because the key is not defined in scripts/kb_keys.lst.
    This is what is reported by xev:
KeyPress event, serial 35, synthetic NO, window 0x5800001,
    root 0x288, subw 0x0, time 32621787, (-269,141), root:(602,581),
    state 0x10, keycode 11 (keysym 0xe9, eacute), same_screen YES,
    XLookupString gives 2 bytes: (c3 a9) "é"
    XmbLookupString gives 2 bytes: (c3 a9) "é"
    XFilterEvent returns: False

Note that by default, on these keyboard layouts, the upper keys send special characters and not digits (contrary to QWERTY layouts where the digits are below the special characters), as shown below:
AZERTY keyboard layout example
Switching keyboard layouts with setxkbmap doesn't seem to change anything, so it must be the way Wine handle the input key codes or something.

These happen both in Proton 3.16.9b and 4.2.3.

@glubsy
Copy link
Author

glubsy commented Apr 21, 2019

Update on the font issue, installing Verdana improve things a bit, but some glyphs are still rendered slightly wrong. This issue might be worse depending on the resolution.

Starting line 238 in the ClientScheme.res, I noticed the fonts are defined there.

Here's a screenshot with Verdana installed:

Verdana installed for Neotokyo's wineprefix

@glubsy
Copy link
Author

glubsy commented Aug 13, 2019

D9VK seems to run much better and the fog glitch doesn't occur!

However, sometimes changing focus from the game window (with alt+tab for example) renders the game unresponsive. The GPU stops rendering and the CPU activity seems to go down. Have to kill all WINE processes by hand. <- this still needs more testing, can't reproduce.

Sometimes just changing map crashes the game and WINE completely (no need to kill them). Log file. <- a workaround is to set the texture quality to medium.

Here is another log file using D9VK, the game crashes during loading of the map (nothing gets rendered).

Might need to report this to the D9VK project directly, after I figure out how to generate an apitrace under Wine...

System Specs.

@glubsy
Copy link
Author

glubsy commented Aug 14, 2019

Quick update, the game doesn't crash with PROTON_FORCE_LARGE_ADDRESS_AWARE=1 and PROTON_USE_D9VK=1.

There are some performance issues on some maps still, namely nt_redlight_ctg and nt_subsurface_ctg, but other maps run very well.

I might need to report the keyboard issue to the WINE project, but I need to figure out what's causing the problem. I don't know how hl2.exe gets keyboard input through Wine nor how it processes it.

@glubsy
Copy link
Author

glubsy commented Sep 22, 2019

I would like to report one last issue pertaining to automatic map download from the hl2.exe client.

While in Windows, the hl2.exe client downloads maps from the "fast download" (sv_downloadurl convar) just fine, in Wine the client doesn't download anything at all.

Using Wireshark, it seems nothing is ever transmitted between the fast download server and the client, not even a request from the client to anything it seems!

Even stranger, after setting up the sm_downloader plugin or sourcemod, and configuring it to download custom models, the client displays the transfer dialog showing custom models being downloaded (very fast!?) however the models are never written to disk and never loaded in the client in the first place either.
They are probably never transferred at all! It is very difficult to see anything relevant in Wireshark sadly, since I don't know the protocol in half life 2 clients/servers.

I have tried with Wine / Steam for Windows and the problem is the same. I will probably report this to the Wine project, but I doubt I will get any reply.

Edit: bug reported to WINE here. Seems to be related to winsock.

Day 805. Dear journal, I am still lost on this island. I'm so alone, I'm so sad on my own.

@glubsy
Copy link
Author

glubsy commented Nov 16, 2019

I'm having a new problem since the most recent update and Proton 4.11-8. I get disconnected from any VAC protected server with the error message "No steam logon".

I'm assuming the latest proton doesn't fare well with Valve's own anti-cheat?

I have tested with the previous version 4.2-9: same problem!

The "Steam Linux Runtime" option in Steam Play doesn't seem to work yet, as it deletes most game files (including hl2.exe). No idea what is going on there. Had me redownload the entire game files.

I have validated game files (one file had to be redownloaded). Nothing apart from the Steam client and Proton changed on my side. I had not even updated my system for a few weeks, but even after everything updated, the issue is still there. :(

I have tested on a SRCDS (server) hosted on my local network and I don't get booted off even with VAC enabled. My network configuration hasn't changed either, so it must be a WINE issue... or is it a Steam network issue?

System Specs: gist

I can count 2 other Linux users who are having the same issue since recently. Also two completely different systems (Arch Linux / Linux Mint) having the same problem.

@thibaultmol
Copy link

@glubsy is this wine bug related to the keyboard problem https://bugs.winehq.org/show_bug.cgi?id=30984 ?
I'm having the problem of h turning into è myself even when using eggrolls version of proton which says the wine staging fix should work but it doesn't.
#329

@glubsy
Copy link
Author

glubsy commented Jun 21, 2020

I'm really not sure, I couldn't figure out this bug. There's definitely something going on with Wine keyboard input and non-US layouts.
Edit: upon closer inspection, yes it seems to be related.

@Kethen
Copy link

Kethen commented Feb 15, 2022

Currently the game only works when steam is in offline mode, I can create server and join a dedicated server in lan mode

With online mode, steam itself will crash half way hosting/joining a server

proton 6.3-8

Game process updated : AppID 244630 "/home_dir/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=244630 -- '/home_dir/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home_dir/.local/share/Steam/steamapps/common/Proton 6.3'/proton waitforexitandrun  '/home_dir/.local/share/Steam/steamapps/common/NEOTOKYO/hl2.exe' -game NeotokyoSource -steam", ProcID 1390, IP 0.0.0.0:23184
[libprotobuf FATAL google/protobuf/message_lite.cc:360] CHECK failed: target + size == res: 
terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  CHECK failed: target + size == res: 
crash_20220215231250_29.dmp[1421]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220215231250_29.dmp
crash_20220215231250_29.dmp[1421]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220215231250_29.dmp

crash_20220215231250_29.dmp[1421]: Finished uploading minidump (out-of-process): success = yes
crash_20220215231250_29.dmp[1421]: Finished uploading minidump (out-of-process): success = yes

crash_20220215231250_29.dmp[1421]: response: CrashID=bp-2fc33263-6590-419f-94b7-05cc62220215
crash_20220215231250_29.dmp[1421]: response: CrashID=bp-2fc33263-6590-419f-94b7-05cc62220215

crash_20220215231250_29.dmp[1421]: file ''/tmp/dumps/crash_20220215231250_29.dmp'', upload yes: ''CrashID=bp-2fc33263-6590-419f-94b7-05cc62220215''
crash_20220215231250_29.dmp[1421]: file ''/tmp/dumps/crash_20220215231250_29.dmp'', upload yes: ''CrashID=bp-2fc33263-6590-419f-94b7-05cc62220215''

/home_dir/.local/share/Steam/steam.sh: line 794:   162 Aborted                 (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"

proton 5.13-6

Game process updated : AppID 244630 "/home_dir/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=244630 -- '/home_dir/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home_dir/.local/share/Steam/steamapps/common/Proton 5.13'/proton waitforexitandrun  '/home_dir/.local/share/Steam/steamapps/common/NEOTOKYO/hl2.exe' -game NeotokyoSource -steam", ProcID 1576, IP 0.0.0.0:39782
[libprotobuf FATAL google/protobuf/message_lite.cc:360] CHECK failed: target + size == res: 
terminate called after throwing an instance of 'google::protobuf::FatalException'
  what():  CHECK failed: target + size == res: 
crash_20220215231605_30.dmp[1605]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220215231605_30.dmp
crash_20220215231605_30.dmp[1605]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220215231605_30.dmp

crash_20220215231605_30.dmp[1605]: Finished uploading minidump (out-of-process): success = yes
crash_20220215231605_30.dmp[1605]: Finished uploading minidump (out-of-process): success = yes

crash_20220215231605_30.dmp[1605]: response: CrashID=bp-f43ca835-6a02-41a5-ba89-853fb2220215
crash_20220215231605_30.dmp[1605]: response: CrashID=bp-f43ca835-6a02-41a5-ba89-853fb2220215

crash_20220215231605_30.dmp[1605]: file ''/tmp/dumps/crash_20220215231605_30.dmp'', upload yes: ''CrashID=bp-f43ca835-6a02-41a5-ba89-853fb2220215''
crash_20220215231605_30.dmp[1605]: file ''/tmp/dumps/crash_20220215231605_30.dmp'', upload yes: ''CrashID=bp-f43ca835-6a02-41a5-ba89-853fb2220215''

/home_dir/.local/share/Steam/steam.sh: line 794:   162 Aborted                 (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"

the only reliable way to run the game on linux is to run windows steam in wine
it can be ran in wine-ge-7.1, in windowed mode if fullscreen shows a black screen

@LBranco27
Copy link

I was able to play today with proton-ge.

@Agiel
Copy link

Agiel commented Dec 20, 2022

@LBranco27 How did you manage that? I just tried with the latest GE-Proton7-43. The game no longer crashes, but we're back to getting booted from servers after a minute or two due to no Steam logon.

@LBranco27
Copy link

@Agiel I don't recall if I played it online or offline since all servers were empty. Probably I didn't played enough to get kicked from servers.

@ztx-lyghters
Copy link

@LBranco27 How did you manage that? I just tried with the latest GE-Proton7-43. The game no longer crashes, but we're back to getting booted from servers after a minute or two due to no Steam logon.

Can confirm, game didn't crash today, but I was kicked for VAC connection reasons

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game compatibility - Unofficial Games not expected to work without issues
Projects
None yet
Development

No branches or pull requests

7 participants