-
Notifications
You must be signed in to change notification settings - Fork 27
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
Dropping all frames (again) #32
Comments
Did you read through #29 ?
No, see here as to why: #10
I don't think that would be much help in this case. |
I don't see how. |
True and there might be something going on with libmpv. For example, it could be an issue with the hyperland if the wl_surface_frame won't callback. But now I'm curious, I wonder if the old mpvpaper render loop works. |
With that commit it says this:
|
Yes as mpvpaper only supported 1 monitor back then, hence the render loop rewrite. |
So we pick one random project amon mpv, hyprland, wlroots, nvidia drivers, and send the bug report there? I don't understand |
First, what was the result with the old render loop? I'm thinking mpv will be your best bet if you can rule out it's not hyperland's fault by try a different wlroots compositor(probably sway). |
Didn't I report the result with the old render loop here? #32 (comment) |
No, you got that error because you used "*" to select all monitors. |
And how I was supposed to know it was not implemented yet? It works perfectly fine with the old render loop. |
Not saying you should of known, perhaps I should of been more clear when I said #32 (comment) Anyways, Now that we know it was the render loop. |
Bisected to 0475df8 |
Yeah, that was the first commit toward the new render loop. |
My laptop was too old to test, only the Intel IGPU is working. I wonder if it's just the polling that's broken. Lines 1052 to 1101 in 5dcdfc7
With this:
Then recompile. |
No, it's still bugged. Can you send |
Ok, so it's not the polling. That's good. Here's the modified main.c Polling removed main.tar.gz For my next guess, maybe it has to with implementing wl_output v4 a5a4750 Or it could be that I updated the GLAD libraries 6b0f7a8 I'm just throwing darts and seeing what sticks. |
With the code here there is no "dropped" error anymore, but the screen is completely black |
No. Black screen and "Dropped" error message |
No. Black screen and "Dropped" error message. I think proper debug logging capabilities should be implemented in mpvpaper. |
I have obtained a debug log from mpv by issuing There are a bunch of
|
I don't disagree, it's always been a bit lacking. It's just tedious to implement. #32 (comment) Great idea. Lines 155 to 159 in 5dcdfc7
Interesting, try also with just 1 monitor. Lines 150 to 153 in 5dcdfc7
Remove/comment out these^ lines and see if it displays onto just 1 monitor. It could also be that Nvidia doesn't like having multiple EGL Surfaces. |
nope, doesn't work |
Here's what I've come up to improve debugging: While it's not a full on debug mode, I added a bunch more error printing and verbose messages. Let's see what messages you get with |
|
No errors... But there is 1 new thing here I didn't think would occur. I've looked a lot at the diff between mpvpaper version 1.2.1 and 1.3 Commits: Are the main suspects. If you don't want to do this next step, I don't blame you. |
Didn't I bisect it? I don't understand |
I don't know what you mean by "bisect", like "fork"? |
Thanks, I learned something today. |
Here it is reordered_egl_main.tar.gz |
Can you at least make a branch? It's difficult to test like this |
Still working. What was the problem with EGL initialization order? |
Sure thing https://github.com/GhostNaN/mpvpaper/tree/nvidia-fix
Excellent, we got multi-monitors working now!
Honestly, I have no damn clue. |
Wait, this is with multi monitors right? Like: |
I have a laptop with an external monitor. I call my compositor after exporting:
in order to use only the external monitor, for the compositor to see only the external monitor and not the laptop one, as suggested here. Given this premise,
works |
So you don't have a multi-monitor setup. This is a dead end. I think I also over engineered the solution with the EGL init. |
Anymore changes to the code will basically lead us back to this point: f65700a I am uncertain where I can take this issue from here. I really appreciate the effort you have put in to diagnosing this issue. |
Hey just heads up. |
I'm aware, I will most likely just delete that branch as it was a failure. |
@GhostNaN what about crowdfunding a NVIDIA laptop for you? 🧐 |
@raffaem Very funny... how about we crowdfund everyone getting an AMD laptop instead? |
I was not joking |
That seems a bit extreme for a wallpaper program, don't you think? |
That would cost much more ... too high a target to fund 😅 |
Another thing: I found out it's possible to carry out remote GDB debugging, but I never did that, I don't know how it works |
You're just ssh-ing into a remote PC at that point. This isn't necessarily a "I don't have Nvidia hardware, so I can't fix" although troubleshooting would be much faster. |
I would be just be developing a workaround at best at this point. |
I changed laptop and I now use the nvidia-open-dkms drivers. mpvpaper works wonders, except for a small glitch when a looped video ends and is restarted. Closing this as technically I can't reproduce it anymore. |
Same here buddy, it's like it drops a frame or 2. |
Now this also works with the proprietary NVIDIA drivers. I don't think we need the |
I just removed it. Besides, it was a failure anyways... |
Asking out of curiosity - Are they working well? |
I have the exact same problem as #29.
I use Hyprland with NVIDIA proprietary drivers and mpvpaper is dropping all frames:
It worked fine with nouveau.
mpv is able to play the video.
I think it may be due to the fact that mpv uses vo=gpu and mpvpaper uses vo=libmpv?
How can I get full debug output from mpv?
The text was updated successfully, but these errors were encountered: