这是indexloc提供的服务,不要输入任何密码
Skip to content

How to run Ecode natively on Wayland #404

@ghost

Description

Issue #344 shows that on Linux, Ecode runs natively on Wayland. But when checked using xeyes, which is often used to check if an application is using X11 or not, this shows Ecode is not running on Wayland but using X11.

When the X11 specific DISPLAY variable is unset, Ecode will segfault at startup.

I tried this with Ecode built from source, and with an Ecode binary package downloaded from sourceforge; both show X11 is being used.

In another attempt I did first build SDL2 with X11 support disabled, and then tried to build Ecode against it which resulted in error:

../../src/eepp/window/backend/SDL2/wminfo.cpp: In member function ‘_XDisplay* EE::Window::Backend::SDL2::WMInfo::getWindowHandler() const’:
../../src/eepp/window/backend/SDL2/wminfo.cpp:52:27: error: ‘union SDL_SysWMinfo::<unnamed>’ has no member named ‘x11’
     52 |         return info->info.x11.display;

File eepp/window/backend/SDL2/wminfo.cpp shows there is a check for these platforms:
EE_PLATFORM_WIN EE_PLATFORM_MACOS EE_X11_PLATFORM EE_PLATFORM_IOS EE_PLATFORM_ANDROID

So there does not seem to be Wayland platform support for SDL2, but maybe I'm missing something.

If Ecode can run natively on Wayland, what is required to make this work?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions