-
Notifications
You must be signed in to change notification settings - Fork 11
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
[idea/request] Standalone compositor #1
Comments
I definitely thought about it already when I started the project, and I still like the idea of implementing such thing. However there are still a couple of issues I'd like to work out before attempting to make the compositor something more widely usable.. One of the major problems is how to efficiently transform the window contents to something that can be used by Vulkan. The current solution is very much a placeholder, and can be a bit of performance killer in some cases.. I'm working on a solution, and once things start looking more acceptable for something beyond an experimental setup, I will surely look how to get most out of the work already done. |
I know essentially adding a comment that just expresses interest is not generally acceptable in issue tickets. However, I am curious about the status of this request in this project. I see that there have been several commits referencing this issue since the initial response. So, I have some questions:
Thanks for this cool project! |
Thanks for the interest! It's still my goal to have this feature out, and hopefully soon. I think the composition works well enough for this to proceed. The branch that I've worked on has some preliminary functionality. I've been testing with i3-gaps, and it works, but as of now there are still some breaking issues. The windows are not stacked correctly and I recall there being some problems with workspaces as well. Furthermore, at the moment i3's titlebars have to be disabled, since the compositor does not handle decorations properly. To make the standalone compositing possible, some minor refactoring had to be done. However, this refactoring seems to have introduced a crash bug that is triggered in some events. Resolving this is the next milestone. I have a test case and I know why the crash happens, but what actually sets the conditions for it is not clear yet and needs more investigation. Since you asked, I motivated myself to rebase the branch yesterday. I'll do some checks that it's alright and push it here today along with some details. Hopefully with some details it will be easier for interested people to look into it as well! I'll see what I can do about the bug soon when I have some time. |
Awesome work. Can you write a guide for using the standalone compositor please? That will help other to do the test and report stuffs too. |
Thanks! Here are some brief instructions on how to get started:
|
I built terminal log
I'm willing to continue with any help. Thanks for this project. |
Also, running this (with the output from the previous comment) seems to have somehow set the number of XFCE workspaces I have to 1. I didn't realize this would happen, and now all my windows are piled up in 1 workspace. I've re-added the removed workspaces manually and reorganized everything again, but that seems like an issue. I would like to be able to use all my usual workspaces in the end. |
Thanks for the report! I may have identified the cause for why all the workspaces are removed, and will submit a fix for testing soon. As for the crash, are you running on nvidia by any chance? If so, you may have to enable SHM in your xorg config, as done here. The default |
The nvidia documentation says this about |
OK, I enabled it and rebooted, then tried it again. I got another segfault immediately, with a different error this time. Here's the terminal log. terminal log
|
@AlexFolland Please try the following: |
I did that, but the behavior seemed to be different in gdb somehow. Here's my terminal log showing first running it, then running it in gdb. terminal log
|
Oh, I ran the wrong command in my above post. I had duplicated the |
Try this: |
I did that and it still froze my screen, so I tried it with output.txt
|
Very weird. I suppose @jaelpark might be able to provide any ideas. |
You linked to the |
Oh oops, that was by mistake. You should be able to find the same code in that branch as well. |
The log says it couldn't find the DRI3 extension. Can you check if DRI3 is enabled? |
I googled that and searched the nvidia documentation, but I'm not sure how to enable it. I also searched for "direct rendering" and found the |
I'm guessing there's no way to have the DRI3 extension loaded on proprietary nvidia drivers, since DRI is more of a mesa thing. Good news is that the code doesn't really strictly depend on this extension yet, so I can make it optional. I'll see if I can commit some changes soon. I think you can leave your configs as they are, with the exception of |
Hi! I tried this again today, using output.txt
|
I noticed that if I run it without GDB, it crashes. If I run it with GDB, it doesn't crash. That's inconvenient. However, the crash message shows something that may be useful, since it's an exception error message from your own code. Here's that output for your analysis. output from running without GDB
|
Looking forward to this tried of using the 1000 forks of picom that all have their own issues |
Thanks for the interest for the project. Due to busyness with work and stuff, I haven't found much time to work on this lately. There are lots of improvements in other branches I'm looking to merge into the master eventually, including the standalone compositor, but some fixing and more work is still needed. Things are a bit too buggy at the moment to be presentable... |
It would be great to use just the vulkan compositor with other WMs, like people use compton in plasma or xfce. Compton itself was considering a vulkan backend but it still didnt fly. What you think, @jaelpark ?
The text was updated successfully, but these errors were encountered: