• 1
  • 164
  • 165
  • 166
  • 167
  • 168(current)
RetroPlayer Test Builds (updated for Nexus)
(2024-05-10, 05:45)garbear Wrote: @KOPRajs Should I remove "Many multipass shaders are not rendered correctly" from the release notes?

I'm afraid, that this one is not to be removed any time soon. Some of the multipass shaders are now rendering correctly, but we are still missing a lot.

TODO of issues that I'm currently aware of:
- resolve the scaling issue
- fix GLSL headers (generate correct #version tag and define PARAMETER_UNIFORM for vertex shaders)
- add support for LUTTexCoords
- generate mipmaps for the FBO texture if requested by the shader preset

I'm now trying to solve the issue with scaling. It affects all shaders, even single pass, when the stretch mode is set to anything else than Fullscreen. Since most of the retro games are meant to be played in 4:3 and most of the Kodi setups are running on the 16:9 screens, technically it affects all shaders (it depends on the shader itself, whether the issue is visible in the result or not, that is how I've already managed to get 1:1 output compared to RetroArch for some shaders). The problem is, that the last shader pass (or the single pass) is currently always set to render to the full viewport (screen size). The result is then stretched to 4:3 if required by the stretch mode setting.

The picture below demonstrates the issue. Images in the first row show what happens now. Lets think of the CRT Easymode single pass shader. The original game output is 4:3, it is stretched to fullscreen 16:9 and the shader applies a grid of CRT pixels on it, then the result is stretched to 4:3 and the CRT pixels become distorted (non-square). Hence the output does not match the output from RetroArch.

Image

One possible solution would be to not render to the full viewport. Instead first calculate the stretched viewport and then render the shader directly to it. However, this seems to be more complicated, because the code is using a lot of calculations based on the viewport size. It would probably take a minor refactoring to accomplish that.

There is the other possible solution. We may use the uniform parameter to pass the information about the stretched viewport size to the shader itself. Then we can keep rendering the shader to the full viewport, but it will calculate the size of the CRT grid based on the information it gets, so it will render the grid stretched to 16:9. After the result is stretched back to 4:3, we will get the correct output (the second row in the picture above demonstrates this approach). I've already tested this idea by passing static values for my screen to the shader and the result is the same as in RetroArch (at least I can't tell the difference by comparing the images visually).

Currently, I'm experimenting and trying to find which of the solutions might be better. Also, I'm limited to a solution that I can actually get to work (preferably for all platforms including Windows).
Reply
@garbear While testing my new patch for the scaling issue in Windows I've noticed that shaders on Windows are partially broken.

Code:
2024-05-16 07:52:32.000 T:5196    ERROR <general>: File::Open - already open: C:\Program Files\Kodi\system\shaders\presets\HLSL\include\ntsc-pass1-vertex.inc
2024-05-16 07:52:32.000 T:5196    ERROR <general>: File::Open - already open: C:\Program Files\Kodi\system\shaders\presets\HLSL\ntsc\shaders\ntsc-pass1-vertex.inc
2024-05-16 07:52:32.000 T:5196    ERROR <general>: File::Open - already open: special://xbmc/system/shaders/ntsc-pass1-vertex.inc
2024-05-16 07:52:32.000 T:5196    ERROR <general>: CD3DEffect::Open: Could not open include file: special://xbmc/system/shaders/ntsc-pass1-vertex.inc
2024-05-16 07:52:32.000 T:5196    ERROR <general>: CD3DEffect::CreateEffect(): warning X4717: Effects deprecated for D3DCompiler_47
                                                   (5,10-32): error X1507: failed to open source file: 'ntsc-pass1-vertex.inc'
                                                    
2024-05-16 07:52:32.000 T:5196    ERROR <general>: %s: failed to load video shader: %s
2024-05-16 07:52:32.000 T:5196    ERROR <general>: Couldn't create a video shader
2024-05-16 07:52:32.000 T:5196  WARNING <general>: CShaderPresetDX::Update: Failed to initialize shaders. Disabling video shaders.

It seems that all NTSC shaders stopped working in RP 20.0 alpha2. They were working fine in RP 19.4. Probably something got broken during the porting to Nexus.

EDIT: Possibly the include file for the shader is just being looked for in a wrong (old) path, because the shader files were moved to the addon in Nexus.
Reply
The patch for the scaling issue is here: a2163ff

These are screenshots before and after the patch (it affects the thumbnails as well):
ImageImage

With this patch applied the CRT Easymode finally renders the same output as in RetroArch.
Reply
(2024-04-12, 20:40)htpcero Wrote: I noticed the Kodi 21 flatpak includes a game, MrBoom, but it crashes kodi when attempting to run it.
This is on Linux, ubuntu 23.10, Intel N100. Using GBM windowing (no X11/wayland)

Are there others running into the same problem?

The last few lines of the crashlog are:

crashlog:
2024-04-12 01:11:30.712 T:1032     info <general>: Skipped 2 duplicate messages..
2024-04-12 01:11:30.712 T:1032  warning <general>: CreateLoader - unsupported protocol(thumb) in thumb://None/
2024-04-12 01:11:31.240 T:1032    error <general>: Could not find suitable input format: x-directory/normal
2024-04-12 01:11:37.935 T:7        info <general>: RetroPlayer[PROCESS]: Created process info for GBM
2024-04-12 01:11:37.949 T:7       error <general>: Create - Error creating /app/share/kodi/addons/game.libretro.mrboom/resources/system
2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-teammode', 'Team mode; Selfie|Color|Sex|Skynet' }

2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-nomonster', 'Monsters; ON|OFF' }

2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-levelselect', 'Level select; Normal|Candy|Penguins|Pink|Jungle|Board|Soccer|Sky|Aliens|Random' }

2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-aspect', 'Aspect ratio; Native|4:3|16:9' }

2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-musicvolume', 'Music volume; 100|0|5|10|15|20|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95' }

2024-04-12 01:11:37.950 T:7        info <general>: AddOnLog: game.libretro.mrboom: retro_variable (SYSTEM)    { 'mrboom-sfxvolume', 'Sfx volume; 50|55|60|65|70|75|80|85|90|95|100|0|5|10|15|20|25|30|35|40|45' }

2024-04-12 01:11:37.997 T:7        info <general>: GAME: ------------------------------------
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Loaded DLL for game.libretro.mrboom
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Client:              Mr.Boom (Bomberman)
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Version:             5.3.0.157
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Valid extensions:
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Supports VFS:        true
2024-04-12 01:11:37.997 T:7        info <general>: GAME: Supports standalone: true
2024-04-12 01:11:37.997 T:7        info <general>: GAME: ------------------------------------
2024-04-12 01:11:37.997 T:7        info <general>: RetroPlayer[PLAYER]: Opening standalone
2024-04-12 01:11:37.998 T:7       error <general>: AddOnLog: game.libretro.mrboom: HARDCODED_RETRO_SERIALIZE_SIZE=SIZE_SER+13*8

2024-04-12 01:11:37.998 T:7        info <general>: GAME: ---------------------------------------
2024-04-12 01:11:37.998 T:7        info <general>: GAME: Game loop:      true
2024-04-12 01:11:37.998 T:7        info <general>: GAME: FPS:            60.000000
2024-04-12 01:11:37.998 T:7        info <general>: GAME: Sample Rate:    48000.000000
2024-04-12 01:11:37.998 T:7        info <general>: GAME: Region:         NTSC
2024-04-12 01:11:37.998 T:7        info <general>: GAME: Savestate size: 18408
2024-04-12 01:11:37.998 T:7        info <general>: GAME: ---------------------------------------
2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 0.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 1.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 2.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 3.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 4.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 5.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 6.

2024-04-12 01:11:37.998 T:7        info <general>: AddOnLog: game.libretro.mrboom: Mr.Boom: Plugging device 1 into port 7.

2024-04-12 01:11:37.998 T:7       error <general>: Cheevos: Couldn't load patch file
2024-04-12 01:11:38.110 T:7        info <general>: Loading skin file: VideoFullScreen.xml, load type: KEEP_IN_MEMORY
2024-04-12 01:11:38.129 T:1639     info <general>: RetroPlayer[RENDER]: Configuring format 0RGB32, nominal 320x200, max 320x200
2024-04-12 01:11:38.130 T:1639     info <general>: RetroPlayer[AUDIO]: Creating audio stream, format = AE_FMT_S16NE, sample rate = 48000, channels = 2
2024-04-12 01:11:38.130 T:21       info <general>: CActiveAESink::OpenSink - initialize sink
2024-04-12 01:11:38.135 T:7        info <general>: RetroPlayer[RENDER]: Renderer configured on first frame
2024-04-12 01:11:38.169 T:21       info <general>: PulseAudio: Opened device Default in pcm mode with Buffersize 150 ms Periodsize 50 ms


############### END LOG FILE ################

############ END Kodi CRASH LOG #############

Hello,
Some bugs have been fixed, please update to the latest mrboom version...
Reply
  • 1
  • 164
  • 165
  • 166
  • 167
  • 168(current)

Logout Mark Read Team Forum Stats Members Help
RetroPlayer Test Builds (updated for Nexus)16