Re: OBS Studio memory leak

2023-06-13 Thread Ott Joon via
Hey

Tried the same thing in VLC and it freezes on GPU accel and starts leaking 
memory while also becoming hard to kill.
Maybe this also explains why some mpv GPU accel settings don't work also in the 
exact same way.
I have an AMD RX 6900 XT on this machine.

I could probably try this on the laptop with Intel and the unmentionable video 
devices.

PS: Might need to switch to a traditional email service or get my own up and 
running. Tutanota is just no good for this mailing list stuff.
Ott



13. juuni 2023 10:50 poolt g...@posteo.net:

> Robby Zambito  skribis:
>
>> Ott Joon  writes:
>>
>>> Hey there
>>>
>>> I have the exact same issue and I think this has to do with
>>> gstreamer. Some other programs are also affected by this bug. What
>>> seems to happen is the gst-plugin-scanner starts searching for plugins
>>> and just doesn't finish and leaks memory a ton. My 128GB of RAM will
>>> be full in seconds if I launch anything that uses gstreamer. Even
>>> virt-manager if you have gst-plugin-* packages installed as then the
>>> gst-plugin-scanner is awakened. I had to remove them or unset
>>> GST_PLUGIN_SYSTEM_PATH. Unfortunately OBS seems to have this feature
>>> built in, so it's not something you can remove. This is all I know at
>>> the moment.
>>>
>>> Ott
>>>
>>
>> Hi Ott,
>>
>> Thanks for the lead. I tried pinning gstreamer and gst-plugins-base to
>> older versions available in Guix, and removing gst-plugins-base from
>> being an input to OBS (though I'm not positive this removes it from all
>> recursive inputs), but I'm still having the issue :(
>>
>> Here is what I have so far:
>>
>> (let ((parent (specification->package "obs")))
>> (package
>> (inherit parent)
>> (inputs (modify-inputs (package-inputs parent)
>> (replace "gstreamer"
>> ((options->transformation '((with-version . "gstreamer=1.20.3")))
>> (specification->package "gstreamer")))
>> (replace "gst-plugins-base"
>> ((options->transformation '((with-version . "gst-plugins-base=1.20.3")))
>> (specification->package "gst-plugins-base")))
>>
>> Also tried with (remove "gst-plugins-base") instead of the replace.
>>
>> Robby
>>
>
> Hi,
>
> I don't know if its related, but I have a big memory leak issue with
> vlc. When trying to play a video with it, if the video output module it
> set to gl or vdpau_display, it consumes all the RAM of the machine in
> a few seconds (and I have to kill it fast to prevent the machine from
> hanging). However if I force the video output module to xcb_xv, it works
> fine.
>
> Do you have the same issue with vlc? If yes, it may indicate a bug
> with video acceleration (VA-API/VDPAU or mesa).
>
> PS: My machine's GPU is an AMD Radeon RX 6800 XT.
>




Re: OBS Studio memory leak

2023-06-13 Thread Robby Zambito


Guillaume Le Vaillant  writes:

> It looks like an issue with the shader cache of mesa.
> After clearing it, I don't see the memory leak anymore.
>
> Could you try doing a "rm -r $HOME/.cache/mesa_shader_cache/*" and see
> if it also solves the issue for you?

This worked for me! Thank you!



Re: OBS Studio memory leak

2023-06-13 Thread Ott Joon via
Awesome! Worked for me, too! 
Also fixed the issue with the gst-plugin-helper memory leak. 
So it must have all been to do something with the mesa shader cache. 
VLC seems to struggle playing an HEVC encoded 2K video however while mpv does 
it just fine. 
virt-manager is running smoothly again.


13. juuni 2023 16:04 poolt cont...@robbyzambito.me:

>
> Guillaume Le Vaillant  writes:
>
>> It looks like an issue with the shader cache of mesa.
>> After clearing it, I don't see the memory leak anymore.
>>
>> Could you try doing a "rm -r $HOME/.cache/mesa_shader_cache/*" and see
>> if it also solves the issue for you?
>>
>
> This worked for me! Thank you!
>




Re: OBS Studio memory leak

2023-06-13 Thread Robby Zambito


Hey,

>>
>> Hi,
>>
>> I don't know if its related, but I have a big memory leak issue with
>> vlc. When trying to play a video with it, if the video output module it
>> set to gl or vdpau_display, it consumes all the RAM of the machine in
>> a few seconds (and I have to kill it fast to prevent the machine from
>> hanging). However if I force the video output module to xcb_xv, it works
>> fine.
>>
>> Do you have the same issue with vlc? If yes, it may indicate a bug
>> with video acceleration (VA-API/VDPAU or mesa).
>>
>> PS: My machine's GPU is an AMD Radeon RX 6800 XT.
>>
> Hey
>
> Tried the same thing in VLC and it freezes on GPU accel and starts leaking 
> memory while also becoming hard to kill.
> Maybe this also explains why some mpv GPU accel settings don't work also in 
> the exact same way.
> I have an AMD RX 6900 XT on this machine.
>
> I could probably try this on the laptop with Intel and the unmentionable 
> video devices.

I think we may be on to something here. I have an AMD RX 6650 XT, and
VLC does also start to leak for me.

Guillaume, when you say you forced the video output module to gl,
vdpau_display, or xcb_xv, how did you set that?

Robby



Re: Read only_Edit Icecat.desktop

2023-06-13 Thread Maxim Cournoyer
Hi!

segundom...@tutanota.com writes:

> Hello!
> thanks for the feedback;
>
> I tested it, unfortunately it didn't work, because the new desktop was
> "opened" by the original icecat icon inside the guix folder equally 
> other browsers. For testing purposes I completely uninstalled guix to
> check if it wasn't something else, and all the other browsers opened
> in their icon working perfectly no more from a second how it was with
> icecat  installed.
> Do you know if there is another way to fix this? 
> I know that ready only as a user  can't edit, if this is the case of course. 

Could you make some kind of video of the issue?  It may help to
graps the exact problem better.

How some basic steps to reproduce when using GNOME.

Don't forget to keep the help-guix@gnu.org email in CC so that everybody
on the list can read our replies (you can use the 'wide' reply button in
your mail client to ensure that).

-- 
Thanks,
Maxim



Re: Guix home - 'pinning' ?

2023-06-13 Thread Luis Felipe

Hi Fenix,

El 13/06/23 a las 15:06, Fenix Lopez escribió:
In order to give some more context , may i add the fact that the 
package in question is not being compiled/derived when entering the 
build phase ? In consquence, the whole 'guix home reconfigure' gets 
stopped...


That's the underlaying reason why i was wondering how to pin that 
'offending' package.


   Umh... leaving package version 'pinning' aside, umh...   Is there 
another way to prevent such described scenario ? how to get ' guix 
home reconfigure'


finish the whole process regardless the issue described ?


If I understand correctly, you could add the following option to "guix 
home reconfigure":


-k, --keep-going   keep going when some of the derivations fail




OpenPGP_0x0AB0D067012F08C3.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Re: Can Guix channels be non-GPL?

2023-06-13 Thread Dr. Arne Babenhauserheide

"pelzflorian (Florian Pelz)"  writes:

> "pelzflorian (Florian Pelz)"  writes:
>> still it is not clear if copyright can even apply if we only link.
>
> Sorry bad typo.  I meant
> still it is not clear if copyright can even apply if we don’t link.

I’m pretty sure that it can. For GPLv2 linking was named by the GPL as
the limit, but that’s not inherent to copyright: the license gives you
some rights, and if you’re outside what the license allows *and* outside
what some copyright exception in the law allows, you’re not allowed to
use it at all.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature


Re: Can Guix channels be non-GPL?

2023-06-13 Thread pelzflorian (Florian Pelz)
"pelzflorian (Florian Pelz)"  writes:
> still it is not clear if copyright can even apply if we only link.

Sorry bad typo.  I meant
still it is not clear if copyright can even apply if we don’t link.

I’m playing devil’s advocate here though.  Just use GPL.

Regards,
Florian



Re: guix docker on gitlab-ci

2023-06-13 Thread Graham Addis
Hi Wolf,

Well I managed to sort it out last weekend.

I have added a --docker-entry-point option which can be invoked
multiple times to provide the docker EntryPoint value in exec form.

I have left the --entry-point behaviour alone except the
--docker-entry-point takes precedence.

I still have the docs to update, and to test the some of the different
cases, but it all seems to work.

Thanks again,

Graham

On Mon, 5 Jun 2023 at 22:38, Graham Addis  wrote:
>
> Hi Wolf,
>
> Similar to what I was trying, which didn't work. I'll try to have a go
> one evening and try and work out where I went wrong.
>
> Thanks again. Graham
>
> On Mon, 5 Jun 2023 at 18:35, wolf  wrote:
> >
> > On 2023-06-05 16:37:50 +0100, Graham Addis wrote:
> > > Hi Wolf,
> > >
> > > Not a particularly successful weekend...
> > >
> > > As --entry-point was used by other pack methods I thought the best
> > > option would be to add a --docker-entry-point just for the docker
> > > format and pass it into the build as an extra-option like for deb and
> > > rpm formats.
> > >
> > > However I couldn't work out how to pass in a list via the
> > > extra-options, so I'm a bit stuck.
> > >
> > > If there is anyone who knows their way around the pack scripts and can
> > > point me in the right direction, that would help, but other than that
> > > I'll probably get some more time next weekend.
> >
> > I did not try to implement this, so my guess might be completely off, but
> > looking at how -S is implemented, I would suggest trying something like:
> >
> > 1. Introducing new %docker-format-options and friends (similar to already
> >existing %deb-format-options and friends), providing the 
> > --entry-point-arg
> >options, that would be specific to a docker format (although I am not 
> > sure if
> >it needs to be specific, maybe some other formats support arguments as
> >well?).
> > 2. Writing entry-point-arg-spec-option-parser, while taking inspiration from
> >symlink-spec-option-parser.  Yours would be much simpler, since you 
> > would be
> >just accumulating values into a list.
> >
> > As for the extra-options, I guess modifying current code (by adding the 
> > 'docker
> > option) into something like:
> >
> > (extra-options (match pack-format
> >  ('deb
> >   (list #:control-file
> > (process-file-arg opts 'control-file)
> > #:postinst-file
> > (process-file-arg opts 'postinst-file)
> > #:triggers-file
> > (process-file-arg opts 'triggers-file)))
> >  ('docker
> >   (list #:entry-point-args
> > (process-file-arg opts 'entry-point-arg)))
> >  ('rpm
> >   (list #:relocatable? relocatable?
> > #:prein-file
> > (process-file-arg opts 'prein-file)
> > #:postin-file
> > (process-file-arg opts 'postin-file)
> > #:preun-file
> > (process-file-arg opts 'preun-file)
> > #:postun-file
> > (process-file-arg opts 'postun-file)))
> >  (_ '(
> >
> > could work?  build-docker-image already accepts a list as an #:entry-point, 
> > so
> > it should be just a matter of properly composing the list.
> >
> > Not sure if this is helpful.
> >
> > W.
> >
> > >
> > > Graham
> > >
> > > On Fri, 2 Jun 2023 at 09:13, Graham Addis  
> > > wrote:
> > > >
> > > > Hi Wolf,
> > > >
> > > > On Thu, 1 Jun 2023 at 22:55, wolf  wrote:
> > > > >
> > > > > On 2023-05-31 18:47:03 +0100, Graham Addis wrote:
> > > > > > I could use the equivalent format for --entry-point
> > > > > >
> > > > > > --entry-point executable --entry-point param1 --entry-point param2
> > > > > >
> > > > > I think that is a reasonable idea.  Only downside is that it would 
> > > > > not be
> > > > > backwards compatible (since currently last --entry-point wins), 
> > > > > however I am not
> > > > > sure if someone actually relies on that behavior.
> > > > >
> > > > > Backwards compatible way would be keeping --entry-point as it is and 
> > > > > introducing
> > > > > new argument (--entry-point-arg) that could be used to build the 
> > > > > argument list,
> > > > > but I might be overthinking it :).
> > > >
> > > > I'll go with extending --entry-point to accept multiple values and use
> > > > all of them for --format=docker and simply use the last one provided
> > > > for the other formats.
> > > >
> > > > I'll try to put a patch together at the weekend.
> > > >
> > > > Thanks for all your input, it really helps.
> > > >
> > > > Graham
> > >
> >
> > --
> > There are only two hard things in Computer Science:
> > cache invalidation, naming things and 

Re: Can Guix channels be non-GPL?

2023-06-13 Thread pelzflorian (Florian Pelz)
Saku Laesvuori  writes:
> Libgit2 defines an exception that it may be linked against programs
> under any license,

Thank you, GNU Guix’ decisions make more sense now.  Should have checked
the license comment in “guix edit libgit2”.  So that argument is gone;
still it is not clear if copyright can even apply if we only link.

That said, the user-friendly decision for Parnikkapore would be to just
listen to Saku and Arne, because some users don’t like a murky legal
status.

Regards,
Florian



Re: Can Guix channels be non-GPL?

2023-06-13 Thread Dr. Arne Babenhauserheide

Saku Laesvuori  writes:

>> One view is that GPL does not propagate, because the Guile language does
>> not link.
>
> This would be a very dangerous interpretation and clearly go against the
> spirit of the GPL: any proprietary software could use any GPL software
> if they were written in a language that doesn't link. There is a lot of
> python code, for example, under the GPL and it would have no protection
> against being used in proprietary programs.

The GPLv3 uses the definition of "intimate data communication". I’m
pretty sure a Guix channel has that with Guix, so the license must be
GPL compatible.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature


Re: Guix home - 'pinning' ?

2023-06-13 Thread Fenix Lopez

Hi !

  Thanks for the clarifiction, Robby.

In order to give some more context , may i add the fact that the package 
in question


is not being compiled/derived when entering the build phase ? In 
consquence, the whole 'guix home reconfigure' gets stopped...


That's the underlaying reason why i was wondering how to pin that 
'offending' package.


   Umh... leaving package version 'pinning' aside, umh...   Is there 
another way to prevent such described scenario ? how to get ' guix home 
reconfigure'


finish the whole process regardless the issue described ?


thanks, thanks , thnaks for your attention

F


On 12/6/23 18:16, Robby Zambito wrote:

Hi,


when using guix-home, is there a way to pin a given package to its
current version, so that it stays as it is despite 'guix pull'
bringing new commits ?

In your (home-environment (packages ...)) list, you should specify the
package that has the correct version that you want. There are two ways
to do this. You can either create an inferior channel, and specify the
package by looking it up in that channel, or you can apply a
transformation to the package to specify the version.

Using an inferior package will pull the package from a previous version
of Guix - including all of its package inputs. This will pin all of the
transitive dependencies of the package as well. See: info guix Inferiors
for information on how to define an inferior, and how to select a
package from that inferior.

If you want to pin a package to a specific commit, version, branch, etc
of that package, you can use transformations. See: info guix "Defining
Package Variants" for how to use options->transformation, and info guix
"Package Transformation Options" for the available options you can set.

Hope this helps :)

Robby




Re: Can Guix channels be non-GPL?

2023-06-13 Thread Saku Laesvuori
> One view is that GPL does not propagate, because the Guile language does
> not link.

This would be a very dangerous interpretation and clearly go against the
spirit of the GPL: any proprietary software could use any GPL software
if they were written in a language that doesn't link. There is a lot of
python code, for example, under the GPL and it would have no protection
against being used in proprietary programs.

> If Guix’ GPL would propagate, then the GPL2 of libgit2 would propagate
> to Guix.

Libgit2 defines an exception that it may be linked against programs
under any license, and I would consider FFI or whatever Guile uses to
interact with the compiled libgit2 library to qualify as linking.

I feel like Guix' GPL would propagate, but you could ask
licens...@fsf.org what they think about it.


signature.asc
Description: PGP signature


Re: OBS Studio memory leak

2023-06-13 Thread Guillaume Le Vaillant
Ott Joon  skribis:

> Hey
>
> Tried the same thing in VLC and it freezes on GPU accel and starts leaking 
> memory while also becoming hard to kill.
> Maybe this also explains why some mpv GPU accel settings don't work also in 
> the exact same way.
> I have an AMD RX 6900 XT on this machine.
>
> I could probably try this on the laptop with Intel and the unmentionable 
> video devices.
>
> PS: Might need to switch to a traditional email service or get my own up and 
> running. Tutanota is just no good for this mailing list stuff.
> Ott

It looks like an issue with the shader cache of mesa.
After clearing it, I don't see the memory leak anymore.

Could you try doing a "rm -r $HOME/.cache/mesa_shader_cache/*" and see
if it also solves the issue for you?


signature.asc
Description: PGP signature


Re: Can Guix channels be non-GPL?

2023-06-13 Thread pelzflorian (Florian Pelz)
Hi Parnikkapore!

One view is that GPL does not propagate, because the Guile language does
not link.

If Guix’ GPL would propagate, then the GPL2 of libgit2 would propagate
to Guix.

Regards,
Florian



Re: OBS Studio memory leak

2023-06-13 Thread Guillaume Le Vaillant
Robby Zambito  skribis:

> Ott Joon  writes:
>
>> Hey there
>>
>> I have the exact same issue and I think this has to do with
>> gstreamer. Some other programs are also affected by this bug. What
>> seems to happen is the gst-plugin-scanner starts searching for plugins
>> and just doesn't finish and leaks memory a ton. My 128GB of RAM will
>> be full in seconds if I launch anything that uses gstreamer. Even
>> virt-manager if you have gst-plugin-* packages installed as then the
>> gst-plugin-scanner is awakened. I had to remove them or unset
>> GST_PLUGIN_SYSTEM_PATH. Unfortunately OBS seems to have this feature
>> built in, so it's not something you can remove. This is all I know at
>> the moment.
>>
>> Ott
>
> Hi Ott,
>
> Thanks for the lead. I tried pinning gstreamer and gst-plugins-base to
> older versions available in Guix, and removing gst-plugins-base from
> being an input to OBS (though I'm not positive this removes it from all
> recursive inputs), but I'm still having the issue :(
>
> Here is what I have so far:
>
> (let ((parent (specification->package "obs")))
>   (package
>(inherit parent)
>(inputs (modify-inputs (package-inputs parent)
>   (replace "gstreamer"
>((options->transformation '((with-version 
> . "gstreamer=1.20.3")))
> (specification->package "gstreamer")))
>   (replace "gst-plugins-base"
>((options->transformation '((with-version 
> . "gst-plugins-base=1.20.3")))
> (specification->package 
> "gst-plugins-base")))
>
> Also tried with (remove "gst-plugins-base") instead of the replace.
>
> Robby

Hi,

I don't know if its related, but I have a big memory leak issue with
vlc. When trying to play a video with it, if the video output module it
set to gl or vdpau_display, it consumes all the RAM of the machine in
a few seconds (and I have to kill it fast to prevent the machine from
hanging). However if I force the video output module to xcb_xv, it works
fine.

Do you have the same issue with vlc? If yes, it may indicate a bug
with video acceleration (VA-API/VDPAU or mesa).

PS: My machine's GPU is an AMD Radeon RX 6800 XT.


signature.asc
Description: PGP signature