Giter VIP home page Giter VIP logo

xlivebg's People

Contributors

jtsiomb avatar mdecicco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xlivebg's Issues

Building on OpenBSD

I am building on OpenBSD and I've run into a few issues, firstly many #ifndef operations needed to be changed to include OpenBSD, that's fine and everything seems to almost compile now, but then I get to the included libraries libimago and treestore.

In libimago/src/file_lbm.c there seems to be some very strange declarations that neither gcc or clang seem to recognise as valid, around line 115 the following is defined:

static uint16_t swap16(uint16_t x);
static uint32_t swap32(uint32_t x);

gcc says that it's expecting declaration specifiers, and clang just seems to complain about missing brackets. Is there any simple fix for this?

Won't compile on OpenSuse Leap 15.2

Enjoyed your Fosdem talk. Thanks.

I'm having trouble compiling this on OpenSuse Leap 15.2.

I have avcodec.h installed in
/usr/include/ffmpeg/libavcodec/avcodec.h

./configure doesn't complain.
But make does:

make[2]: Entering directory '/richi/ToDo/xlivebg/plugins/video'
cc -pedantic -Wall -g -O3 -ffast-math -fPIC -I../../include -Wno-deprecated-declarations -pthread -c -o vid.o vid.c
vid.c:22:10: fatal error: libavcodec/avcodec.h: No such file or directory
#include <libavcodec/avcodec.h>
^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

How to fix?

Video plugin build failure with ffmpeg libraries v59

vid.c: In function ‘vid_open’:
vid.c:47:17: warning: implicit declaration of function ‘av_register_all’ [-Wimplicit-function-declaration]
47 | av_register_all();
| ^~~~~~~~~~~~~~~
vid.c:72:41: error: ‘AVStream’ has no member named ‘codec’
72 | if(vf->avctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
| ^~
vid.c:82:51: error: ‘AVStream’ has no member named ‘codec’
82 | vf->cctx = vf->avctx->streams[vf->vstream]->codec;
| ^~
vid.c:84:24: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
84 | if(!(vf->codec = avcodec_find_decoder(vf->cctx->codec_id))) {
| ^
vid.c: In function ‘vid_get_frame’:
vid.c:170:25: warning: implicit declaration of function ‘avcodec_decode_video2’; did you mean ‘avcodec_decode_subtitle2’? [-Wimplicit-function-declaration]
170 | avcodec_decode_video2(vf->cctx, vf->frm, &frame_done, &packet);
| ^~~~~~~~~~~~~~~~~~~~~
| avcodec_decode_subtitle2

Any help?

CPU usage with compositors

So I tried out xlivebg with the colcycle plugin and it worked as expected out of the box.
As I'm using a compositor, I used the -n option, but the CPU draw (in picom, a compton fork) was multiplied by 4.
With the -w option, I was able to use xwinwrap to use xlivebg with a compositor without the -n option, and it divided by 2 the CPU draw with picom.
I also tried with xcompmgr which is mentionned in the readme, but I have horrible tearing everywhere (CPU draw is fine though).

Right now I think the only way I can use it is without a compositor (CPU is something like 8% distributed on 8 cores), or if I find a way to fix the tearing with xcompmgr (which would be ideal)

I guess the real issues are actually in picom for the CPU issue and intel's driver for the tearing.

Anyway I just wanted to update you to say that I tried your program and it works really well, so I'll close the issue since it doesn't come from xlivebg.

GLX3 Shader/Shader-toy compatible plugins!

Hello,
Πρώτα από όλα είμαι Έλληνας :P , ωραίος και πολύ ωραίο project! :D
Having said and for this message to be readable from other people browsing github, I am trying to port my GLX3 shader based standalone renderer to create a xlivebg "plug-in" for shaders :)

I think this can be a great addition to this tool that will make this application compatible with a ton of great work @ https://www.shadertoy.com/ . It will also be possible to have a single plug-in that can load from a multitude of different shader "text" files which will make extending xlivebg much easier for newcomers.

I have forked your repo (
https://github.com/AmmarkoV/xlivebg/tree/master/plugins/shadertoy ) and added my source that renders this example https://www.shadertoy.com/view/Ms2SD1 using pure C / GLX3 / glew code.. I don't know if you want to pull it, currently I have changed nothing on your code, my code is also GPL3 so it is compatible with yours.

However upon trying to add your plugin system I think that there may need to be some changes in xlivebg for my use-case ..

You can compile my sample to check it out ..

However I think that maybe my glx3.c/glx3.h has to be merged inside your code base in order to be able to have OpenGL3+ shader support..

Looking forward to your feedback or comments, and once again great job!

Support or integration for GLava audio visualizer

The program known as GLava is an OpenGL audio visualizer that works through monitoring ALSA and Pulse Audio for audio data, and creates a live background window onto the desktop.

GLava is seemingly incompatible with xlivebg and can not create effects on the same window as xlivebg, leading to some flexibility problems when configuring live backgrounds to include an embedded audio visualizer. Is it possible to integrate GLava into the configuration files and/or interfaces available for xlivebg, and/or allow them to render onto the same X window?

compton and conky

Thanks for creating this.
When I run xlivebg with conky running conky is not shown.
If I run compton (picom) then xlivebg display disappear altogether.

Install error

I get this error trying to install with yay on Arch:

vid.c:72:41: error: ‘AVStream’ has no member named ‘codec’
   72 |                 if(vf->avctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
      |                                         ^~
vid.c:82:51: error: ‘AVStream’ has no member named ‘codec’
   82 |         vf->cctx = vf->avctx->streams[vf->vstream]->codec;

This seems to be an issue with the video subpackage. What should I do about this?

Also, for context, everything else seems to work (I can run xlivebg and xlivebg-gui, though the latter will complain about the lack of plugins).

Xsession crash on AMD proprietary drivers

Originally reported via email. The program crashes upon execution when the AMD proprietary drivers are installed in the latest stable version of debian (Codename: Bullseye). The system is responsive but rendered virtually unusuable until the process is stopped via a ctrl + c command or killed using its' pid.

A short image showcasing this behaviour is provided, as well as effects post-crash.

Relevant hardwatre information:
``
`~$hwinfo --short
cpu:
Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz

keyboard:
/dev/input/event3 China Resource Semico USB Keyboard
mouse:
/dev/input/mice Logitech Marble Mouse (4-button)
/dev/input/event7 China Resource Semico USB Keyboard
monitor:
SAMSUNG S22F350
graphics card:
ATI Ellesmere [Radeon RX 470]
sound:
Creative SB1570 SB Audigy Fx
storage:
Intel 200 Series PCH SATA controller [AHCI mode]`

` ~$ glxinfo

GLX version: 1.4
Vendor: AMD (0x1002)
Device: Radeon RX 470 Series (POLARIS10, DRM 3.40.0, 5.10.0-13-amd64, LLVM 11.0.1) (0x67df)
Version: 20.3.5
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2`

Relevant OS information:
Crash example

syslog didn't record any anomalities on the time period where the program was executed and the program seems to resolve successfully as shown on the information contained within the terminal post-crash in the image provided

This bug appears exclussive to AMD radeon drivers for dedicated graphics cards, it could not be replicatedn and it was proven to be working fine, using an nvidia graphics card, intel hd graphics and amd integrated graphics. The program has not been yet tested on external graphics cards provided by intel, aditionally it's unclear whether this is an issue affecting several radeon models or if it's exclusive to the rx 470, it's known the program cannot work on AMD's GPUOpen drivers as they do not support open gl programs.

Unable to apply different wallpapers on two monitors

This was reported by mail a few days ago.

While applying a wallpaper on a dual monitor setup the wallpaper from screen 1 is duplicated in screen 2 even if the wallpaper used is using a resolution meant to be used for two monitors (e.g. 3840 x 1020), everything works as normal except for having the same image in the background.

Picom background not displaying

I am running OpenBSD with dwm and a compositor picom, and xlivebg is unable to change the background image, only working with -n or with the compositor turned off.

Is there any way of getting this to work with an external compositor? The -n flag does not actually set it as a background but just as a window that I cannot move or resize.

Stuck on start, cpu usage 100% and ping failed

OS: Arch Linux

Desktop: GNOME 3.38.3

Installed from: AUR

Version: xlivebg 1.0-1

GLX Info:

> glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) HD Graphics
    Version: 20.3.3
    Accelerated: yes
    Video memory: 1536MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.3.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 20.3.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.3.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

Config:

> cat ~/.config/xlivebg.conf
#...
xlivebg {
image = ".wallpaper/0.png"
ripple {
raindrops = 10
#...

xlivebg -p output:

> xlivebg -p
Using config file: /home/user/.config/xlivebg.conf
output: 800x600
xlivebg: searching for plugins in /usr/lib/xlivebg
xlivebg: registered plugin: video
xlivebg: registered plugin: stars
xlivebg: registered plugin: distort
xlivebg: registered plugin: ripple
xlivebg: registered plugin: colcycle
xlivebg: activating plugin: video
window size: 800x600
window visual: e5
 double-buffered RGBA 888, 24 bits zbuffer

The preview window is all black, cpu usage 100% and ping failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.