ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.33k stars 1.02k forks source link

Deus Ex: Game of the Year Edition (6910) #798

Open Ruedii opened 5 years ago

Ruedii commented 5 years ago

Deus Ex: Game of the Year edition works perfectly with the shipping D3D Render path. As far as I can tell there are no noticeable bugs, and performance is exceptional.

The shipping GL Render path is a little buggy, but it is buggy on many Windows systems as well.

NickZ commented 5 years ago

You need to put the APP ID in the title and your system specs in a gist, which you can get from (Steam -> Help -> System Information)

dreamer commented 5 years ago

There's a single issue when running DX under wine/proton: when the game is running in non-native resolution, cursor tends to behave weirdly (for me it moves 1px up on every mouse event) - making it a bit hard to operate menus and playing the game. This could be avoided if the native resolution was injected into System/DeusEx.ini file on start.

Also - in case this game is whitelisted, then Deus Ex: Revision (397550) should be whitelisted as well - it seems to work better than original game on modern systems, and allows selection of screen resolution before starting the game (bypassing mouse glitch).

Based on short walking around the first level, both DX:GOTY and DX:Revision worked perfectly for me (sans mouse glitch in GOTY). I tested both games using OpenGL and D3D renderer (both worked fine for me, but there are some reports, that OpenGL in GOTY results in low framerate).

my system specs

legluondunet commented 5 years ago

last time I launched this game with Proton 3.7, the mouse cursor had not fluid movements.

Zero86Sk commented 5 years ago

When I run it, the brightness controls dont work and i had every texture black, on DX and GL

My Stem Info: https://gist.github.com/Zero86Sk/d629f657c1ae861c36657cdf238a7765

dreamer commented 5 years ago

Mouse glitch issue seems to be happening in other titles as well, I created the separate issue for it: #831

andrebadaia commented 5 years ago

It worked without change or workaround.

Distro: Linux Mint 19 Tara Processor: AMD Ryzen 7 1700 GPU: GTX 1070, Nvidia proprietary driver 396.54 RAM: 32GB Kernel (custom) - 4.17.14 (optimized for Ryzen) Resolution: 1920x1080 Proton 3.7-3

dreamer commented 5 years ago

After upgrade to 3.7-5 the game works perfectly (I would rate it Platinum in winedb scale), so it's a good candidate for whitelisting, I guess? Don't forget about Deus Ex: Revision (397550) ;)

dreamer commented 5 years ago

I tested it on older laptop i5-2520M (Sandybridge), Mesa 18.0.5. There seem to be no issues with the game itself, but it's unplayable due to another mouse issue. The cursor is hypersensitive - it jumps around edges of the screen on slightest movement. This is most likely a bug in wine, as I've seen the same exact same behaviour in Linux version of System Shock 2 (which is not a native port but runs through an older version of wine).

This is older hardware, but according to game store page - it should be supported. system info

zolstarym commented 5 years ago

Tried 3.7.5-beta, the brightness controls do not work. Linux mint 19 nvidia 750ti 390.77

AsciiWolf commented 5 years ago

Fedora 28, Mesa 18.0.5, Intel HD Graphics 620

Works out-of-box after disabling Wayland (mouse cursor was bugged on Wayland).

jesseonslow commented 5 years ago

I'm also having the problems getting the brightness settings to work. Can't change brightness with Direct3D or OpenGL. Brightness setting seems to work fine using the software renderer.

I'm running 3.7.5-beta on Ubuntu 16.04.5 LTS.

Video card info:

Driver: NVIDIA Corporation GeForce GTX 1050 Ti/PCIe/SSE2 Driver Version: 4.6.0 NVIDIA 396.54 with Nvidia driver 396.5

AsciiWolf commented 5 years ago

Fedora 28, Mesa 18.0.5, AMD RX 580.

Also works out-of-box (on Xorg).

bobwya commented 5 years ago

After upgrade to 3.7-5 the game works perfectly (I would rate it Platinum in winedb scale), so it's a good candidate for whitelisting, I guess? Don't forget about Deus Ex: Revision (397550) ;)

Have you checked Deus Revision recently... They appear to moved to using .Net 3.5 this year. So now I can't get the game to launch reliably and more. I'll do some testing with different distributions. Currently I'm just testing it outside of Proton, with Wine Staging 4.7. I'll be testing it under Proton this weekend...

dreamer commented 5 years ago

@bobwya Just installed Deus Ex: GOTY and Deus Ex: Revision and launched using Proton 4.2-3. Both games worked out of the box, I had no issues whatsoever (selected OpenGL renderer) - but I only started campaign and nothing more. If you'll find any issues, remember to upload a logfile.

dreamer commented 5 years ago

@zolstarym

That's because DX tries to change brightness of whole screen and not just in-application. You can try workaround I described here: https://github.com/ValveSoftware/Proton/issues/1550#issuecomment-487287891 but it will turn off Proton's fullscreen-window mode (game will change resolution of your display).

bobwya commented 5 years ago

@zolstarym

You could also try:

wine reg add 'HKEY_CURRENT_USER\Software\Wine\X11 Driver\' /v UseXVidMode /t reg_sz /d N /f

See: WineHQ Wiki: Useful Registry Keys.

dreamer commented 5 years ago

@bobwya Value 'N' is default for these keys in Proton (unlike upstream Wine), so your line does nothing. Also, if you skip setting UseXRandR to 'Y' then the game will mess up your screen on start. It's safer to import this reg file. But it's not officially supported in Proton - just a hack to bring part of normal Wine functionality.

Ruedii commented 5 years ago

@bobwya Value 'N' is default for these keys in Proton (unlike upstream Wine), so your line does nothing. Also, if you skip setting UseXRandR to 'Y' then the game will mess up your screen on start. It's safer to import this reg file. But it's not officially supported in Proton - just a hack to bring part of normal Wine functionality.

Yes, in upstream wine it defaults to unspecified, or autodetect. This means UseXVidMode is set to N if a sufficient version of XRandr is present, and otherwise set to Y for the functions not covered by XRandr.

XVidMode only adds a few features, which are not needed and potential for abuse. Specifically it allows specifying full scanlines, not just having the X-Server create an autodetect scanline set based on dimensions.

Additionally, XVidMode is under-maintained, is prone to glitching with modern compositors, isn't well tested on modern KMS/DRI based video drivers, and doesn't even ship in the default install of some modern distros, as it is in the "legacy" module set.

Needless to say "N" is a good default for this.

As a note, yes, the gamma slider does not work on the D3D rendering path. That is a moot bug in my opinion. You can adjust that system side or monitor side. I think it still is worthy of whitelist.

Ruedii commented 5 years ago

@bobwya Just installed Deus Ex: GOTY and Deus Ex: Revision and launched using Proton 4.2-3. Both games worked out of the box, I had no issues whatsoever (selected OpenGL renderer) - but I only started campaign and nothing more. If you'll find any issues, remember to upload a logfile.

Any issues I found with the GL renderer on GOTY Edition were the EXACT same issues reported by other users on Windows. They are minor "render quality" bugs. Enhanced edition fixes all these bugs. This is bug for bug replication. I think that's near perfect.

I will check later if the issue with the Gama slider on GOTY Edition is fixed. That, too, is a known issue for some people on the GL Renderer in Windows. However, this bug is substantial enough for a workaround to be deemed necessary if it is found to not be a bug purely in the game, but a common bug interaction with GL drivers. This is especially because the same workaround may fix a LOT of "Gamma slider doesn't work" bugs.

dreamer commented 5 years ago

@Ruedii this gamma bug is not OpenGL/D3D related, it's xvidmode related. IIRC from investigating this bug - Unreal engine used SetDeviceGammaRamp WINAPI function to change gamma for whole display, which Wine maps to XF86VidModeSetGammaRamp. This function is disabled by default on Proton, as I described already in this comment (there's a link to the exact line that caused gamma to be disabled).

If someone wants to give it a shot at fixing this (which would involve implementing gamma ramp for specific X11 window, which I have no idea how to do at the moment), then starting point in Wine is file dlls/winex11.drv/xvidmode.c.

AsciiWolf commented 4 years ago

Fedora 30, GNOME 3.32, Mesa 19.1.2, AMD RX 580, Proton 4.11.

Game works great on X.Org, however it still has serious issues when running on Wayland. Mouse pointer now works correctly under Wayland, but there is not an easy way to change screen resolution (in-game option doesn't work) and, what is worse, switching to window mode or alt+tabbing out of the game causes the whole GNOME session to hang or crash.

shoober420 commented 4 years ago

Whitelist Request

System Information

Game works out of the box, but I personally recommend using the updated OpenGL renderer (https://www.cwdohnal.com/utglr/). Wine/Proton has poopy Direct3D 10 support, and I cannot get Kentie's Direct3D10 renderer to work (https://kentie.net/article/d3d10drv/index.htm). nGlide works too, but has some noticeable performance regressions compared to OpenGL.

Also, install Kentie's Deus Exe patch!

https://kentie.net/article/dxguide/index.htm

shoober420 commented 4 years ago

Here is a log of Deus Ex attempting to launch but crashing at startup with kentie's d3d10 render.

steam-6910.log

soredake commented 4 years ago

Game works fine with proton 5.0-2.

zolstarym commented 4 years ago

On 5.0-2, brightness setting is still broken (game is overly dark), and the mouse is still overly sensitive in the menus

aeikum commented 3 years ago

The brightness adjuster should be working in Proton 6.3-3 and later.

Wedge009 commented 3 years ago

I tried the original Deus Ex GotY Edition via Proton in May 2020, but since the brightness function did not work it was too dark to be playable and I resorted to using my old Windows 7 machine to play.

Returning to Deus Ex via Revision in June 2021, I noticed the brightness function does work with Proton 6.3 as per aeikum's remark, however that version of Proton also introduces an extreme colour banding regression, unfortunately. Thus I'm resorting to playing on Windows 7 again since playing under Proton would force me to choose between colour banding (Proton 6.3) vs too dark to play reasonably (Proton 5.13). I confirm this is an issue for both GotY and Revision versions, both under D3D renderer, with Radeon GPU and open-source drivers (Mesa 20.2.6, I believe).

Edit: Correction - D3D under Revision crashes with 'abnormal program termination' message, but behaviour under OpenGL matches behaviour for GotY D3D (colour banding under Proton 6.3, no brightness function under Proton 5.13).

kisak-valve commented 3 years ago

Hello @Wedge009, can you take a couple screenshots of the rendering artifacts that you're seeing with Proton 6.3 and share them? Also, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

aeikum commented 3 years ago

@Wedge009 I'm pretty sure the color banding can be fixed by using the 32-bit texture depth option in the game's Display settings. I'm not sure how it compares to Windows. (I'm only testing with GOTY edition in D3D mode.)

shoober420 commented 3 years ago

@Wedge009 Have you tried kentie’s D3D10 patch or the other opengl patch?

https://kentie.net/article/d3d10drv/

https://www.cwdohnal.com/utglr/

Wedge009 commented 3 years ago

I forgot to mention that, yes, I did try both 16-bit and 32-bit rendering, no apparent difference. Keep in mind no settings were changed between selecting Proton 5.13 and 6.3 - there is no colour banding with Proton 5.13 but I lose the brightness adjustment in that case.

I'm also aware of the third-party renderers but have not seen reason to use them yet - I was under the impression that Revision would have included renderer improvements, is that wrong?

zolstarym commented 3 years ago

On proton experimental. The brightness kinda makes some things brighter, but with the color banding or whatever it is called happening. 20210614164019_1

Trying 16bit in settings breaks the game with input not working and black screen, so this is with 32bit.

Wedge009 commented 3 years ago

@kisak-valve System information: https://gist.github.com/Wedge009/c5cf79fa19bdd9819576fb21f329b0d1 (sound card isn't reported correctly but I don't think that's relevant here...)

Proton 5.13-6, GotY D3D 32-bit (brightness adjustment does not work): 20210615094848_1

Proton 5.13-6, GotY D3D 16-bit (brightness adjustment does not work): 20210615095216_1

Proton 6.3-4: GotY D3D 32-bit (brightness adjustment does work): 20210615100223_1

Proton 6.3-4: GotY D3D 16-bit (brightness adjustment does work): 20210615095927_1

While 32-bit rendering under Proton 6.3 is a marginal improvement over 16-bit rendering, if you compare it to Proton 5.13's output, it still exhibits some colour banding - ie the gradient isn't as 'smooth' as the output for Proton 5.13. (Actually, on closer inspection it looks like Proton 6.3 increases the brightness and/or gamma with respect to 5.13 so perhaps that's where the banding comes from.)

Revision appears to behave in the same way as GotY. There's no option, at least within game, to switch between 16-bit and 32-bit rendering, and as mentioned above, D3D crashes on start-up for me, so this is with OpenGL.

Proton 5.13-6, Revision OpenGL 32-bit (brightness adjustment does not work): 20210615100831_1

Proton 6.3-4, Revision OpenGL 32-bit (brightness adjustment does work): 20210615101059_1

Hope that provides sufficient information to understand what I wrote yesterday.

shoober420 commented 3 years ago

@Wedge009 CWDonhal made the new D3D patch for Revision, I’m not sure if he made a newer OpenGL render for revision as well, or if revision bundles the same OpenGL render i linked (i don’t have revision).

Well if you’re running into rendering issues, I would always opt for the OpenGL render for more performance, and less bugs during the transition calls of what ever wrapper you’re using. This will use pure OpenGL with no need for Protons D3D wrapper.

I always played Deus Ex with the CWDohnal OpenGL patch, even on Windows. It always worked for me and had the best performance.

One thing to consider, since this is a Unreal 1 engine game, is that this engine was optimized for the Glide API. A lot of purist who play Unreal 1 engine games use a glide wrapper like nGlide. I would give nGlide a shot as well.

https://www.zeus-software.com/downloads/nglide

Considering this is one of my favorite games, i’m going to install and do some testing myself and post my results as well.

Wedge009 commented 3 years ago

With some games, I found the strange situation where D3D under Proton works but OpenGL under Proton doesn't. However in this case, with the 'stock' renderers provided I don't have a choice: only D3D is listed as 'compatible' for GotY and only OpenGL works for me under Revision.

As an aside, the only Glide-targeted game I've really played is Wing Commander Prophecy and Secret Ops, and the fan community has since created an OpenGL-based renderer for those games.

Back to the Proton situation, if others are doing testing besides me that would be good. More samples, can determine if it's an issue with Proton and/or my particular hardware/software stack, etc.

Edit: I forgot to mention that I did try getting screenshots from Windows 7 for comparison purposes but I was not getting images that accurately reflected what I was seeing in-game. However, for the purposes of my analysis above, Windows 7 rendering is smooth and brightness works (of course).

shoober420 commented 3 years ago

@Wedge009 It’s standard to tick the unsupported renderers button for GotY to use CWDonhal OpenGL. You can also change it in the .ini file or type “preferences” in the deus ex console and navigate the directory tree.

Which OpenGL renderer are you using? Does revision come with a new D3D and OpenGL render or just D3D?

Wedge009 commented 3 years ago

I'm aware of the unsupported renderer option but I thought to stick with what's 'recommended'. I only played Deus Ex for the first time in 2020 (late to the party, I know) so I'm not familiar with all the work-arounds, etc.

For Revision, I have D3D and OpenGL listed as supported renderers. There's no further detail on what 'OpenGL' entails. I'm not sure if this discussion is relevant to the colour banding issues specific to Proton, however. If it can be demonstrated that third-party rendering options work well under Proton I'd be willing to consider them.

aeikum commented 3 years ago

@Wedge009 Those screenshots above are perfect, thanks for reporting. We'll take a look.

shoober420 commented 3 years ago

On current proton experimental, i get the same brightness bug as @zolstarym, even using the new opengl renderer. When trying out Deus Ex with Proton-6.10-GE-1, the brightness bug is fixed.

Wedge009 commented 3 years ago

Sorry I never clarified: the horrible colouring that @zolstarym showed is the same one that I also tried to demonstrate.

By 'brightness bug is fixed' - does Adjust Brightness option still work? Would be interesting to know what GE is doing differently here, if so.

shoober420 commented 3 years ago

@Wedge009 If you want to stick to what’s recommended, you should following the pcgamingwiki page for deus ex goty. this especially goes for retro games in general.

https://www.pcgamingwiki.com/wiki/Deus_Ex

When using Proton Experimental as of this post, I get the same brightness bug as @zolstarym, even with the new opengl renderer. I then switched over to Proton-6.10-GE-1 and the brightness bug was fixed.

Wedge009 commented 3 years ago

I'm already aware of pcgamingwiki, thanks. My intention in reporting the bad colouration here was to try to offer feedback for Proton and my testing was only looking at 5.13 and 6.3 as I understand experimental is a moving target (constant development - and given your report not substantially different from 6.3 anyway). Aside from a .NET-based game, DX is the only non-Linux Steam game I have that I cannot play under Proton right now.

At any rate I've finished with DX for now and am replaying HR.

shoober420 commented 3 years ago

@Wedge009 Do you use Deus Exe and the unofficial patch V2 like pcgamingwiki suggests?

https://kentie.net/article/dxguide/#downloads

https://www.moddb.com/games/deus-ex/downloads/deus-ex-unofficial-patch-v2

Wedge009 commented 3 years ago

How does one run those things from Proton? Does it actually make a difference to the brightness issue? I've only seen you indicate that GE avoids the brightness problem.

To be clear, no issue with standard renderers when running under Windows. Only an issue when running on Linux with Proton. I understand this GitHub report is to do with Proton's handling of the standard game without use of third-party modifications.

shoober420 commented 3 years ago

@Wedge009 You install them like you would on Windows.

Since there’s two different brightness bugs, i should be more specific. Proton Experimental gives me the same washed out white textures as @zolstarym screenshot.

I get the same brightness slider bug you have with Proton-6.10-GE-1, but it’s fixed with Proton Experimental (but with the washed out textures).

Wedge009 commented 3 years ago

I have Wine installed separately - doesn't attempting to run Windows executables under Linux just go to Wine instead of the Proton container? And without Wine, the executables wouldn't run anyway.

I reiterate that my understanding of this GitHub report is not to act as tech support to the game in question but to highlight issues with Proton specifically. Given that my game experience with Windows is quite satisfactory without the use of third-party modifications, Proton should be able to produce the same or at least similar results. Since it is not (at least as of 6.3-5), I am providing my feedback here. I don't understand why third-party modifications continue to be promoted when I don't see them as being necessary or at least a distraction from the Proton-specific issues.

Clarifying the two issues:

As I originally stated on 14th June, the above issues result in a dilemma. Either struggle with overly dark environments (even accepting that the game is meant to be visually dark by design) or suffer unpleasant rendering artefacts not present in Windows. I understand aeikum and team are continuing to work on this but for the time being I had to make do with playing on Windows instead of Linux.

shoober420 commented 3 years ago

@Wedge009 Before I go on I have the same results with vanilla Deus Ex and default renders that you can easily change when going to "Settings", "Display Settings", and finally "Rendering Device...". Ignore the other way i said which requires hitting the T key at the title screen, and then Shift+Tilde to access the console (then "preferences").

If you want to play retro games, you should make it a habit to use community patches. Steam even will include community patches along with the game because of this. System Shock 2 is a great example. Just because you are fortunate to get vanilla Deus Ex running without patches, doesnt mean the next retro game you try will be so easy, which is why i recommend always checking pcgamingwiki, and using community patches from the start.

You also said you are using Revision, which is within itself, a community patched version of Deus Ex, so if you want to discuss Revision, you should create a Proton Github issue page for it, since it has its own unique appid (not 6910).

https://steamdb.info/app/397550/

You thinking Deus Ex is too dark with a certain render is only your opinion. This game was designed with CRTs in mind, so the default brightness for back in 2001 might be a little out of wack in 2021. Of course, the washed out textures in those screenshots are a different story. Minus that, there are alot of things to consider in terms of you thinking Deus Ex is too dark. Brightness levels vary from render too, its so wacky. It starts to come down to taste honestly.

Do you only play Unreal 1 based engine games with a Glide API wrapper only? Do you only play Quake 1 in software mode? Do you only play Doom with Chocolate Doom to preserve the aesthetic?

EDIT: I should also mention have you tried to change the brightness setting directly via the DeusEx.ini file?

Wedge009 commented 3 years ago

As mentioned several times above I have already tried the various different built-in renderers.

Please understand, I am not a 'newbie'. I have played games as old as the DOS-era from the early 1980s, tinkering with CONFIG.SYS and the like. I use 'community patches' where it is appropriate, which most of the time - at least for what I play - it is not necessary or suitable for my tastes. If DX on Windows does not require 'community patches', then I do not expect that DX via Proton should.

My comments are applicable to DX:GotY, which is what I understand this report to be about. Until and unless I find anything specific to Revision that does not affect GotY, I think it is fair to discuss Revision here. At the very least I think it has more relevance to this Proton discussion than unsupported, third-party modifications.

I do not believe it should be the case that running DX via Proton should require third-party modifications in order to achieve parity with unmodified DX on Windows. Even if you believe it is, you still have yet to confirm to me whether or not these third-party modifications make any difference to the rendering situation in Proton being discussed here.

I have already said that I understand DX is meant to be visually dark. My understanding is the non-functionality of the Adjust Brightness is due to the setting being ignored by older Wine/Proton, thus until Proton 6.3 the setting made no difference in DX. I know of CRTs and have played many games from that era, so if it were the case that the darkness is solely due to CRT vs LCD displays, then I would have encountered this discrepancy in brightness in applications outside of DX, which I have not.

To my knowledge, I do not play any other UE1-based games or anything resembling Quake or Doom, and I fail to see what relevance your questions are here. Please try to focus on the issue at hand, which is Proton's handling of DX:GotY. I appreciate you may be trying to help but increasingly I'm feeling like you're insisting that I should be following your practice of third-party modifications instead of focusing on Proton's handling of the game.

To humour you, I manually changed the Brightness factor in Deus Ex/System/DeusEx.ini from 0.5 to 1.0 - no difference that I can see. Retrying GotY under Proton 5.13-6, there is no appreciable difference from the default of Brightness=0.500000.

shoober420 commented 3 years ago

No, you technically cant compare the Revision patchset with goty patchset, especially since each game has its own appid for a reason. The Revision patchset has its own unique D3D render.

Its funny you being so against third party mods, but play Revision, lolol.

Dude, Revision was made because lots of people have trouble getting vanilla Deus Ex to work. You are forgetting how fortunate you are for getting Deus Ex to work vanilla with no mods. Then again, is it REALLY working 100%?

Its easy to understand my correlations. DX is NOT meant to be visually dark. Thats YOUR interpretation of the environment. This has nothing to do with the two brightness bugs present. The default D3D render brightness to one player may look how they remembered it compared to how you played it back then. Again, nothing to do with the actual brightness bugs.

Why, i prefer default brightness. It looks fine to me. I like it to look dark, i play my games dark. it looks like how i played it when i was a kid, very dark on a poopy pc.

Again, still has nothing to do with the actual two brightness bugs present, just that you thinking Deus Ex looks too dark on default D3D is your opinion, not a fact.

EDIT: You also questioning me how to run things from Proton gave me the impressing that you dont know what youre doing, especially one from the DOS era, wouldnt ask such a question. So pardon my assumption.

Wedge009 commented 3 years ago

I understand your point on Revision, but I am trying to focus on GotY here, as opposed third-party modifications.

And I am not necessarily against third-party modifications, I just don't see the need for them given GotY has been running fine on Windows without it. There's no need to degenerate into juvenile behaviour and mockery. Meanwhile you're completely missing my point that to compare DX on Windows against DX + modifications on Proton is introducing unnecessary variables, not to mention derailing what I understood was supposed to be a technical discussion about running DX on Proton.

Regarding your assertion that DX's default brightness is fine - that's your opinion, okay, that's fine, you're entitled to it. However, for my own assessment, comparing DX with other applications and games, even with its own internal UI, I find it is dark. These are both subjective assessments, just as you accuse me of having an opinion, you are also stating an opinion, not fact. I don't see anything wrong with these opinions, and if there was really anything wrong with considering DX to be too dark then the developers wouldn't have introduced an Adjust Brightness setting in the first place. Just because I don't wish to do things 'your way' with respect to third-party modifications or disagree with your opinion that DX brightness is 'just right' doesn't make my opinion any less valid. I should be able to use applications how I want to just as you should be able to do the same.

The main point I was trying to make from the very beginning, is that the rendering under Proton 6.3 is certainly flawed in spite of enabling the Adjust Brightness functionality. In spite of your repeated insistence on third-party modifications, I was merely trying to highlight this flaw.

I have tried to be constructive here but it's clear you're just continuing to attack me for the sake of doing things 'your way'. Thank you for reminding me why the Internet is such a toxic place.