DirtBagXon / hypseus-singe

Hypseus is a SDL2 version of Daphne and Singe. Laserdisc game emulation.
https://discord.gg/dgCsCfmRfJ
GNU General Public License v3.0
143 stars 19 forks source link

Segmentation fault on RPi4 #61

Closed kwyxz closed 2 years ago

kwyxz commented 2 years ago

Greetings,

I've succesfully built hypseus 2.8.0 on a Raspberry Pi4 using the "RetroPie" branch and am able to launch a few games succesfully. However any attempt to run other games cause a segfault after succesfully parsing the txt file. It seems related to SDL but my GDB skills are subpar. I'm willing to run tests to help, just let me know what.

pi@pi4:/usr/local/lib/hypseus $ gdb ./hypseus 
GNU gdb (Raspbian 10.1-1.7) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./hypseus...
(gdb) run badlands vldp -framefile vldp/badlands/badlands.txt 
Starting program: /usr/local/lib/hypseus/hypseus badlands vldp -framefile vldp/badlands/badlands.txt
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
2022-01-28 18:34:48.345 INFO  [14995] [reset_logfile@324] Version v2.8.0-RPi
2022-01-28 18:34:48.346 INFO  [14995] [reset_logfile@328] Command line: /usr/local/lib/hypseus/hypseus badlands vldp -framefile vldp/badlands/badlands.txt 
[Detaching after vfork from child process 14998]
2022-01-28 18:34:48.346 INFO  [14995] [reset_logfile@329] CPU : UnknownCPU || Mem : 3584 megs
[Detaching after vfork from child process 15003]
2022-01-28 18:34:48.352 INFO  [14995] [reset_logfile@330] OS : Linux 5.10 || Video : BCM2835
2022-01-28 18:34:48.357 INFO  [14995] [reset_logfile@331] RGB2YUV Function: C
2022-01-28 18:34:48.357 INFO  [14995] [reset_logfile@337] Line Blending Function: C
2022-01-28 18:34:48.357 INFO  [14995] [reset_logfile@344] Audio Mixing Function: C
[New Thread 0xf689d3b0 (LWP 15008)]
[New Thread 0xf5eff3b0 (LWP 15009)]
2022-01-28 18:34:48.387 WARN  [14995] [sound::init@208] WARNING : requested 2048 samples for sound buffer, but got 1024 samples
2022-01-28 18:34:48.434 INFO  [14995] [SDL_input_init@445] No joysticks detected
2022-01-28 18:34:48.434 WARN  [14995] [CFG_Keys@296] keymapfile not found, using default
2022-01-28 18:34:48.434 INFO  [14995] [game::load_compressed_rom@946] Loading compressed ROM image badlands.a13 ... 8192 bytes read.
2022-01-28 18:34:48.435 INFO  [14995] [game::load_compressed_rom@946] Loading compressed ROM image badlands.a14 ... 8192 bytes read.
2022-01-28 18:34:48.435 INFO  [14995] [game::load_compressed_rom@946] Loading compressed ROM image badlands.c8 ... 8192 bytes read.
2022-01-28 18:34:48.435 INFO  [14995] [game::load_compressed_rom@946] Loading compressed ROM image badlands.c4 ... 32 bytes read.
2022-01-28 18:34:51.844 INFO  [14995] [ldp_vldp::read_frame_conversions@1043] Framefile parse succeeded. Video/Audio directory is: vldp/badlands/./
[New Thread 0xee2293b0 (LWP 15010)]

Thread 1 "hypseus" received signal SIGSEGV, Segmentation fault.
0xf7f50d44 in ?? () from /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0

Thank you!

kwyxz commented 2 years ago

Now thinking this could be a romset issue... looking into this first.

DirtBagXon commented 2 years ago

Now thinking this could be a romset issue... looking into this first.

I am unable to reproduce this.

Ensure you delete any existing .dat files in the game folder.

Can you also provide more details on the Pi OS environment, and SDL versions, you are running.

kwyxz commented 2 years ago

I tried an alternate set of roms and am having the same issue.

This Pi4 is running the latest Raspbian OS "stable".

$ cat /etc/debian_version 
11.2

SDL2 info:

$ dpkg -l | grep sdl2
ii  libsdl2-2.0-0:armhf                  2.0.14+dfsg2-3                   armhf        Simple DirectMedia Layer
ii  libsdl2-dev:armhf                    2.0.14+dfsg2-3                   armhf        Simple DirectMedia Layer development files
ii  libsdl2-image-2.0-0:armhf            2.0.5+dfsg1-2                    armhf        Image loading library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-image-dev:armhf              2.0.5+dfsg1-2                    armhf        Image loading library for Simple DirectMedia Layer 2, development files
ii  libsdl2-ttf-2.0-0:armhf              2.0.15+dfsg1-1                   armhf        TrueType Font library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-ttf-dev:armhf                2.0.15+dfsg1-1                   armhf        TrueType Font library for Simple DirectMedia Layer 2, development files

hypseus singe was built with cmake -DCMAKE_BUILD_TYPE=Debug if this helps.

DirtBagXon commented 2 years ago

As you didn't detail, can you confirm you tried deleting the .dat files and allowing Hypseus to recreate them ? This should not segfault, but I have observed strange behaviour when incompatible .dat files exist.

I notice this is a 32bit OS armhf on the Pi4.

I have just run a burn test on the aarch64 version on the Pi4:

pi@raspberrypi:~/hypseus-singe/build $ uname -a 
Linux raspberrypi 5.10.63-v8+ #1459 SMP PREEMPT Wed Oct 6 16:42:49 BST 2021 aarch64 GNU/Linux

pi@raspberrypi:~/hypseus-singe/build $ find / -name libSDL2-2.0.so.0 2>/dev/null
/usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0

pi@raspberrypi:~/hypseus-singe/build $ dpkg -l | grep sdl2
ii  libsdl2-2.0-0:arm64                  2.0.14+dfsg2-3                   arm64        Simple DirectMedia Layer
ii  libsdl2-dev:arm64                    2.0.14+dfsg2-3                   arm64        Simple DirectMedia Layer development files
ii  libsdl2-image-2.0-0:arm64            2.0.5+dfsg1-2                    arm64        Image loading library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-image-dev:arm64              2.0.5+dfsg1-2                    arm64        Image loading library for Simple DirectMedia Layer 2, development files
ii  libsdl2-net-2.0-0:arm64              2.0.1+dfsg1-4+b1                 arm64        Network library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-net-dev:arm64                2.0.1+dfsg1-4+b1                 arm64        Network library for Simple DirectMedia Layer 2, development files
ii  libsdl2-ttf-2.0-0:arm64              2.0.15+dfsg1-1                   arm64        TrueType Font library for Simple DirectMedia Layer 2, libraries
ii  libsdl2-ttf-dev:arm64                2.0.15+dfsg1-1                   arm64        TrueType Font library for Simple DirectMedia Layer 2, development files
2022-01-29 23:18:11.110 INFO  [2802] [reset_logfile@324] Version v2.8.0-RPi
2022-01-29 23:18:11.111 INFO  [2802] [reset_logfile@328] Command line: ./hypseus badlands vldp -bank 1 10000001 -bank 0 00000000 -framefile /home/pi/.daphne/vldp/badlands/badlands.txt -homedir /home/pi/.daphne -datadir /home/pi/.daphne -sound_buffer 2048 -volume_nonvldp 5 -volume_vldp 20 
2022-01-29 23:18:11.111 INFO  [2802] [reset_logfile@329] CPU : UnknownCPU || Mem : 3776 megs
2022-01-29 23:18:11.122 INFO  [2802] [reset_logfile@330] OS : Linux 5.10 || Video : BCM2835
2022-01-29 23:18:11.139 INFO  [2802] [reset_logfile@331] RGB2YUV Function: C
2022-01-29 23:18:11.139 INFO  [2802] [reset_logfile@337] Line Blending Function: C
2022-01-29 23:18:11.140 INFO  [2802] [reset_logfile@344] Audio Mixing Function: C
2022-01-29 23:18:11.159 WARN  [2802] [sound::init@208] WARNING : requested 2048 samples for sound buffer, but got 1024 samples
2022-01-29 23:18:11.245 INFO  [2802] [SDL_input_init@445] No joysticks detected
2022-01-29 23:18:11.247 INFO  [2802] [game::load_compressed_rom@946] Loading compressed ROM image badlands.a13 ... 8192 bytes read.
2022-01-29 23:18:11.247 INFO  [2802] [game::load_compressed_rom@946] Loading compressed ROM image badlands.a14 ... 8192 bytes read.
2022-01-29 23:18:11.248 INFO  [2802] [game::load_compressed_rom@946] Loading compressed ROM image badlands.c8 ... 8192 bytes read.
2022-01-29 23:18:11.248 INFO  [2802] [game::load_compressed_rom@946] Loading compressed ROM image badlands.c4 ... 32 bytes read.
2022-01-29 23:18:13.192 INFO  [2802] [ldp_vldp::read_frame_conversions@1043] Framefile parse succeeded. Video/Audio directory is: /home/pi/.daphne/vldp/badlands/./
2022-01-29 23:18:13.520 WARN  [2802] [ldv1000::pre_display_disable@451] Display disable received (unsupported)
2022-01-29 23:18:14.885 WARN  [2802] [ldv1000::write@430] Unsupported LD-V1000 Command Received: 0
2022-01-29 23:18:15.035 WARN  [2802] [ldv1000::write@430] Unsupported LD-V1000 Command Received: f2
2022-01-29 23:18:15.185 WARN  [2802] [ldv1000::write@430] Unsupported LD-V1000 Command Received: f2
2022-01-29 23:18:15.318 WARN  [2802] [ldv1000::pre_display_disable@451] Display disable received (unsupported)

There are no issues in the 64bit aarch64 implementation with these exact same versions.

I also built a -DCMAKE_BUILD_TYPE=Debug version, as you detailed, to confirm - again no issues.

Please ensure you are supplying the required argument for -homedir and/or -datadir to hypseus.

As the RetroPie distribution is running on 32bit armhf on Pi4, and has not reported issues, I can only conclude this is an issue with your installation, or the SDL libraries. You could try forcing a reinstall of the SDL2 packages in case there is some corruption on the SD card.

kwyxz commented 2 years ago

Thank you for checking, yes I did try to delete the dat files and it did not help. Adding homedir and datadir did not help either. The really odd part is that hypseus works fine with several games (Dragon's Lair, Space Ace, Astron Belt or Cliffhanger) but crashes with Badlands or Road Blasters. The issue could be that I am currently using a 32bit OS with a 64bit kernel, indeed. I'll try that next. Thank you!

$ uname -a
Linux pi4 5.10.63-v8+ #1496 SMP PREEMPT Wed Dec 1 15:59:46 GMT 2021 aarch64 GNU/Linux
DirtBagXon commented 2 years ago

From your last description, this sounds like the old char signedness RPi bug, which was fixed here:

https://github.com/DirtBagXon/hypseus-singe/commit/be31cfb503b00e6f493d217287c1f592aec4820b

To my knowledge this has not been encountered since that patch... Curious.....

kwyxz commented 2 years ago

Thanks again for researching this. I believe there's a good chance it's a different issue, as bega works for me. Here are all the games I was able to test that start properly (video and sound start OK)

Here are the games that make hypseus segfault:

I tried alternate versions of the games (both vldp and roms) with no luck, unfortunately. Here's the output I get when running Cobra Command, for example (with all old DAT files cleaned up)

[version] Hypseus Singe: v2.8.0-RPi
[console] Setting alternate home dir: /usr/local/lib/hypseus
2022-01-29 21:42:46.823 INFO  [1862] [reset_logfile@324] Version v2.8.0-RPi
2022-01-29 21:42:46.824 INFO  [1862] [reset_logfile@328] Command line: /usr/local/lib/hypseus/hypseus cobra vldp -homedir /usr/local/lib/hypseus -datadir /usr/local/lib/hypseus -framefile /usr/local/lib/hypseus/vldp/cobra/cobra.txt 
2022-01-29 21:42:46.824 INFO  [1862] [reset_logfile@329] CPU : UnknownCPU || Mem : 3584 megs
2022-01-29 21:42:46.828 INFO  [1862] [reset_logfile@330] OS : Linux 5.10 || Video : BCM2835
2022-01-29 21:42:46.833 INFO  [1862] [reset_logfile@331] RGB2YUV Function: C
2022-01-29 21:42:46.833 INFO  [1862] [reset_logfile@337] Line Blending Function: C
2022-01-29 21:42:46.833 INFO  [1862] [reset_logfile@344] Audio Mixing Function: C
2022-01-29 21:42:46.852 WARN  [1862] [sound::init@208] WARNING : requested 2048 samples for sound buffer, but got 1024 samples
2022-01-29 21:42:46.864 INFO  [1862] [SDL_input_init@445] No joysticks detected
2022-01-29 21:42:46.864 WARN  [1862] [CFG_Keys@296] keymapfile not found, using default
2022-01-29 21:42:46.864 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au03-2 ... 8192 bytes read.
2022-01-29 21:42:46.865 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au02-2 ... 8192 bytes read.
2022-01-29 21:42:46.865 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au01-2 ... 8192 bytes read.
2022-01-29 21:42:46.865 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au00-2 ... 8192 bytes read.
2022-01-29 21:42:46.866 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au06 ... 8192 bytes read.
2022-01-29 21:42:46.866 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au0c ... 8192 bytes read.
2022-01-29 21:42:46.867 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au0b ... 8192 bytes read.
2022-01-29 21:42:46.867 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au0a ... 8192 bytes read.
2022-01-29 21:42:46.867 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au09 ... 8192 bytes read.
2022-01-29 21:42:46.868 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au08 ... 8192 bytes read.
2022-01-29 21:42:46.868 INFO  [1862] [game::load_compressed_rom@946] Loading compressed ROM image au07 ... 8192 bytes read.
2022-01-29 21:42:48.007 ERROR [1862] [printnowookin@63] Game does not wook properly (graphics ploblems)
2022-01-29 21:42:49.007 INFO  [1862] [ldp_vldp::read_frame_conversions@1043] Framefile parse succeeded. Video/Audio directory is: /usr/local/lib/hypseus/vldp/cobra/./
Segmentation fault

I can try and debug using gdb if it helps, if you'd like to guide me a bit into what to do. I'm still considering converting my entire OS to aarch64 but need to look first if it's going to break other things I use on this Pi4. Thank you again!

DirtBagXon commented 2 years ago

Before you commit to the aarch64 shift.

Can you try and remove the latest commit with the 32bit VLDP changes.

On the RetroPie branch reset to 1e11dbb0f19edf96fecb8fced5f1acf84cdc05cf

git reset -hard 1e11dbb0f19edf96fecb8fced5f1acf84cdc05cf

I would like to see if this is related....

kwyxz commented 2 years ago

Segfaults with this version too:

pi@pi4:/usr/local/src/hypseus-singe/build $ ./hypseus cobra vldp -homedir /usr/local/lib/hypseus -datadir /usr/local/lib/hypseus -framefile /usr/local/lib/hypseus/vldp/cobra/cobra.txt
[version] Hypseus Singe: v2.6.21-RPi-1
[console] Setting alternate home dir: /usr/local/lib/hypseus
2022-01-30 09:59:53.416 INFO  [7239] [reset_logfile@324] Version v2.6.21-RPi-1
2022-01-30 09:59:53.418 INFO  [7239] [reset_logfile@328] Command line: ./hypseus cobra vldp -homedir /usr/local/lib/hypseus -datadir /usr/local/lib/hypseus -framefile /usr/local/lib/hypseus/vldp/cobra/cobra.txt 
2022-01-30 09:59:53.418 INFO  [7239] [reset_logfile@329] CPU : UnknownCPU || Mem : 3584 megs
2022-01-30 09:59:53.425 INFO  [7239] [reset_logfile@330] OS : Linux 5.10 || Video : BCM2835
2022-01-30 09:59:53.430 INFO  [7239] [reset_logfile@331] RGB2YUV Function: C
2022-01-30 09:59:53.430 INFO  [7239] [reset_logfile@337] Line Blending Function: C
2022-01-30 09:59:53.430 INFO  [7239] [reset_logfile@344] Audio Mixing Function: C
2022-01-30 09:59:53.498 WARN  [7239] [sound::init@208] WARNING : requested 2048 samples for sound buffer, but got 1024 samples
2022-01-30 09:59:53.510 INFO  [7239] [SDL_input_init@445] No joysticks detected
2022-01-30 09:59:53.510 WARN  [7239] [CFG_Keys@296] keymapfile not found, using default
2022-01-30 09:59:53.512 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au03-2 ... 8192 bytes read.
2022-01-30 09:59:53.513 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au02-2 ... 8192 bytes read.
2022-01-30 09:59:53.514 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au01-2 ... 8192 bytes read.
2022-01-30 09:59:53.514 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au00-2 ... 8192 bytes read.
2022-01-30 09:59:53.515 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au06 ... 8192 bytes read.
2022-01-30 09:59:53.515 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au0c ... 8192 bytes read.
2022-01-30 09:59:53.516 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au0b ... 8192 bytes read.
2022-01-30 09:59:53.516 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au0a ... 8192 bytes read.
2022-01-30 09:59:53.516 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au09 ... 8192 bytes read.
2022-01-30 09:59:53.517 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au08 ... 8192 bytes read.
2022-01-30 09:59:53.517 INFO  [7239] [game::load_compressed_rom@946] Loading compressed ROM image au07 ... 8192 bytes read.
2022-01-30 09:59:54.652 ERROR [7239] [printnowookin@63] Game does not wook properly (graphics ploblems)
2022-01-30 09:59:55.653 INFO  [7239] [ldp_vldp::read_frame_conversions@1043] Framefile parse succeeded. Video/Audio directory is: /usr/local/lib/hypseus/vldp/cobra/./
Segmentation fault
DirtBagXon commented 2 years ago

Ok, well the good news is it isn't the VLDP changes, which are the only recent changes in the Daphne side of the codebase for some time.

The bad news is, I am at a loss to see where error is occurring. I have setup a 64bit kernel with 32bit userspace on a Pi4 using Raspbian and am unable to replicate.

The only real clue we have here is in your first post:

Thread 1 "hypseus" received signal SIGSEGV, Segmentation fault.
0xf7f50d44 in ?? () from /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0

Which still leads me to believe this is SDL library, or display type, and implementation specific.

kwyxz commented 2 years ago

I appreciate your help, I will try and switch the entire system to aarch64 and give it another go. Thanks again!

DirtBagXon commented 2 years ago

Another notion occurred to me: Looking at the list of games you state are having issues, these appear to be the games that resize the SDL window when HD MPEG-2 video is present in a Daphne game. I cannot see a reason for this to segfault at this point, (they re-use a pre-existing Daphne repaint() function), but I don't know your display environment.

Can you try pulling the libmpeg2 branch. I have pushed an update to remove that function on these games.

git clone --single-branch --branch libmpeg2 https://github.com/DirtBagXon/hypseus-singe.git

Could you detail the display environment for this implementation, if using CRT, or any adaptors etc, that may interact indirectly with SDL's ability to read displays....

kwyxz commented 2 years ago

I use kms on the Pi4, without X11, on a simple 11' LCD screen. And you're onto something!! Using this branch, I was able to start:

Now hayate-hd and timegal-hd still segfault, but they do so after displaying this:

2022-01-30 15:37:00.869 INFO  [9288] [video::init_display@264] Repaint dimensions: 1440x1080

and

2022-01-30 15:36:34.564 INFO  [9266] [video::init_display@264] Repaint dimensions: 1280x960

so it's very probably related too.

kwyxz commented 2 years ago

Note that I am able to read the mpeg2 files directly using ffplay.

DirtBagXon commented 2 years ago

I use kms on the Pi4, without X11, on a simple 11' LCD screen. And you're onto something!! Using this branch, I was able to start:

  • badlands
  • cobra
  • esh
  • roadblaster
  • sdq

Ok, so SDL isn't working too well with your display, It's failing around here in both Daphne and SInge:

https://github.com/DirtBagXon/hypseus-singe/blob/706d56ac890ecbbeafc427ca36af3bfa2c23f3ac/src/video/video.cpp#L267

I have disabled the resize in all the Daphne games in that branch. (I will probably revert this change as this issue appears to be hardware specific).

The issue is Singe is probably not going to work if you disable this resize. It is required for the game overlay size calculation and placement.

Now hayate-hd and timegal-hd still segfault, but they do so after displaying this:

2022-01-30 15:37:00.869 INFO  [9288] [video::init_display@264] Repaint dimensions: 1440x1080
2022-01-30 15:36:34.564 INFO  [9266] [video::init_display@264] Repaint dimensions: 1280x960

As you can see games have different video dimensions that are used in the calculation of the overlay placement during the resize. This is required in all Singe games.

You can look to disable the resize in SInge in this function:

https://github.com/DirtBagXon/hypseus-singe/blob/706d56ac890ecbbeafc427ca36af3bfa2c23f3ac/src/game/singe.cpp#L455

But I don't think the overlay will be in a playable state......

You can possibly use the Daphne games from the current build.....

It's possible that future SDL2 library updates may provide better support for this display, it does appear to be fairly immature, on the Pi, in a few areas. You could try the aarch64 route, but I am not certain it will remedy this...

Edit: I'll add the existing branch patch here for future reference: remove_resize_patch.txt

kwyxz commented 2 years ago

So.

I basically commented out all of this in src/game/singe.cpp :

    if ((cur_w != m_video_overlay_width) || (cur_h != m_video_overlay_height)) {
        if (g_ldp->lock_overlay(1000)) {
            m_video_overlay_width  = cur_w;
            m_video_overlay_height = cur_h;

            g_pSingeOut->sep_set_surface(m_video_overlay_width, m_video_overlay_height);

            shutdown_video();
            if (!init_video()) {
                printline(
                    "Fatal Error, trying to re-create the surface failed!");
                game::set_game_errors(SINGE_ERROR_INIT);
                set_quitflag();
            }
            g_ldp->unlock_overlay(1000); // unblock game video overlay
        } else {
            g_pSingeOut->sep_print(
                "Timed out trying to get a lock on the yuv overlay");
            return;
        }
    } // end if dimensions are incorrect

and...

timegal-hd and hayate-hd both work.

So I guess I'll just apply the patch for the Daphne games, and it basically solves all my issues. It definitely seems to be a SDL2 bug with the video resizing, but disabling it just works. Odd, indeed.

Anyway, thanks again for all your help. I think this issue can be closed, since it's so specific to my hardware and can be worked around.

DirtBagXon commented 2 years ago

Note: The commit (https://github.com/DirtBagXon/hypseus-singe/commit/c7ab473efd197352bf9507b51579e03fe7989d15) might also fix the issues you had here...

kwyxz commented 2 years ago

Thank you for the followup! I won't have a chance to test this for a while as my stuff is packed in boxes while I am moving, but will give it a try asap.