dnSpyEx / dnSpy

Unofficial revival of the well known .NET debugger and assembly editor, dnSpy
GNU General Public License v3.0
7.01k stars 459 forks source link

DnSpyEx under wine #340

Closed sassywoocoo closed 4 months ago

sassywoocoo commented 4 months ago

dnSpyEx version

6.5.1

Describe the Bug

the GUI is very buggy deeming the software unusuable

How To Reproduce

run under wine on linux

Expected Behavior

actually running properly

Actual Behavior

the gui keeps glitching and the buttons dont work

Additional Context

No response

ElektroKill commented 4 months ago

Hello, there is really nothing I can do in this regard. WPF is designed by Microsoft to run on Windows. Wine is trying its best to bridge the gap between Linux and Windows. The GUI being buggy is most likely not dnSpy code (it works fine on Windows) but rather an issue with the Wine compatibility layer which I can do nothing about. I've heard of many people trying to run dnSpy under Wine and achieving various degrees of success.

If you know of something specific in WPF that causes problems on Wine that can be changed without impacting the UX on Windows, I'd be willing to look into it. However, without anything like this, there is really nothing I can do as the issue lies within the compatibility layer which allows you to run a Windows app on Linux.

As for making the app work natively on Linux, this would necessitate a complete rewrite of the UI code to a different UI framework, something which I have no time to do currently and existing translation layers for WPF -> different UI frameworks exist but are not designed for open source developers to utilize, for example, Avalonia XPF.

SmallJoker commented 4 months ago

For those who are wondering how to get dnSpy 6.5.1 to run:

wine-9.13

Tested functionalities:

:ballot_box_with_check: Loading assembly with dependencies :ballot_box_with_check: Assembly symbol searches :ballot_box_with_check: IL code disassembler :ballot_box_with_check: IL code patching :ballot_box_with_check: Test of patched binary

If the system font is too small -> open winecfg by reconfiguring the launch executable of the newly created Steam library entry.

NopeNopeGuy commented 1 month ago
* wine-9.13 with dotnet48, dotnet40, DXVK (and also tried with WineD3D) does currently _NOT WORK_ and results in a very long error message

It does work, you probably didn't disable dxvk correctly because it seems to work just fine on a clean wineprefix with dotnet48

dagriefaa commented 1 month ago

i'll note that if it does boot via proton but popup menus and tooltips are black, using launch options PROTON_USE_WINED3D=1 %command% fixed that issue for me

edit: alternatively, install protontweaks, drill down to regedit, and add the following registry key: HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics -> DWORD DisableHWAcceleration 1