[ubuntu-studio-devel] ubuntustudio controls

Len Ovens len at ovenwerks.net
Sat Jun 14 02:23:50 UTC 2014

Ubuntustudio-controls is dead right now (won't start and when started 
in a terminal as root crashes) and lacked a lot of features in 
any case. It has been suggested that we work on the code to do what needs 
to be done and then write the GUI afterwards to tie all these things 
together. There are a few ways we can do this:

1) write each function as a separate script (python seems to be the common 
thread here) and gather them together later.

2) Write one script with a CLI menu to try out things.

3) Write one script where CL arguments select functions.

We could even start with 1) and then combine them to 2) or 3). The GUI 
would call the procedures already there.

However, before we do that, we need to have a spec of what things this 
application should do. We should also decide how each feature should be 
accessed. Some features would be used only for original system setup and 
could be accessed from the settings or system menu. Other things might get 
changed any number of times during one session and would be better 
accessed from the systray.

So first is setup:
 	System setup:
 		realtime access?
 		Check audio card for irq conflicts?
 		Check system for hyperthreading turned off.
 			user should be told they can use bios or
 			-controls can disable second thread on all cores
 		CPU governor
 			I am not sure what to do with this one. On a
 			desktop it may be best to just set performance
 			all the time. The CPU in my testing seems to
 			run cooler when all the cores are the same speed.
 			My cores have always been 10 deg below max running
 			temp even with performance. When the system is
 			idle The temp seems to be about the same as
 			ondemand at idle. One might even infer that the
 			power demand can not be much more if the heat
 			generated is similar. Needs more testing if
 			someone has a laptop with an i5 or i7 (the i5
 			seems to be a better audio CPU) and can see
 			what the battery life difference is with the
 			two governors that would help.
 		Len has forgotten other system settings for audio, but
 		there seems to be less need for them now than in the past.
 		(I have run at jack set -p16 for hours with no xruns)

 	Session setup:
 		user's choice of audio backend... what is going to start
 		when the session starts.
 		user's choice of jack server (1, 2, dbus)
 		Jack's default settings
 		An automated way of finding the cards:
 			lowest latency (lowest jack will start with)
 			highest latency
 			If 2 or 3 frames works best (3 for HDA)
 		Will pulse be used? (what other options can be auto set
 			should it be started after jackd?
 			do we need to manually add jack sink?
 		What utilities shold we start in the systray?
 		default audio IF.
 			Is there a way we can make this not show in pulse?
 			I personally would like to set pulse not to see
 			ALSA and only see jack. But, other people will
 			want other setups.

My brain is already going foggy   :)

 	The settings we might change "on the fly" depending on what
 	we are doing.
 		cpu governor
 		pulse to jack bridge
 		background services (on/off) (which ones)
 		audio/midi connections
 			It would be nice to include a Pulse patch bay
 		levels... a universal mixer?

 	Things we may want to monitor.
 		DSP usage
 		CPU usage
 		CPU speed

Is this all? ... probably not. Is it too much? Could be. Would it be all 
one application? I don't think so... personally I see at least 3, but 
would probably use 5 (some being startup scripts run at session start).

Is this official? No, it is just some ideas. I also hope I am showing some 
of the problems we may have  ;) and some of the division into units we 
might have. These are important as they show what privilages are needed 
for different things. No one wants to be typing a password for minor 
changes and we don't want to leave an application running in userspace the 
whole session with root access either.

Anyway, I would like to see a wiki set up for this with these or some 
other logical divisions. I am sure I have left a lot out as well.

Len Ovens

More information about the ubuntu-studio-devel mailing list