dxgldotorg / dxgl

DXGL DirectX-to-OpenGL Wrapper source code
https://dxgl.org
GNU Lesser General Public License v2.1
200 stars 18 forks source link

Wine (7.0.1) + Syberia + scale #15

Open stephematician opened 2 years ago

stephematician commented 2 years ago

Apologies if this belongs elsewhere.

I've been able to get DXGL installed and running, however I'm stuck with scaling. I only have one DX7 game on hand to test (Syberia).

I had to disable (and, once finished, re-enable) the ddraw override in wine to run dxglcfg.exe (as per this comment), and added Syberia's game.exe (using defaults to begin with). This placed ddraw in GOG Games/Syberia where I have installed the game as expected.

The correct ddraw is being used (confirmed by WINEDEBUG=+loaddll output).

At first I tried fullscreen modes but Syberia always ran 800x600 regardless of DXGL. This also included emulating a "virtual desktop" under Wine with different resolutions versus not emulating. Aside from not being able to change resolution (note there is no in-game option to do so) the game renders fine - except for an unrelated loss-of-focus issue (see GOG Play Syberia 1 on Linux with wine for workarounds)

To run Syberia in windowed mode - I have to create player.ini with the following (0 is for windowed mode)

800 600 32 0 BaseCMO.cmo

The first two numbers are (known to be) ignored by the game - it will always select 800x600. Furthermore, no DXGL settings made any difference to the size. I tried many, but none made a difference. As an example (of many that did nothing):

[system]
NoWriteRegistry=true
[scaling]
; force 2x scale?
AdjustPrimaryResolution=4
WindowScaleX=2
WindowScaleY=2
[debug]
DebugTraceLevel=3

Upon exit I get an error, but otherwise the game renders fine. My problem is that it is a small 800x600 window.

Attached dxgl.log and the backtrace from the error upon exit (backtrace.txt)

Happy to troubleshoot further if needed.

stephematician commented 2 years ago

Updated original post with logs and backtrace details and some more details of steps taken.

stephematician commented 2 years ago

I have also used both the new and legacy builds of DXGL: the results were identical.