Geonkick-Synthesizer/geonkick

Launching app shouldn't require sudo

malfisya opened this issue · 8 comments

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

  • Date generated: 2024-01-19 07:28:43

Hardware Information:

  • Hardware Model: empty empty
  • Memory: 16,0 GiB
  • Processor: Intel® Core™ i5-3570K × 4
  • Graphics: AMD Radeon™ RX 550 / 550 Series
  • Disk Capacity: 752,2 GB

Software Information:

  • Firmware Version: 4.6.5
  • OS Name: Solus 4.5 Resilience
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 45.3
  • Windowing System: Wayland
  • Kernel Version: Linux 6.6.11-270.current

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?

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.

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

@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.

@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.

Fixed in commit: f0a297b

@treapster Thanks for your info and help! :)

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