SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I can't speak for anyone else but having been involved in the Music business in one form or another for almost 60 years and being still involved in semi-pro recording work I require extremely low latency. I always build a custom kernel to achieve as close to 1msec latency as I can get. This means that with multiple tracks and plugins I can realistically rely on 6msec-8msec system-wide. Using PulseAudio and being then forced to use the special JACK for Pulse (which lacks a few important features from the "normal" JACK) the very best I can hope for in a similar mix is around 18msec. This is an unacceptable figure even if it did something I needed and it does absolutely nothing I need since my soundcard has hardware mixing.
The drawbacks? From one point of view having to spend time manually setting up audio is a drawback but ultimately it is freedom, flexibility and power to me. It is a cost I am more than merely willing to invest, given the returns.
I'm jumping a little off the topic of desktop eyecandy here but do you have any hints or resources you could link for your audio setup? I dabble with home recording guitars and mics with my Focusrite Scarlett, as well as midi/synth programming using Ardour as my DAW. My jack setup (running at 48khz/1024frames/2) gives me a latency around 42msec which isn't a good start and setting things higher leads to xruns. I'd like to get into the kernel customization game and was thinking about compiling a realtime kernel for audio but I'd like to glean as much info as I can, particularly from people with a Slackware perspective.
I'm jumping a little off the topic of desktop eyecandy here but do you have any hints or resources you could link for your audio setup? I dabble with home recording guitars and mics with my Focusrite Scarlett, as well as midi/synth programming using Ardour as my DAW. My jack setup (running at 48khz/1024frames/2) gives me a latency around 42msec which isn't a good start and setting things higher leads to xruns. I'd like to get into the kernel customization game and was thinking about compiling a realtime kernel for audio but I'd like to glean as much info as I can, particularly from people with a Slackware perspective.
Cheers
Hello 0XBF
First of all I will try to be brief since this is a rather big step off topic but whew! it is also a really big subject with a LOT of variables. I don't understand why you are getting such really high latency. Perhaps the first thing to be certain you know is that having plugins enabled but not actually in use still adds to latency, so one need a flexible setup. I also suspect that USB interface of your Focusrite is a major part of your latency. Naturally having a custom kernel is also a major help.
That will be a decent boost right from the jump BUT if you're really willing to put in the effort and time to get as low as possible you will need to play around with different scheduling and timing settings and just see what works best. Maybe someone more in the know has some formula but because of the many variables I just try stuff and test it. What soundcard you use, what interfaces, and so much more all enters into what works best for you and your hardware. So maybe see it as a somewhat tedious quest but with great rewards.
Being old and old school I try to do as much as I possibly can analog. I have different ~/.asoundrcs and a script for toggling since needs for things like Skype, Hangouts, Discord, etc are quite different from recording. This is especially true in my case since my ESI Juli@ soundcards are setup with 1/4" balanced I/O and I most often use recording mics through an analog hardware mixer employing Line Outs, not really suitable or convenient for Webcam Mics which in my case is USB, which is in turn unsuitable for recording. So I have 2 separate use cases I can fairly easily toggle.
I doubt it will hand you complete answers but it will definitely make your goals and paths to them clearer. Don't let the title put you off if you've never used Firewire. That has almost no impact on the information he addresses. the goal is the same - getting the best modern setup for really low latency.
Start there and any follow-up you need please do feel free to PM me.
FWIW I don't do much live recording anymore but I do quite a bit of conversion from old analog vinyl and especially tapes from musicians and bands I grew up and worked with or others from word of mouth.
Hello 0XBF
First of all I will try to be brief since this is a rather big step off topic but whew! it is also a really big subject with a LOT of variables. I don't understand why you are getting such really high latency. Perhaps the first thing to be certain you know is that having plugins enabled but not actually in use still adds to latency, so one need a flexible setup. I also suspect that USB interface of your Focusrite is a major part of your latency. Naturally having a custom kernel is also a major help.
That will be a decent boost right from the jump BUT if you're really willing to put in the effort and time to get as low as possible you will need to play around with different scheduling and timing settings and just see what works best. Maybe someone more in the know has some formula but because of the many variables I just try stuff and test it. What soundcard you use, what interfaces, and so much more all enters into what works best for you and your hardware. So maybe see it as a somewhat tedious quest but with great rewards.
Being old and old school I try to do as much as I possibly can analog. I have different ~/.asoundrcs and a script for toggling since needs for things like Skype, Hangouts, Discord, etc are quite different from recording. This is especially true in my case since my ESI Juli@ soundcards are setup with 1/4" balanced I/O and I most often use recording mics through an analog hardware mixer employing Line Outs, not really suitable or convenient for Webcam Mics which in my case is USB, which is in turn unsuitable for recording. So I have 2 separate use cases I can fairly easily toggle.
I doubt it will hand you complete answers but it will definitely make your goals and paths to them clearer. Don't let the title put you off if you've never used Firewire. That has almost no impact on the information he addresses. the goal is the same - getting the best modern setup for really low latency.
Start there and any follow-up you need please do feel free to PM me.
FWIW I don't do much live recording anymore but I do quite a bit of conversion from old analog vinyl and especially tapes from musicians and bands I grew up and worked with or others from word of mouth.
Well I've been messing around with this for the last few days and have made improvements. The changes I ended up making so far is to build the 5.0.19 kernel with the real-time patch (not completely necessary but I figured why not), an initscript to boost realtime limits and memlock levels, rtirq to boost priority of the usb Focusrite Scarlett 18i8 interface, and killed pulseaudio.
Jack runs smoothly at 48kHz/64frames/3periods now. Jack calculates latency at 4ms and I measured round trip latency with jack_delay at 10ms, not bad for my fairly cheap setup. I'll see how it holds up with adding more effects processing but I'm not sure how much harder the USB interface can be pushed. I'm planning on building a rig in the near future so I may end up looking at PCIe interfaces after all. Thanks for taking the time to reply!
Well I've been messing around with this for the last few days and have made improvements. The changes I ended up making so far is to build the 5.0.19 kernel with the real-time patch (not completely necessary but I figured why not), an initscript to boost realtime limits and memlock levels, rtirq to boost priority of the usb Focusrite Scarlett 18i8 interface, and killed pulseaudio.
Jack runs smoothly at 48kHz/64frames/3periods now. Jack calculates latency at 4ms and I measured round trip latency with jack_delay at 10ms, not bad for my fairly cheap setup. I'll see how it holds up with adding more effects processing but I'm not sure how much harder the USB interface can be pushed. I'm planning on building a rig in the near future so I may end up looking at PCIe interfaces after all. Thanks for taking the time to reply!
Half an order of magnitude is an impressive improvement, especially while still using USB! Proper job! I have often wondered why I succumb to gear lust whenever I get new hardware considering that I made decent quality recordings with a lousy SBLive and a single core 32 bit CPU with less that a Gig of RAM (though SCSI drives certainly helped back then). I am thinking that with my somewhat diminished needs and the expandability of this, my only multi-core 64bit machine, that if I need to dedicate it as my recording machine and just use whatever I replace it with for everyday chores, I just might be able to resist the endless gear lust. : ^ )
I have been testing my new Threadripper build and while it is not yet completely setup here is a current desktop image. (Just be aware that this is 2.7mb image.)
The CPU is being pushed almost to its limits by compiling FFmpeg with -j 32 but I am yet to see the maximum boost speed of 4.4 GHz. I am simultaneously running a GPU benchmark with Unigine's benchmarking application 'Heaven'. Still working on the Conky settings but you can see the idea there at the moment...
Nice system which still needs a bit more work from a hardware and software point of view, perhaps another 2 weeks of after and before work efforts.
Awesome CPU andrew.46 and a clean looking Desktop. I am curious as to which CPU mode you were in for the in-progress benchmarking and also the final score.
I have been testing my new Threadripper build and while it is not yet completely setup here is a current desktop image. (Just be aware that this is 2.7mb image.)
The CPU is being pushed almost to its limits by compiling FFmpeg with -j 32 but I am yet to see the maximum boost speed of 4.4 GHz. I am simultaneously running a GPU benchmark with Unigine's benchmarking application 'Heaven'. Still working on the Conky settings but you can see the idea there at the moment...
Nice system which still needs a bit more work from a hardware and software point of view, perhaps another 2 weeks of after and before work efforts.
little wonder all that fog in the background - it must be from the steam off the CPU?
(just kidding)
little wonder all that fog in the background - it must be from the steam off the CPU?
(just kidding)
Surprisingly enough the CPU keeps reasonably cool, I am using a 360 AIO water cooler which so far is doing a great job. Mind you I will push the CPU a little harder soon, then there may be some steam
Awesome CPU andrew.46 and a clean looking Desktop. I am curious as to which CPU mode you were in for the in-progress benchmarking and also the final score.
I am not sure what you mean by CPU mode? As for the final benchmarking score I will run it tonight (with no compiling in the background!) and see what the score is. Mind you this is a 1660Ti so the 'Heaven' score will not be world shaking, I believe the leaders in this sort of thing are the 2080Ti GPUs at the moment. Way beyond both my budget and my needs
I am not sure what you mean by CPU mode? As for the final benchmarking score I will run it tonight (with no compiling in the background!) and see what the score is. Mind you this is a 1660Ti so the 'Heaven' score will not be world shaking, I believe the leaders in this sort of thing are the 2080Ti GPUs at the moment. Way beyond both my budget and my needs
The Threadripper CPUs have at least two modes that I know of - Creator Mode and Game Mode. Creator Mode has more "horsepower" but at rather high latency in memory access. Game mode has reduced overall "horsepower" but dramatically lower latency as well as "shows a face" to old games that can't use (or freak out) at unexpected cores and threads count. I benchmark with Heaven as well and while your scores may not be "world-shaking" they should be substantially higher than mine since I'm using an i5-3550 (4 core) OC'd to 4000 and a GTX 1070Ti. I hope to learn something about Heaven from your scores as to the relative importance in that benchmark of CPU vs/ GPU as well as if it responds more to "horsepower" or latency.
The Threadripper CPUs have at least two modes that I know of - Creator Mode and Game Mode. Creator Mode has more "horsepower" but at rather high latency in memory access. Game mode has reduced overall "horsepower" but dramatically lower latency as well as "shows a face" to old games that can't use (or freak out) at unexpected cores and threads count.
Thanks for that heads up. Looks like the terms 'Creator Mode' (the default that I must be using) and 'Game Mode' are terms used in the Ryzen Master software which I am not using as it is windows only. Looks like the same effect can be dug out from the BIOS but these terms are not used there so I need to do some research first. I am not that much of a gamer so I suspect that I will stay with the use of all cores: Creator Mode. More research coming up...
Quote:
Originally Posted by enorbet
I benchmark with Heaven as well and while your scores may not be "world-shaking" they should be substantially higher than mine since I'm using an i5-3550 (4 core) OC'd to 4000 and a GTX 1070Ti. I hope to learn something about Heaven from your scores as to the relative importance in that benchmark of CPU vs/ GPU as well as if it responds more to "horsepower" or latency.
I confess that I ran the benchmark more to test the cooling fans of the GPU which as it turns out only cut in at 65°C. With this test the fans only run at 45% capacity and keep the temperature at 65°C and less. Cooling post test is rapid. Anyway I attach a screenshot with the results....
Well this is getting interesting. Here is one of my results from a few months ago which seems to ask more questions than it answers. One is why is your Heaven showing less information than mine? One I didn't even notice before is why is my OC'd CPU not throttling up to max with such an intense benchmark? Obviously another is why are the scores so out of line with our hardware? That might be explained by resolution and quality setting items yours isn't reporting but I can't tell without those. Anyway maybe this will help you get the most from yours. I apparently have some kernel digging to do.
Last edited by enorbet; 06-18-2019 at 11:00 AM.
Reason: forgot attached image
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.