Skip to content

Conversation

silovaa
Copy link
Contributor

@silovaa silovaa commented Mar 28, 2025

I would like to propose replacing the implementation of the GTK window with the Wayland window. I am interested in using Elements on the Linux platform.

@djowel
Copy link
Member

djowel commented Mar 29, 2025

Wonderful! What I've been waiting for!

@djowel djowel changed the base branch from master to develop March 29, 2025 00:13
@djowel
Copy link
Member

djowel commented Mar 29, 2025

  • I moved this to target develop to avoid disrupting master. I'll need to test functionality there.
  • It seems the tests are failing on Ubuntu and Windows, can you check?

@djowel
Copy link
Member

djowel commented Mar 29, 2025

Also, wouldn't it make sense to have BOTH GTK window AND Wayland window, with specific cmake flags to configure either?

@silovaa
Copy link
Contributor Author

silovaa commented Mar 29, 2025

Fixed the failure of tests under Ubuntu. It won't be possible to fix it quickly on Windows, it will take time, there is something wrong with the linking at the build stage (artist.lib(harfbuzz.cpp.obj) : error LNK2005: roundf already defined in libucrt.lib(round.obj)).
Regarding GTK, I just don't see any practical sense in opening the GTK window to draw Elements buttons there. Maybe it's justified, but then why GTK and not Qt, for example? I think it would be good if Elements simply drew into an abstract buffer or GL Context and received input through the interface.

@djowel
Copy link
Member

djowel commented Mar 29, 2025

Fixed the failure of tests under Ubuntu. It won't be possible to fix it quickly on Windows, it will take time, there is something wrong with the linking at the build stage (artist.lib(harfbuzz.cpp.obj) : error LNK2005: roundf already defined in libucrt.lib(round.obj)). Regarding GTK, I just don't see any practical sense in opening the GTK window to draw Elements buttons there. Maybe it's justified, but then why GTK and not Qt, for example? I think it would be good if Elements simply drew into an abstract buffer or GL Context and received input through the interface.

OK, agreed. GTK is not really necessary. That is a good point. But how about X11? Is that abandoned in this patch? (Pardon if it's a silly question. I haven't yet looked deeper)

@silovaa
Copy link
Contributor Author

silovaa commented Mar 29, 2025

Yes, the x11 is not there. X server is considered an outdated technology and it will soon be stopped being included in distributions by default (maybe in 10 years), there is a lot of debate about this. X11 is very different from wayland, its support can be enabled via cmake.

@djowel
Copy link
Member

djowel commented Mar 29, 2025

its support can be enabled via cmake.

What does this mean, exactly? I didn't see any config switches. What am I missing?

@silovaa
Copy link
Contributor Author

silovaa commented Mar 29, 2025

I'm sorry if I didn't put it right. X11 is not in the patch, I can add it if necessary. If you look at ubuntu, it has been using wayland by default for a long time, so Xorg support is not needed in new applications.

@djowel
Copy link
Member

djowel commented Mar 29, 2025

I'm sorry if I didn't put it right. X11 is not in the patch, I can add it if necessary. If you look at ubuntu, it has been using wayland by default for a long time, so Xorg support is not needed in new applications.

Right. I think X11 is still needed for backward compatibility. Please do. Some people might rely on it.

@silovaa
Copy link
Contributor Author

silovaa commented Mar 30, 2025

Ok. I'll get on it soon.

@djowel
Copy link
Member

djowel commented Mar 30, 2025

Ok. I'll get on it soon.

That will be awesome! I really appreciate the work you're doing here! Many thanks!

@djowel
Copy link
Member

djowel commented Sep 2, 2025

Should we just move forward and stop using X11?

@silovaa
Copy link
Contributor Author

silovaa commented Sep 6, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants