Comments (11)
I am the maintainer of Milis Linux project, so far now, we have been using wlroots based compositors as WM, so have not noticed such a bug in switching between them. Well, we are trying to setup a composition of desktop environment and Louvre is the new base as alternative of Wlroots.
from louvre.
Hmm it looks like Labwc is not setting the harware cursor plane and is rendering it instead, DRM resources like cursor planes are controlled by the active compositor, since Labwc is not using it, the one set by Louvre remains, so its kinda a Labwc "bug".
To fix this, you could try hiding the cursor before leaving the Louvre session:
Louvre Views Seat.cpp
void Seat::enabledChanged()
{
if (!enabled()) // When the user switches to another session
{
cursor()->setVisible(false);
return;
}
...
}
If that doesn't work, you could disable the cursor plane for each initialized output:
Louvre Views Output.cpp
void Output::initializeGL()
{
cursor()->enableHwCompositing(this, false);
...
}
This means Louvre will render the cursor using OpenGL which is slower but you should not notice much difference.
from louvre.
both of ways don't work, still there are two visible pointers
by the way, i reproduces the bug with Wayfire also then it is mostly related with Wlroots
from louvre.
After discussion with Labwc guys, we noticed that it is Qemu bug for now, i resolved it with -vga virtio -display sdl,show-cursor=off
from louvre.
Ok, thanks for letting me know, so does this happen when switching between other compositors as well? And what are you building? It looks interesting
from louvre.
Nice! I see it has its own package manager and init system, that must be a lot of work! Can it be tested on real hardware, I mean like a live CD version? And does it support other languages apart from Turkish?
we have been using wlroots based compositors as WM, so have not noticed such a bug in switching between them
There is one last option, maybe setting the SRM_FORCE_LEGACY_API=0 env could fix it. It basically enables the new DRM Atomic API if supported which I guess wlroots compositors may be using.
from louvre.
Yes, it has been used as daily Linux system since 2016 with different versions, current version is 2.3 and you can test it, Qemu is one of my test environment so i am testing first with it, English the other language option for the present.
SRM_FORCE_LEGACY_API=0
env solved Labwc side so no twice pointer but the pointer disappeared at Louvre side. video
from louvre.
Yes, it has been used as daily Linux system since 2016 with different versions, current version is 2.3 and you can test it, Qemu is one of my test environment so i am testing first with it, English the other language option for the present.
Perfect! I'll give it a try and then let you know how it went.
SRM_FORCE_LEGACY_API=0 env solved Labwc side so no twice pointer but the pointer disappeared at Louvre side. video
Hmm, glad you noticed it. That must be an SRM bug, so I definitely need to take a look at that.
from louvre.
I tested Milis, and it works perfectly, great work! I only had problems with my Wi-Fi card, but that happens in almost every distro since it requires proprietary drivers. Also, neither Labwc nor Wayfire set the scale factor of HiDPI displays to 2 by default, which is just a small detail and I'm sure it can be easily configured.
Additionally, I think I fixed the cursor issue in SRM. The changes are in the devel branch if you want to test them. I think I wasn't properly handling cases where the first Atomic commit failed.
from louvre.
you can scale display from settings
i updated the Louvre with SRM-devel, but still pointer disappears at Louvre.
from louvre.
you can scale display from settings
Yes, I experimented with that. I just wanted to suggest that from a user perspective, it would be nice if the default scale could be set to 1.75 or 2 on HiDPI displays (e.g. DPI >= 200), as everything appears too small with a scale factor of 1. By the way, I plan to add the same protocol for controlling outputs to Louvre soon so that the panel will also work with Louvre compositors.
i updated the Louvre with SRM-devel, but still pointer disappears at Louvre.
Hmm :( I'll need to check that again. At least on real hardware, it seems to work fine, but I haven't tested it inside Qemu. Thanks, by the way, for testing it.
from louvre.
Related Issues (20)
- Compile / build instruction. HOT 1
- Compile louvre-views as separated project. HOT 2
- hardcoded paths HOT 3
- Modern C++ HOT 3
- [Not a bug] Discussion HOT 12
- Mouse freezes HOT 4
- Immediate crash upon trying to run `louvre-views` inside Hyprland HOT 7
- Change keyboard layout non-programatically HOT 5
- Add list of compositors using Louvre to the read me HOT 2
- Black screen except for the top right text on one monitor HOT 14
- Failed to initialize output HOT 31
- Consider removing inline keyword for member function HOT 1
- Wine `winewayland.drv` require `zwp_pointer_constraints_v1` HOT 6
- GTK doesn't support `xdg_decoration_unstable_v1` but does support `org_kde_kwin_server_decoration_manager` HOT 7
- Segmentation Fault - Unknown EGL Driver HOT 6
- Customizing Shortcuts Definition HOT 7
- Waybar doesn't work - Failed to register as toplevel manager HOT 7
- Changing keyboard layouts dynamically HOT 2
- Create an IRC channel or discord HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from louvre.