Comments (19)
So.... now I'm having this issue.
I'll look into replacing this getopt_long() system.
from mpvpaper.
So even with -v
arg there's no output at all?
Are you sure you aren't passing -f
or --fork
by accident?
At a minimum it should of said "Verbose Level 1 enabled"
Just to be sure this isn't a mpv issue, try running:
mpvpaper -v -o "--log-file=output.txt" "*" [small gif]
And report back with the log.
from mpvpaper.
Even with that command, mpvpaper outputs nothing, and nothing is written to output.txt somehow...
. I interrupted after ~10 seconds
from mpvpaper.
The only way that could happen is if mpvpaper caught either SIGINT, SIGQUIT or SIGTERM while starting up.
And I have no idea so far how or why that's possible.
But it must be happening while parsing the args inparse_command_line()
What kind of PC do you have? OS? Hardware? DE?
from mpvpaper.
I'm currently running the Arch version of Asahi Linux on an M1 Macbook Pro, and I'm using Wayland, wlroots compositor, sway window manager.
from mpvpaper.
M1 Macbook Pro?
Didn't even know that could work on Wayland.
Did you try something other than a GIF or tried running in just the normal MPV player?
from mpvpaper.
I've tried an MP4, PNG, and JPEG as well all with the same weird hanging error. mpv
is able to open all of those media types just fine, though it does complain about
[vo/gpu/opengl] after rendering: OpenGL error INVALID_ENUM.
[vo/gpu/opengl] after OSD rendering: OpenGL error INVALID_ENUM.
a couple of times. Running mpvpaper -v -o "--log-file=output.txt" "*" [file]
also successfully creates an output.txt which I've attached to this reply. output.txt
Also while Asahi is a lil' buggy, the experience is still really nice. Highly recommend.
from mpvpaper.
I just realized you caused the SIGINT when you put in ctrl+c, my bad. So that makes sense.
But hanging at the start is still very bizarre behavior.
We are in unknown territory because this is an Apple ARM SOC.
After doing very light digging I found this: https://github.com/AsahiLinux/docs/wiki/Broken-Software
It shows there is some limitations for this kind of hardware and I'm not sure what it's getting snagged on.
It could be even getting stuck just outputting the error.
But that could be tested by just trying to passing -l asdf
and seeing if it responds back.
And again, it's breaking while just parsing the args.
So who knows what else it would break if that problem is even fixable.
If you want to get your hands dirty to see if this is even possible to fix.
You could try going step by step with gdb in your favorite debugger and seeing where it's going wrong.
Otherwise, I'm not quite sure how to proceed and am open to suggestions.
from mpvpaper.
Wait, it just got OpenGL 2.1 support? https://asahilinux.org/2022/12/gpu-drivers-now-in-asahi-linux/
So it doesn't even have OpenGL 3.0 or higher support? That's rough.
That would definitely make this a lot harder to work with.
from mpvpaper.
Thankfully it was a small error that most likely came from how different systems store chars. I introduced a fix in #49
from mpvpaper.
Huh, just like that?
Is it completely working now?
from mpvpaper.
Yep! 100% working and even functioning in tandem with swaylock-plugin!
from mpvpaper.
I'm constantly humbled by others, thanks.
I'll look over your pull and make sure it does have any side effects.
from mpvpaper.
Welp thatβs not good. Let me see if treating the opt as an int works; if it does then a direct comparison with -1 ought to do the trick for all systems
from mpvpaper.
Read the MAN: https://linux.die.net/man/3/getopt_long
from mpvpaper.
Yeah, changing the type to an int still works on my system. Then since getopt_long returns (int)-1
when all options are processed this ought to work on your system as well
from mpvpaper.
I should've read the man page myself. Turns out they use int for opt as well.
Funny how simple problems can be. I'm pulling the request and closing the issue.
Thanks again.
from mpvpaper.
Happy to help!π
from mpvpaper.
I just fully realized what when wrong, if you are curious.
This was a classic case of integer overflow.
When getopt_long() returned -1 to the char for some reason on most systems it just handles it.
Probably because it's treated like a signed int.
But on yours it's like a unsigned int so it overflowed back to 255.
Hence why setting to 255 worked on your system.
Just some food for thought.
from mpvpaper.
Related Issues (20)
- OpenGL error HOT 1
- libmpv.so.1: cannot open shared object file: No such file or directory HOT 2
- Dropping all frames (again) HOT 60
- Is it possible to make the wallpaper pause on battery and unpause when charging? HOT 3
- Add Support to Automagically pause and resume according to battery state. HOT 2
- SIGFPE when running HOT 4
- Feature Request : Shuffle input videos from a directory HOT 1
- Feature Request: Use with SwayLock HOT 1
- Hanging at startup on NVIDIA HOT 4
- Feature request: Output of a window as the input to mpvpaper (e.g. YouTube pop out player) HOT 5
- getting an error while building the application HOT 5
- Chaining commandline arguments for multiple monitor HOT 4
- Graphical Glitches when playing videos HOT 5
- (Arch x86 Hyprland nvidia-dkms-open) Background is completely black while mpv works. HOT 9
- kde wayland, working but isn't acutally the wallpaper HOT 1
- Mpvpaper not working HOT 7
- black screen. HOT 4
- Cannot play videos in a directory HOT 1
- Build failed due to unable to find the Wayland header files 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 mpvpaper.