LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 08-17-2016, 02:25 AM   #1
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
ardour5 - cannot create a session


I'm trying to create a session in Ardour4 and 5 the error is the same. First it starts with a warning:
Code:
WARNING: Your system has a limit for maximum amount of locked memory!
         This might cause Ardour to run out of memory before your system runs
         out of memory. You can view the memory limit with 'ulimit -l', and it
         is normally controlled by /etc/security/limits.conf

Code:
ulimit -l
64

I have got the following in /etc/security/
File: limits.d/99-realtime.conf:
Code:
@realtime - rtprio 99
@realtime - memlock unlimited
As far as I remember, I created this file following one of the guides to get rid of the locked memory error - clearly it didn't help.

When I specify the location for the new session/project, I get the following error:

Code:
Could not create a session in /path/to/my_project_folder
The location is in my home directory so I don't think there are any permission issues.

See the full log:
Code:
ardour5 
WARNING: Your system has a limit for maximum amount of locked memory!
         This might cause Ardour to run out of memory before your system runs
         out of memory. You can view the memory limit with 'ulimit -l', and it
         is normally controlled by /etc/security/limits.conf

bind txt domain [gtk2_ardour5] to /usr/share/ardour5/locale
Ardour5.0.0 (built using 5.0 and GCC version 5.3.0)
ardour: [INFO]: Your system is configured to limit Ardour to only 4,096 open files
ardour: [INFO]: Loading system configuration file /etc/ardour5/system_config
ardour: [INFO]: CPU vendor: GenuineIntel
ardour: [INFO]: AVX-capable processor
ardour: [INFO]: CPU brand: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
ardour: [INFO]: Using SSE optimized routines
ardour: [INFO]: Loading default ui configuration file /etc/ardour5/default_ui_config
ardour: [INFO]: Loading user ui configuration file /home/xtd8865/.config/ardour5/ui_config
ardour: [INFO]: Loading color file /usr/share/ardour5/themes/dark-ardour.colors
ardour: [INFO]: Loading ui configuration file /etc/ardour5/clearlooks.rc
ardour: [INFO]: Loading ui configuration file /etc/ardour5/clearlooks.rc
Found nothing along /home/xtd8865/.config/ardour5/templates:/usr/share/ardour5/templates
run dialog
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JACK command line will be: /usr/bin/jackd -t 200 -p 2048 -R -T -d alsa -n 2 -r 44100 -p 1024 -d hw:PCH,0 -X raw
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Engine profiling activated, beware 197 MBytes are needed to record profiling points...
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:PCH,0|hw:PCH,0|1024|2|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
Cannot lock down 207603658 byte memory area (Cannot allocate memory)
Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Scanning folders for bundled LV2s: /usr/lib64/ardour5/LV2
KP is ardour.keys
Set cursor set to default

Errors/Messages:
ERROR: AlsaAudioBackend: Cannot use two different devices.JACK: Cannot use real-time scheduling (RR/5)(1: Operation not permitted)
ERROR: JACK: JackClient::AcquireSelfRealTime error
ERROR: LADSPA: cannot load module "/usr/lib64/ladspa/sifter_1210.so" (/usr/lib64/ladspa/sifter_1210.so: undefined symbol: q_sort)
ERROR: LADSPA: cannot load module "/usr/lib64/ladspa/sifter_1210.so" (/usr/lib64/ladspa/sifter_1210.so: undefined symbol: q_sort)
INFO: Loading keybindings from /etc/ardour5/ardour.keys
WARNING: Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ (a custom path to xjadeo can be specified by setting the XJREMOTE environment variable. It should point to an application compatible with xjadeo's remote-control interface 'xjremote').

see also http://manual.ardour.org/video-timeline/setup/
INFO: Loading bindings from /etc/ardour5/ardour.keys
Loading menus from /etc/ardour5/ardour.menus
ERROR: JACK: Cannot create thread res = 1

run dialog
Cannot get session parameters.
JackTemporaryException : now quits...
Jack main caught signal 2
Released audio card Audio1
audio_reservation_finish
Write server and clients timing data...

Please advise.

Thank you
 
Old 08-17-2016, 02:34 AM   #2
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,098

Rep: Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175
Quote:
Originally Posted by sycamorex View Post
Code:
ERROR: JACK: JackClient::AcquireSelfRealTime error
not sure if related, but can you run jackd (used by ardour) with realtime privileges?
there are some hints about it on its README on SBo.
 
Old 08-17-2016, 02:40 AM   #3
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by ponce View Post
not sure if related, but can you run jackd (used by ardour) with realtime privileges?
there are some hints about it on its README on SBo.

Thank you for your reply

Code:
$ setcap cap_ipc_lock,cap_sys_nice=ep /usr/bin/jackd
bash: setcap: command not found
My standard user is part of the following groups: users lp floppy audio video cdrom plugdev power netdev scanner bumblebee realtime jackuser

I've got jack2 installed, which
Code:
$ ls /var/log/packages | grep jack
jack-keyboard-2.5-x86_64-1_SBo
jack-rack-1.4.7-x86_64-3_SBo
jack-tools-20141211-x86_64-1_SBo
jack2-1.9.10-x86_64-1_SBo
jack_capture-0.9.71-x86_64-1_SBo
jack_delay-0.4.0-x86_64-1_SBo
jackmeter-0.4-x86_64-1_SBo
ngjackspa-1.0-x86_64-1_SBo
qjackctl-0.4.2-x86_64-1_SBo
zynjacku-6-x86_64-1_SBo

Jack2, according to the description, runs with elevated priviliges.

This package uses POSIX filesystem capabilities to execute with
elevated privileges (required for realtime audio processing).
 
Old 08-17-2016, 03:07 AM   #4
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,098

Rep: Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175Reputation: 4175
don't know if it applies to your setup, but ardour on SBo depends on jack-audio-connection-kit, not jack2.

setcap is a root command, so it's located in /sbin: you will find in your path if you login as root or become root with "su -".
 
Old 08-17-2016, 03:07 AM   #5
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Ok, let me put this question on hold - part of the problem was some jack settings that had to be adjusted for a different audio device. Now however, ardour does not seem to start at all. Let me solve this one first.
 
Old 08-17-2016, 06:11 AM   #6
ppr:kut
Slackware Contributor
 
Registered: Aug 2006
Location: Netherlands
Distribution: Slackware
Posts: 631

Rep: Reputation: 463Reputation: 463Reputation: 463Reputation: 463Reputation: 463
Quote:
Originally Posted by ponce View Post
don't know if it applies to your setup, but ardour on SBo depends on jack-audio-connection-kit, not jack2.
That doesn't matter. "jack" is a specification and both jack-audio-connection-kit (jack1) and jack2 are implementations. They are drop-in.
 
3 members found this post helpful.
Old 08-17-2016, 07:13 AM   #7
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Ardour5 starts normally now - still cannot create a session. Jack seems to be running without any problems. I also tried to start jack through qjackctl and attach ardour to it, which was successful. Still I could not, however, create as session.



Code:
run dialog
Jack: JackPosixThread::StartImp : create RT thread

Errors/Messages:
ERROR: JACK: Cannot use real-time scheduling (RR/5)(1: Operation not permitted)
ERROR: JACK: JackClient::AcquireSelfRealTime error
ERROR: LADSPA: cannot load module "/usr/lib64/ladspa/sifter_1210.so" (/usr/lib64/ladspa/sifter_1210.so: undefined symbol: q_sort)
ERROR: LADSPA: cannot load module "/usr/lib64/ladspa/sifter_1210.so" (/usr/lib64/ladspa/sifter_1210.so: undefined symbol: q_sort)
INFO: Loading keybindings from /etc/ardour5/ardour.keys
WARNING: Video-monitor 'xjadeo' was not found. Please install http://xjadeo.sf.net/ (a custom path to xjadeo can be specified by setting the XJREMOTE environment variable. It should point to an application compatible with xjadeo's remote-control interface 'xjremote').

see also http://manual.ardour.org/video-timeline/setup/
INFO: Loading bindings from /etc/ardour5/ardour.keys
Loading menus from /etc/ardour5/ardour.menus
ERROR: JACK: Cannot create thread res = 1
ERROR: JACK: Cannot create thread res = 1
ERROR: JACK: Cannot create thread res = 1
ERROR: JACK: Cannot create thread res = 1
ERROR: JACK: Cannot create thread res = 1
ERROR: JACK: Cannot create thread res = 1
 
Old 08-18-2016, 10:59 PM   #8
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,784

Rep: Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434
Just curious -

Are you using a low-latency custom kernel?

Isn't much or all of LADSPA replaced by LV2 now?

Notes - Thanks for error messages. It appears you need realtime scheduling
Thanks for the xjadeo data. It's new to me and looks great.

FWIW - I've been using Ardour since it was pre-Alpha (no instructions even for compile) but I'm using 32 bit Slack 14.0. Ardour is one of the reasons I don't leap on upgrades. It can be a pain to get working right but is SO worth it. Once i have it right, I'm reticent to start all over.
 
1 members found this post helpful.
Old 08-19-2016, 04:26 AM   #9
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by enorbet View Post
Just curious -

Are you using a low-latency custom kernel?

Isn't much or all of LADSPA replaced by LV2 now?

Notes - Thanks for error messages. It appears you need realtime scheduling
Thanks for the xjadeo data. It's new to me and looks great.

FWIW - I've been using Ardour since it was pre-Alpha (no instructions even for compile) but I'm using 32 bit Slack 14.0. Ardour is one of the reasons I don't leap on upgrades. It can be a pain to get working right but is SO worth it. Once i have it right, I'm reticent to start all over.
Thanks for your answer.

No, I'm not using a low-latency kernel.

I don't know about LADSPA (I'm new to it - had some previous experience of working with Cubase and VST plugins on Windows (basic) - but never really tried anything like that on Linux)


How do I enable realtime scheduling - do I need to recompile the kernel?

Thank you
 
Old 08-19-2016, 05:21 AM   #10
ml4711
Member
 
Registered: Aug 2012
Location: Ryomgård, Danmark
Distribution: Slackware64
Posts: 146

Rep: Reputation: 103Reputation: 103
Quote:
How do I enable realtime scheduling - do I need to recompile the kernel?
Obs! Adjust the paths if you have ardour in another place.

One way to do it - but not really good,
since you get trouble with som plugins you may use in ardour:


install set_rlimits from slackbuilds.org

in /etc/set_rlimits.conf add:
@audio /usr/bin/ardour4 nice=-1 rtprio=80 memlock=1048576

Start ardour like this:
Code:
set_rlimits ardour4
The way that works very good:

in /etc/ld.so.conf add:
/usr/lib64/ardour4

Code:
ldconfig

setcap cap_ipc_lock,cap_sys_nice=eip  /usr/lib64/ardour4/ardour-4.6.0
start ardour:
Code:
ardour4
Some notes:
You can not use setcap on ardour4 since it's a shell script.

When you use setcap on "/usr/lib64/ardour4/ardour-4.6.0",
the "export LD_LIBRARY_PATH in ardour4" does not work anymore, so
you have to "use /etc/ld.so.conf" to let ardour4 find its libraries.

Cheers
Morten
 
2 members found this post helpful.
Old 08-19-2016, 06:39 AM   #11
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by ml4711 View Post
Obs! Adjust the paths if you have ardour in another place.

One way to do it - but not really good,
since you get trouble with som plugins you may use in ardour:


install set_rlimits from slackbuilds.org

in /etc/set_rlimits.conf add:
@audio /usr/bin/ardour4 nice=-1 rtprio=80 memlock=1048576

Start ardour like this:
Code:
set_rlimits ardour4
The way that works very good:

in /etc/ld.so.conf add:
/usr/lib64/ardour4

Code:
ldconfig

setcap cap_ipc_lock,cap_sys_nice=eip  /usr/lib64/ardour4/ardour-4.6.0
start ardour:
Code:
ardour4
Some notes:
You can not use setcap on ardour4 since it's a shell script.

When you use setcap on "/usr/lib64/ardour4/ardour-4.6.0",
the "export LD_LIBRARY_PATH in ardour4" does not work anymore, so
you have to "use /etc/ld.so.conf" to let ardour4 find its libraries.

Cheers
Morten
Thank you very much. It's working fine now.
 
Old 08-19-2016, 06:47 AM   #12
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,784

Rep: Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434
Quote:
Originally Posted by sycamorex View Post
Thanks for your answer.
No, I'm not using a low-latency kernel.
I don't know about LADSPA (I'm new to it - had some previous experience of working with Cubase and VST plugins on Windows (basic) - but never really tried anything like that on Linux)
How do I enable realtime scheduling - do I need to recompile the kernel?

Thank you
You're quite welcome. I do custom kernel building to get both low-latency and realtime scheduling but whether or not anyone could or should do that depends on hardware quality, meaning whether it can handle the higher speeds and loads. Generally that just means decent brand Motherboard with a proven chipset and reasonable BIOS/UEFI settings, not overly aggressive at the very least to start off.

Thankfully if you'd like to try "rolling ur own" it is far easier than most suppose and AlienBob has a good tutorial written for older kernels but the options are still there, most steps apply, and you can't hurt anything by using them all excepting compile time. He does mention version differences as well as his own preferences. Kernels keep getting basically easier to compile and if you keep your old kernel you can always fall back on that. Here's the Docs -

--- Alien Bob's Kernel Building Info ---

I am still using Ardour 4 so I don't know from experience if LV2 has become a full replacement yet but it will be at some point. LADSPA is quite good, though there are a few oddball niche VST plugins for which there is no Linux counterpart, at least yet. LV2 is apparently easier to write, a little more flexible, and overall an improvement. I was actually hoping you had some experiences with it to share since I am quite interested.

Regarding the value of low-latency: Lots of Windows gear advertises misleading latency figures because considering anything and everything is inter-communication, all passes through the kernel as a chain and it is cliche that a chain is only as good as it's weakest link. It makes almost no difference if a single piece of hardware is capable of 2-4msec response since once in Windows the kernel, designed as a one size fits all that abhors tech calls for crap hardware, is only capable of between 10 and 20msec.

Linux stock kernel is capable of 8-10 msec and a low-latency, realtime kernel can achieve down to 1 msec. While a human can't perceive a 1msec timeframe distinctly, it does definitely reduce drift errors in time sensitive events like "punch ins". Some such events are cumulative and I find I get a crisper mastering on Linux. In all fairness both Windows and OSX can produce Pro results but the low-latency of Linux WILL spoil you and over time Windows (I'm not much experienced with OSX) starts to feel kinda "clunky" by comparison. For reference, in 2001 I spent $3000.00 USD on the Sequoia complete multimedia suite and I am seriously considering the $10/month subscription for Ardour5 as a replacement. I'm only waiting on a little more experience in Slack 14.2 before taking the plunge.
 
3 members found this post helpful.
Old 08-19-2016, 06:56 AM   #13
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Quote:
Originally Posted by enorbet View Post
You're quite welcome. I do custom kernel building to get both low-latency and realtime scheduling but whether or not anyone could or should do that depends on hardware quality, meaning whether it can handle the higher speeds and loads. Generally that just means decent brand Motherboard with a proven chipset and reasonable BIOS/UEFI settings, not overly aggressive at the very least to start off.

Thankfully if you'd like to try "rolling ur own" it is far easier than most suppose and AlienBob has a good tutorial written for older kernels but the options are still there, most steps apply, and you can't hurt anything by using them all excepting compile time. He does mention version differences as well as his own preferences. Kernels keep getting basically easier to compile and if you keep your old kernel you can always fall back on that. Here's the Docs -

--- Alien Bob's Kernel Building Info ---

I am still using Ardour 4 so I don't know from experience if LV2 has become a full replacement yet but it will be at some point. LADSPA is quite good, though there are a few oddball niche VST plugins for which there is no Linux counterpart, at least yet. LV2 is apparently easier to write, a little more flexible, and overall an improvement. I was actually hoping you had some experiences with it to share since I am quite interested.

Regarding the value of low-latency: Lots of Windows gear advertises misleading latency figures because considering anything and everything is inter-communication, all passes through the kernel as a chain and it is cliche that a chain is only as good as it's weakest link. It makes almost no difference if a single piece of hardware is capable of 2-4msec response since once in Windows the kernel, designed as a one size fits all that abhors tech calls for crap hardware, is only capable of between 10 and 20msec.

Linux stock kernel is capable of 8-10 msec and a low-latency, realtime kernel can achieve down to 1 msec. While a human can't perceive a 1msec timeframe distinctly, it does definitely reduce drift errors in time sensitive events like "punch ins". Some such events are cumulative and I find I get a crisper mastering on Linux. In all fairness both Windows and OSX can produce Pro results but the low-latency of Linux WILL spoil you and over time Windows (I'm not much experienced with OSX) starts to feel kinda "clunky" by comparison. For reference, in 2001 I spent $3000.00 USD on the Sequoia complete multimedia suite and I am seriously considering the $10/month subscription for Ardour5 as a replacement. I'm only waiting on a little more experience in Slack 14.2 before taking the plunge.
Thank you for the clarification - I am not going to worry about the latency for the moment - What's on my mind is getting familiar with the software and and putting everything together (eg. routing Hydrogen to Ardour tracks, etc.)

Is your decision to subscribe to Ardour based on your willingness to support the developers (which is obviously the right thing to do) or there are some other benefits to the subscription model?
 
Old 08-20-2016, 02:56 AM   #14
enorbet
Senior Member
 
Registered: Jun 2003
Location: Virginia
Distribution: Slackware = Main OpSys
Posts: 4,784

Rep: Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434Reputation: 4434
I just want to give back to Paul Davis whom I consider a bona fide genius (both in inspiration and perspiration) and a monstrous contributor/developer for *Nix pro audio work and we all know Linux has the goods but is hampered by a patchwork quilt of audio support. Paul Davis has done more than any other individual I know of to advance that cause. He wrote and developed not just Ardour but also Jack and LADSPA and contributes heavily to LV2. Here's more if you like Paul Davis on Linux Journal
 
3 members found this post helpful.
Old 08-20-2016, 03:13 AM   #15
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,836

Original Poster
Blog Entries: 1

Rep: Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251Reputation: 1251
Paul Davis' list of contributions does look impressive.
 
  


Reply

Tags
ardour



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I create a cairo-dock session? scarrs Slackware 1 03-13-2014 09:30 PM
NoMachines can't create session bluethundr Red Hat 1 04-02-2012 08:26 PM
Create New Desktop Session or Environment samuellawrence Linux - Desktop 2 12-09-2009 11:24 PM
newbie: create session with php ?? ALInux Programming 3 11-01-2005 02:58 PM
How to create a session script? Dopeskills Mandriva 0 04-20-2004 08:25 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 08:39 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration