INTERACT FORUM
More => Old Versions => JRiver Media Center 23 for Linux => Topic started by: bob on July 21, 2017, 02:45:26 pm
-
This is the latest version of MC23 for Linux. Please post bugs here. Please start a new thread for anything requiring discussion. Non-bug posts will be deleted.
Download:
i386 http://files.jriver.com/mediacenter/channels/v23/latest/MediaCenter-23.0.21.deb
amd64 http://files.jriver.com/mediacenter/channels/v23/latest/MediaCenter-23.0.21-amd64.deb
arm http://files.jriver.com/mediacenter/channels/v23/latest/MediaCenter-23.0.21-armhf.deb
Also in the latest repo.
23.0.21 (7/17/2017)
1. NEW: Implemented thread priorities. When running as a normal user requires system configuration to work. Falls back to non-prioritized threads if the system is not configured to allow prioritization.
2. FIXED: Memory leak in Linux thread parallelizer.
-
Note that these builds all require Jessie at a minimum.
The AMD64 build will eventually require Stretch when we can get some issues with the GCC 6 compiler ironed out.
-
This build (23.0.21) implements thread priorities on linux.
The linux box must be configured to allow non-root users to do this. The easiest way is to add the following line to /etc/security/limits.conf
@audio - rtprio 100
This assumes the user is the audio group which on debian is allowed access to the raw audio devices (and which your user ought to be a member of).
A different method (if you didn't want to allow the whole audio group to be able to set priorities) would be to specify the existing MC user like this:
bob - rtprio 100
You need to log out and back in for the change to take effect.
-
Interesting, how do we know thread priorities is working (after making the changes to allow it)?
-
Interesting, how do we know thread priorities is working (after making the changes to allow it)?
There are a couple of ways:
ps -T -eo pid,tid,class,rtprio,ni,pri,comm | grep mediacenter23
Or run install and run htop
-
MC will run various things at different priorities if it can, and the highest priority is for the audio output thread.
If it can't get permission to run the thread with one of the SCHED_RR priorities it will echo that fact into the log and revert to default thread priority.
-
What I'm getting on Linux Mint;
2779 2779 TS - 0 19 mediacenter23
2779 3479 TS - 0 19 mediacenter23
2779 3480 RR 56 - 96 mediacenter23
2779 3481 RR 46 - 86 mediacenter23
2779 3498 RR 99 - 139 mediacenter23
-
What I'm getting on Linux Mint;
2779 2779 TS - 0 19 mediacenter23
2779 3479 TS - 0 19 mediacenter23
2779 3480 RR 56 - 96 mediacenter23
2779 3481 RR 46 - 86 mediacenter23
2779 3498 RR 99 - 139 mediacenter23
RR 99 is your friend (it's the audio output thread)!
-
YAY! :D
Yeah, compare to Arch Linux before installing 23.0.21;
2946 2946 TS - 0 19 mediacenter23
2946 2956 TS - 0 19 mediacenter23
2946 2966 TS - 0 19 mediacenter23
2946 2967 TS - 0 19 mediacenter23
2946 2968 TS - 0 19 mediacenter23
2946 2970 TS - 0 19 mediacenter23
2946 2972 TS - 0 19 mediacenter23
And Arch Linux after installing 23.0.21;
10059 10059 TS - 0 19 mediacenter23
10059 11871 TS - 0 19 mediacenter23
10059 11872 RR 56 - 96 mediacenter23
10059 11873 RR 46 - 86 mediacenter23
10059 11875 RR 99 - 139 mediacenter23
Double YAY! :D
On Debian-based distros, it should be easy to add yourself to the audio group by opening a terminal and using this command;
sudo usermod -a -G audio youruser
Replace youruser with your username.
For Arch Linux, the command is a little different;
sudo usermod -aG audio youruser
Again, just replace youruser with your username. Now, step two. With the terminal still open paste in the following;
sudo gedit /etc/security/limits.conf
Then add this to the bottom and save it (the added spaces don't matter, but I formatted it to look like the examples);
@audio - rtprio 100
Logout/reboot and profit. :)
I think I'll add this to the Debian/Ubuntu/Mint tutorial over the weekend. :)
-
When adding the "mediacenter23native" list to my repo list on a pi (running jessie), I wind up with the wheezy repo, which has no MC23 builds. Am I not supposed to us the native list? Or is there not an arm repo running yet?
-
When adding the "mediacenter23native" list to my repo list on a pi (running jessie), I wind up with the wheezy repo, which has no MC23 builds. Am I not supposed to us the native list? Or is there not an arm repo running yet?
Just fixed that. Since everything is jessie right now, mediacenter23native will work.
I had made the changes to mediacenter23jessie.list because when I can get gcc 6 working with MC the amd64 build will be stretch.
-
I'm going to tweak the priorities a bit more but for now the most important thing is that the audio output thread is highest.
-
AD,
For Ubuntu Gnome 17.04 I get the following:
2386 2386 TS - 0 19 mediacenter23
2386 2958 TS - 0 19 mediacenter23
2386 10276 TS - 0 19 mediacenter23
2386 10278 TS - 0 19 mediacenter23
2386 10280 TS - 0 19 mediacenter23
2386 10317 TS - 0 19 mediacenter23
I tried the sudo usermod -a -G audio youruser command with no luck either. Yes, I did put in my correct "username".
-
Just fixed that. Since everything is jessie right now, mediacenter23native will work.
I had made the changes to mediacenter23jessie.list because when I can get gcc 6 working with MC the amd64 build will be stretch.
Thanks for the fix; just to note, it's fixed for latest, but not for stable (MC23native still pulls the empty wheezy repo on stable)
-
AD,
For Ubuntu Gnome 17.04 I get the following:
2386 2386 TS - 0 19 mediacenter23
2386 2958 TS - 0 19 mediacenter23
2386 10276 TS - 0 19 mediacenter23
2386 10278 TS - 0 19 mediacenter23
2386 10280 TS - 0 19 mediacenter23
2386 10317 TS - 0 19 mediacenter23
I tried the sudo usermod -a -G audio youruser command with no luck either. Yes, I did put in my correct "username".
You need to do the limits.conf thing too and logout and back in.
-
Thanks for the fix; just to note, it's fixed for latest, but not for stable (MC23native still pulls the empty wheezy repo on stable)
Got that.
The only thing in stable now is 23.0.19 AMD64
-
You need to do the limits.conf thing too and logout and back in.
Yes, for step 2;
sudo gedit /etc/security/limits.conf
Then add this to the bottom and save it (the spaces don't matter, but I formatted it to look like the examples);
@audio - rtprio 100
Logout/reboot and try again. :)
-
You need to do the limits.conf thing too and logout and back in.
AD,
I added the code to the limits.conf file and now I get this:
13477 13477 TS - 0 19 mediacenter23
13477 14010 RR 43 - 83 mediacenter23
13477 21304 TS - 0 19 mediacenter23
13477 21305 RR 56 - 96 mediacenter23
13477 21306 RR 46 - 86 mediacenter23
13477 21331 RR 56 - 96 mediacenter23
-
You're good now. :D
-
What are the benefits of enabling thread prioritization? Does it address some issue?
-
What are the benefits of enabling thread prioritization? Does it address some issue?
It allows the audio output thread to be higher priority, resulting in more stable playback when your system is busy.
-
I did this under Debian Buster (Xfce).
It seems that Mediacenter starts and stops much faster.
I can not find any other advantages.
ps -T -eo pid,tid,class,rtprio,ni,pri,comm | grep mediacenter23
5677 5677 TS - 0 19 mediacenter23
5677 5905 TS - 0 19 mediacenter23
5677 5908 TS - 0 19 mediacenter23
5677 5911 TS - 0 19 mediacenter23
5677 5914 TS - 0 19 mediacenter23
5677 6707 TS - 0 19 mediacenter23
5677 8705 TS - 0 19 mediacenter23
5677 8707 TS - 0 19 mediacenter23
5677 8709 TS - 0 19 mediacenter23
5677 8711 TS - 0 19 mediacenter23
~$ ps -T -eo pid,tid,class,rtprio,ni,pri,comm | grep mediacenter23
17058 17058 TS - 0 19 mediacenter23
17058 17240 TS - 0 19 mediacenter23
17058 17241 RR 56 - 96 mediacenter23
17058 17242 RR 46 - 86 mediacenter23
17058 17244 RR 99 - 139 mediacenter23
17058 17302 RR 43 - 83 mediacenter23
17058 17308 TS - 0 19 mediacenter23
17058 17309 RR 46 - 86 mediacenter23
17058 17310 TS - 0 19 mediacenter23
17058 17312 TS - 0 19 mediacenter23
17058 17313 RR 46 - 86 mediacenter23
17058 17367 RR 46 - 86 mediacenter23
-
I did this under Debian Buster (Xfce).
It seems that Mediacenter starts and stops much faster.
I can not find any other advantages.
...
Here is an example of what it can help:
https://yabb.jriver.com/interact/index.php/topic,111435.0.html
-
I have noticed under 23.0.21 with the new thread priority feature that whenever I move my mouse off the MC window with the spectrum analyzer window open, that the spectrum analyzer goes into slow motion mode. The second I move the mouse cursor back onto any portion of the MC window(s) the spectrum analyzer starts to move in what I will call "normal" time with the music playing. Is this the way it's supposed to work with thread priorities enabled?
I probably should make this a separate post, but is there any chance that the "now playing" mode can be designed to allow for user placement and sizing of the cover art TOGETHER with a display of the DSP studio spectrum analyzer side by side? Currently, trying to do this with the separate DSP window overlaying a portion of the main MC "now playing" window is a very poor substitute because the minute you click anywhere else on the screen, the DSP window automatically moves behind the main window of MC and disappears. Very inconvenient. I believe I posted about this a long while ago, but never got an answer from the Powers That Be.