Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port conky to Metal #35

Open
npyl opened this issue Aug 2, 2018 · 5 comments
Open

Port conky to Metal #35

npyl opened this issue Aug 2, 2018 · 5 comments

Comments

@npyl
Copy link
Member

npyl commented Aug 2, 2018

Problem

X11 support is limited on macOS (see #5 , #37 , #29) and will probably become obsolete in the next few years now that Metal has made its way in, even OpenGL is considered obsolete by apple.

Solution

There are 2 solutions to this problem:

  • Add more #ifdefs inside conky for Metal stuff
  • Create a library that will bridge Xlib API to Metal API

The second option seems to be the best in our case, I am not sure if it is do-able yet but I am willing to try it out.

Caveats

In the linux world there exists the need to switch to more modern APIs (see Wayland) and ditch Xlib. This is understandable and a positive move for the longevity of the project. Problem is, if conky decides to transition to wayland our approach will be useless.

(Once solution to this would be to start a port of conky to wayland and implement a translation layer between wayland and metal.)

Epilogue

I am positive that if the bridge gets implemented then there is a big possibility that the Xquartz related problems will be fixed and conky will be able to run on macOS just like it does on linux.

@npyl
Copy link
Member Author

npyl commented Sep 8, 2018

I have already began a project to aid the port: https://github.com/npyl/xlib2metal
Checkout the 1st milestone.

I will seriously need more contributors to stack up so that this port is made true.

@npyl
Copy link
Member Author

npyl commented Sep 16, 2018

After the talk with people from the brndnmtthws#56 I decided that xlib2metal is not a good plan... 😢

Awesome people from the conky community are implementing a GUI backend inside conky that will be graphics-library unaware and will be able to use Metal if compiled for macOS, wayland if compiled for Unix or even Xlib if using legacy mode...

This means we are not going for any of the 2 options, we are actually going for a better one!

Ongoing PR

@skhattane
Copy link

@npyl any news about this ? Does it means that we are not able to have transparent background on MacOS X Mojave actually ?

@npyl
Copy link
Member Author

npyl commented Nov 20, 2018

Hi @skhattane !!!
We have good news! Most likely than not, in the future conky will use native Metal graphics on macOS and transparency will be implemented.
We just need this PR to be merged first.

(Actually, since it is in a really good state already, I could probably take a look sooner! :) )

@skhattane
Copy link

Hi @npyl, thank you so much ;)

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

No branches or pull requests

2 participants