Geonkick-Synthesizer / geonkick

Geonkick is a free software synthesizer capable of generating a wide range of percussive sounds, including kicks, snares, claps, hi-hats, shakers, and also unique effect sounds.
https://geonkick.org
GNU General Public License v3.0
109 stars 9 forks source link

Launching app shouldn't require sudo #36

Closed malfisya closed 10 months ago

malfisya commented 10 months ago

Hi, thank you for your work on this app. I am building geonkick version 3.3.0 from source. The build went successful and installed properly. But now if i run it from terminal, it complains:

[Geonkick] [ERROR] can't lock memory 

If I run it with sudo (sudo geonkick), it launched but doesn't detect jack audio server running. I noticed there is a change in version 2.10.2 about memory lock.

  • Added lock memory for standalone

Any of this doesn't happen on version 2.6.1 ( i know it is old). Is there a way to launch it without sudo? Maybe some build flags to help? Thank you!

System Details Report


Report details

Hardware Information:

Software Information:

treapster commented 10 months ago

I suspect the problem is that your user is not in audio group and/or the audio group does not have permission to lock memory. Does following https://jackaudio.org/faq/linux_rt_config.html help?

treapster commented 10 months ago

Btw you can check how much memory your user can lock with ulimit -l before trying the guide, if it's on the order of megabytes then it is a problem.

iurienistor commented 10 months ago

@malfisya I'll set this just a warning, and not lock the memory if it can't lock the memory.

malfisya commented 10 months ago

@treapster I checked with ulimit -l and it says 8192. So i followed the guide and it works. There is something weird though, now it doesn't complain about jack not running. First time i run the app after following the guide, i forgot to run jack via qjackctl but geonkick still run and output sound. This behaviour persisted. Is this intended effect? Not needing jack to run first?

@iurienistor will it limit functionality? Maybe for the better.

iurienistor commented 10 months ago

@malfisya Not every user understands how to deal with this kind of setting, and I'd better make this just a warning and continue. Locking memory is critical when Geonkick is used in live music (I don't recommend it in general) because there may be glitches in sound if a page of memory is not locked, and its request may not be available right away. In other cases, I don't think this will cause real issues, but the number of problems due to this restriction introduced in the Geonkick code by the memory lock will cause inconvenience for a lot of users.

iurienistor commented 10 months ago

Fixed in commit: https://github.com/Geonkick-Synthesizer/geonkick/commit/f0a297b95881ab1c296a77c8a64232a8ab46c9bd

iurienistor commented 10 months ago

@treapster Thanks for your info and help! :)

treapster commented 10 months ago

@iurienistor you're welcome, thanks for your work!