Developpers, do you plan to...

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
legluondunet
Posts: 51
Joined: Fri Jan 30, 2015 9:24 am

Developpers, do you plan to...

Post by legluondunet »

Hello ScummVM developpers,

I'm just curious to know if you plan to add this features to ScummVM:

- SDL2?
- Vulkan?
- UTF-8?

Thanks for your answers.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

SDL2 – yes, we already have it working.
UTF-8 – depends on the area. Some engines like Wintermute already support it. For GUI, probably, but not soon. For filesystems – hardly, as it is not portable enough.
Vulkan – do you mean 3D API from Nvidia? Then no, it is out of scope of ScummVM.


Eugene
User avatar
legluondunet
Posts: 51
Joined: Fri Jan 30, 2015 9:24 am

Post by legluondunet »

sev wrote:SDL2 – yes, we already have it working.
So how could I compile ScummVM with SDL2 enabled on linux?
Will I see a difference?
sev wrote:UTF-8 – depends on the area. Some engines like Wintermute already support it. For GUI, probably, but not soon.
Yes I talked about the GUI.
sev wrote:Vulkan – do you mean 3D API from Nvidia? Then no, it is out of scope of ScummVM.
Vulkan is not a 3D Api from Nvidia, it is:

- a opengl replacement with higher performance
- multiplatform API (PC, mobile...)
- it is a DirectX12 equivalent for all OS

More info here:
https://en.wikipedia.org/wiki/Vulkan_%28API%29
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

legluondunet wrote: So how could I compile ScummVM with SDL2 enabled on linux?
Specify SDL_CONFIG environment variable to path to your sdl2-config
legluondunet wrote:Will I see a difference?
Not really.
legluondunet wrote:
sev wrote:UTF-8 – depends on the area. Some engines like Wintermute already support it. For GUI, probably, but not soon.
Yes I talked about the GUI.
Why do you need it? Currently we support per-language code pages.
legluondunet wrote: Vulkan is not a 3D Api from Nvidia, it is:

- a opengl replacement with higher performance
- multiplatform API (PC, mobile...)
- it is a DirectX12 equivalent for all OS
Not all OSes. Windows/Linux and Android is much less multiplatform than the plain OpenGL. We are not using any fancy features, no 3D. So why should we support yet-another-3D-graphics-API? What are the advantages?


Eugene
shmerl
Posts: 21
Joined: Mon Aug 05, 2013 12:49 am

Re:

Post by shmerl »

sev wrote: Thu Mar 31, 2016 10:11 amNot all OSes. Windows/Linux and Android is much less multiplatform than the plain OpenGL. We are not using any fancy features, no 3D. So why should we support yet-another-3D-graphics-API? What are the advantages?
Vulkan should be seen as a replacement for OpenGL. Not a drop in replacement, but still. One of the reasons to avoid OpenGL is that Vulkan going forward is going to get better maintenance while OpenGL will be relegated to legacy support.

To give a recent example.

I was trying to run Loom in ScummVM using MangoHUD, which has its pre-loader for Vulkan and for OpenGL. OpenGL one didn't work with ScummVM / Loom code. Vulkan would have worked fine becasue Vulkan path uses standard layers loading instead of hacks around hijacking OpenGL functions with preloader hooks.

And that's just one example.

Note: I was able to work around the above by using zink (OpenGL over Vulkan, lol), instead of stock radeonsi (AMD OpenGL driver) since ManghoHUD uses Vulkan layer in that scenario.

So I'd say having a Vulkan renderer in ScummVM would be a good thing, regardless of graphics features it uses.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Re: Developpers, do you plan to...

Post by eriktorbjorn »

Apparently one of the plans for SDL 3 is some kind of 3D rendering API. I wonder if that will be of any use to ScummVM:

https://discourse.libsdl.org/t/future-3d-api/33485

There was also mention of it in a recent AMA: https://www.reddit.com/r/gamedev/commen ... _anything/

"Custom shaders is one the way, but has not landed in revision control yet! We're planning to introduce a 3D API that wraps Vulkan/Direct3d12/Metal/etc and gives the programmer access to shaders, PSOs, etc. Stay tuned!"

(Which doesn't mean a whole lot to me, but maybe someone else can make sense of it.)
shmerl
Posts: 21
Joined: Mon Aug 05, 2013 12:49 am

Re: Developpers, do you plan to...

Post by shmerl »

eriktorbjorn wrote: Sun Jun 02, 2024 11:00 am Apparently one of the plans for SDL 3 is some kind of 3D rendering API. I wonder if that will be of any use to ScummVM:

https://discourse.libsdl.org/t/future-3d-api/33485

There was also mention of it in a recent AMA: https://www.reddit.com/r/gamedev/commen ... _anything/

"Custom shaders is one the way, but has not landed in revision control yet! We're planning to introduce a 3D API that wraps Vulkan/Direct3d12/Metal/etc and gives the programmer access to shaders, PSOs, etc. Stay tuned!"

(Which doesn't mean a whole lot to me, but maybe someone else can make sense of it.)
I guess it depends whether features that wrapper exposes are sufficient for whatever needs scummvm is using OpenGL now. If yes - then it can be an option probably. Otherwise scummvm can plug into Vulkan directly. Or use some other wrapper, like wgpu-native may be? https://github.com/gfx-rs/wgpu-native

I'd say wgpu wrapper and its ecosystem is probably way ahead of SDL in this kind of thing (i.e. providing modern higher level abstraction over graphics APIs).
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3561
Joined: Mon Oct 31, 2005 7:39 am

Re: Developpers, do you plan to...

Post by eriktorbjorn »

Either way, it's not something I ever plan on looking at myself. I don't really know anything about it, Vulkan is experimental on my hardware, and I use "SDL Surface" anyway because the OpenGL graphics mode doesn't offer me anything I need or want. :)
Post Reply