Sinlge Xrun [WORK]
xrun is actually a wrapper around the xgdb tool, and is provided to simplify commonusage patterns of xgdb. Therefore everything that can be done with xrun can also be done with xgdb (but not the other way round).
An "xrun" can be either a buffer underrun or a buffer overrun. In both cases an audio app was either not fast enough to deliver data to the ALSA audio buffer or not fast enough to process data from the ALSA audio buffer. Usually xruns are audible as crackles or pops.
Various kernel patches and strategies are available to minimise xruns under Jack, eg. kernel pre-emption and the Realtime Linux Security Module. At the time of writing (July 2004) these strategies are in a bit of a state of flux - see for the latest.
So I have installed and stup nvidia-xrun, following the instructions here. I followed every single instruction except for the secion on enabling an eGPU which I assume is an external GPU (which I do not have). Everything seems to work fine. The Nvidia GPU isn't even recognized at all anymore after booting. Note that the GPU worked perfectly well before, I just wanted the option to turn it on and off when I needed to to save battery life.
My understanding is that I should be able to run `nvidia-xrun ` and the GPU will startup and be used in the execution of that program. If I run emacs, for example using`nvidia-xrun emacs`, I get:
Side note: if while it's hanging, I can see the NVIDIA card in lspci, which indicates to me that it is somewhat working properly. Before running nvidia-xrun, lspci doesn't display anything about a NVIDIA card.
I do not want to run XDM through my GPU, but for the sake of getting nvidia-xrun to work at all, I attempted to follow the article and do so. When I am in the actual arch console (before loading xdm) I rn nvidia-xrun and get:
One thing that I noted as weird is the BusIDs. When I ran `lspci grep -i nvidia awk 'print $1'` (before installing nvidia-xrun) I would get `0000:01:00.0`. So in all the conf files in /etc/X11, I put `0000:01:00.0`. Every single BusID that I saw online was something like `1:0:0` or somehting like that. I'm not really sure if this is significant, just thought I'd mention it.
Specify the number of frames between JACK process() calls. [b]This value must be a power of 2[/b], and the default is 1024. If you need low latency, set -p as low as you can go without seeing xruns. A larger period size yields higher latency, but makes xruns less likely. The JACK capture latency in seconds is --period divided by --rate
In SDDM there is an menu of sessions types (for example, it may be Plasma, XFCE and Openbox). Is there a way to add custom options here? For example, the same Plasma option but started with nvidia-xrun script?
I can offer another option.You can make lvm partition with luks protection. And when you turn on the computer, the system will ask for the password from the lvm section, which will replace the password for the SDDM. Then create a systemd service with nvidia-xrun to start the plasma. I don't see another option now.
Question, when I run jack2 and run music in audio application, jack log sometimes return xrun callback (everytime, when crackling due playing audio). Is there any way to analyze what is cause of this xrun callback? For example which process caused this callbacks.
I am getting xruns (several per minute) no matter what settings I use for frames per period, sample rate, and periods per buffer. I am running ubuntu studio 10.4 x64 on a dell studio 1555 with 4gb ram and a 2.4 ghz core 2 duo.
@Scary-HalloThanks alot for you suggestion; I ran the scripts and made sure that the script said everything was good, but I am still getting a large amount of xruns, and now, Ardour and Hydrogen will periodically stop and say that they cant keep up with Jack. I am getting about an xrun per 5 minutes running at 44100 Hz and with 512 frames/ period, and every about 10 minutes Ardour and Hydrogen disconnect from Jack. Any one have any suggestions?ThanksDavid
Create ten tests for xrun. Place them in ITests/. A test consistsof two files: N-in.json and N-out.json for N in [0 .. 9]:An input file in ITests contains a single JSON object with twofields: "space" and "program". The first one specifies the sizeof the heap with a positive JSON integer. The second one specifies aWhile program. Here is a simplistic example: 041b061a72