Allfifthstuning Posted September 3, 2016 Share Posted September 3, 2016 Let me start to express my gratitude for the wealth of information and software which is available here. I'm a longtime user of a usb 2.0 soundcard along with a laptop with KXStudio and Guitarix. I've used this setup many times for gigging and home recording and it proved to be stable. One of the downsides is the "voluminous" laptop. I've my soundcard mounted in a small 19" flightcase with one rack still open. For some years I've been thinking of making rack mountable effectprocessor from a board to substitute the laptop. So, to start this journey I've ordered a OPi PC (along with a good quality micro SD card!), of course not a heavyweight board, but my first goal is to see it working (I've had old laptops with similar specs which did the job). The route I want to go is to install Ambrian along with the KXStudio repo's (which contains the latest version of Guitarix). Step 2 will be to connect and install a small TFT touchscreen. Is this a good route to take? Any tips? I'll will post my results here (also the failures). Let's see what comes of it! Hans Link to comment Share on other sites More sharing options...
starsail0r Posted September 4, 2016 Share Posted September 4, 2016 what is the interface of the soundcard that you connect to your laptop? is it usb? Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 What do you main by interface? It is a usb 2 soundcard. I connect it directly to the laptop. Link to comment Share on other sites More sharing options...
Da Alchemist Posted September 4, 2016 Share Posted September 4, 2016 Last time i checked JackD on armhf, jack was not able to run in Full-Duplex mode... Regards Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 Did a short google search. someone stated that this may be a hardware issue (on a Rpi), the ethernet being on the same bus. Could that be it? Will attaching a DAC card solves this problem? Link to comment Share on other sites More sharing options...
Da Alchemist Posted September 4, 2016 Share Posted September 4, 2016 I have installed JackD and Guitarix on my OpiPC+ and it looks promissing. As Soundcard i have plugged in a cheap Behringer UCA202 2 Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 Cool. I've posted the question also on the Guitarix forum and the developer says that the full-duplex should work. He is also one of the developers of the Mod and this runs on a Allwinner Arm core without a problem. You have an older version of Guitarix. You could try to add the kxstudio repo's, which contains a newer version of Guitarix. I'll ask around on the Linux Musicians Forum if the repo's will work along with Armbian. Hans Link to comment Share on other sites More sharing options...
Da Alchemist Posted September 4, 2016 Share Posted September 4, 2016 I do not use guitarix....guess why . I have just made this test for you, for me it is was new to see Jack work in Full Duplex. Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 Ok. And guitarix works for other instruments as well... Thanks! Link to comment Share on other sites More sharing options...
autostatic Posted September 4, 2016 Share Posted September 4, 2016 Hello Hans, Full-duplex should work. You already mentioned the MOD Duo which runs Jack full-duplex on a board with an A20 SoC. It also works on the RPi and I've used Jack in full-duplex on a Cubieboard (A20 SoC) successfully. In order to make this work I can recommend doing the following: Don't use a graphical environment, try to get acquainted with working on the command line. You will probably need at least a preemptive kernel or even a real-time kernel to make full-duplex work. Also the 1818VSL used to have issues with Linux unrelated to armhf, not sure what the status is now but make sure you use a recent kernel. And bear in mind that KXStudio has no armhf packages. Jeremy Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 Thanks Autostatic for joining! Alright I will go for a commandline setup, will Armbian server do or do you recommend another distro? The soundcard had some issues with pc's with usb 2.0 and usb 3.0 ports. The newer kernels have some kind of bug which makes for tons of xruns. On a fully usb 2.0 laptop the problem doesn't arise. I've fired up an old laptop recently and it works flawlessly. Hans Link to comment Share on other sites More sharing options...
autostatic Posted September 4, 2016 Share Posted September 4, 2016 Guess Armbian is just fine, never used it though. I'd use plain Debian myself but I guess it won't differ that much. The Orange Pi probably has USB2 ports so hopefully the 1818VSL can cope with those. Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 4, 2016 Author Share Posted September 4, 2016 Yep it's usb 2.0. Hope the OPi arrives soon, so I can get started. I'll keep posting. Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 6, 2016 Author Share Posted September 6, 2016 Is the SP1 LCD interface supported within Armbian? And the XPT2046 touch screen controller? These questions may be well documented on the FB-group but I don't have an account (and rather keep it that way), but more so FB is shut off when using internet on school I teach (where I finally want do something with the Armbian equipped Pi boards). Hans Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 6, 2016 Author Share Posted September 6, 2016 @Autostatic: Is your repo compatible with Armbian? That would be great. Hans Link to comment Share on other sites More sharing options...
autostatic Posted September 12, 2016 Share Posted September 12, 2016 Hello Hans, My repo only works with Raspbian Wheezy armhf (the ARMv6 VP2 variant). I guess that's a no I'd also like to propose to move the discussion to the Guitarix forum. I've only registered a week ago and I'm already getting spam PM's so I'd like to block this account. Jeremy Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 12, 2016 Author Share Posted September 12, 2016 Thanks for your reply. I'll update on the Guitarix forum as well! The spam is a bummer indeed! Hans Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 16, 2016 Author Share Posted September 16, 2016 THe OPiPC+ arrived and I'm trying to set it up. I can only use av output since I don't have HDMI. With the standard Android OS the OPi outputs video through av. With Armbian I can't get any output yet. I tried to modify the script.bin file as is written on the Orangepi site but with no luck. I'm using the latest Armbian version on a 16GB class 10 Samsung EVO. What can I do to check if the OPI boots at all? How can I make the OPi output video on the AV channel? Do I have to make a custom kernel? Hans Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 17, 2016 Author Share Posted September 17, 2016 (edited) Alright got the OPi up and running with an HDMI to DVI adaptor. Steps I took: 1. Flashing the newest Armbian version to a SD card 2. editing the script.bin file (converting it first with bin2fex to script.fex ), by adding two lines at the end of [hdmi_para]: hdcp_enable = 0 hdmi_cts_compatibility = 1 (and convert it back using fex2bin) to make the HDMI to DVI adaptor work. 3. boot the SD card and follow the instructions 4. Installing jack2 and qjackctl and guitarix (first the standard version later building it from source) 5. Adding myself to the audio group usermod -G audio your-user-name 6. Tweaking limits.conf in/etc/security/limits.conf by adding: @realtime - rtprio 90 @realtime - memlock unlimited 7. Reboot 8. Turning wifi of in a terminal: nmcli r wifi off Then I attached my usb soundcard and configured jack using qjackctl (48.000 / 3 periods / 256) and then fired up Guitarix: Working! A good start so far! Edited September 17, 2016 by Allfifthstuning Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 18, 2016 Author Share Posted September 18, 2016 One thing I notice is that I can't copy text in and from a terminal to another program when using desktop, do have to change a setting? Hans Link to comment Share on other sites More sharing options...
tkaiser Posted September 18, 2016 Share Posted September 18, 2016 With Armbian I can't get any output yet. I tried to modify the script.bin file as is written on the Orangepi site but with no luck. http://forum.armbian.com/index.php/topic/752-tutorial-h3disp-change-display-settings-on-h3-devices (don't follow any advises found on other sites when using Armbian, there's no need to fiddle around with bin2fex/fex2bin unless you want to enable more exotic modes like AV out) Link to comment Share on other sites More sharing options...
Da Alchemist Posted September 19, 2016 Share Posted September 19, 2016 One thing I notice is that I can't copy text in and from a terminal to another program when using desktop, do have to change a setting? Hans Just install another terminal programm : sudo apt-get install gnome-terminal Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 19, 2016 Author Share Posted September 19, 2016 Just install another terminal programm : sudo apt-get install gnome-terminal Thanks that did the trick. http://forum.armbian.com/index.php/topic/752-tutorial-h3disp-change-display-settings-on-h3-devices (don't follow any advises found on other sites when using Armbian, there's no need to fiddle around with bin2fex/fex2bin unless you want to enable more exotic modes like AV out) Thanks, screen is now setup fine. I've got Guitarix (build from source) up and running with a latency under 10ms (which is pretty decent), although it is a bit unstable (getting xruns) when using certain effects. Next step is to streamline the whole setup to minimize the xruns. Hans 1 Link to comment Share on other sites More sharing options...
ChrisK Posted September 21, 2016 Share Posted September 21, 2016 Thanks that did the trick. Thanks, screen is now setup fine. I've got Guitarix (build from source) up and running with a latency under 10ms (which is pretty decent), although it is a bit unstable (getting xruns) when using certain effects. Next step is to streamline the whole setup to minimize the xruns. Hans You can try to reserve one of the cores to the audio process(es). First you isolate a core by using the kernel parameter (boot argument) "isolcpus=...", and then you can use taskset to place threads/threads onto that core. In addition you should then also set a higher priority for those processes/threads. That way you have a complete core only for the audio processing, which should help a bit. Greetings, Chris 1 Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 21, 2016 Author Share Posted September 21, 2016 That's a good tip! I've managed to use "taskset" to run Jackd and Guitarix on a specific core. I've did a search on where to place the "isolcpus=" argument, but haven't found the right place where I can put it. Where do I have to put it? And can I reserve two cores or would that be over the top? Hans Link to comment Share on other sites More sharing options...
ChrisK Posted September 21, 2016 Share Posted September 21, 2016 The isolcpus belongs into the bootargs in boot.cmd. For example, this will reserve core number 4: setenv bootargs console=ttyS0,115200 noinitrd root=/dev/mmcblk0p2 rootfstype=ext4 rootwait isolcpus=3 This will reserve cores 3 and 4: setenv bootargs console=ttyS0,115200 noinitrd root=/dev/mmcblk0p2 rootfstype=ext4 rootwait isolcpus=2,3 This will reserve cores 2 to 4: setenv bootargs console=ttyS0,115200 noinitrd root=/dev/mmcblk0p2 rootfstype=ext4 rootwait isolcpus=1-3 The isolcpus argument starts counting cores at 0. Keep in mind that the above are just examples, you may have the root file system elsewhere, for example. It is also possible to assign IRQ's to specific cores using the /proc/irq/... stuff, but i haven't tried that on the H3 yet, since in my own code i set the cpu affinity directly. That _may_ help a bit with latency for the audio i/o through the underlying driver stack, by assigning the irq of the audio hardware to a specific core as well. However, i don't know much about the way audio hardware is handled on the H3. If you want to get really nasty, i made a patch to the sunxi legacy kernel a while back, that allows a specific IRQ to be handled as fast as possibly, by bypassing a bunch of code in the Linux IRQ handler code. But that isn't for the faint of heart and may cause nasty side-effects. Greetings, Chris Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 21, 2016 Author Share Posted September 21, 2016 Alright I'll try that. If assigning IRQ help, I would gladly try that out. unfortunately it's not my faint heart (as far as I know of) that bothers me, but my infinite lack of knowledge when it comes to programming / setting up pc's. But I'm working on it... ;-) Hans edit: Found this thread showing how to update boot.scr edit 2: CPU 2 and 3 (starting from 0) are now isolated, which I verified by using: top and then pressing "1" Then in a terminal I use taskset -c 2,3 ProgramOfMyChoice to assign the programs to the right cores, Guitarix is still a bit buggy when I use the factory presets though. Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 26, 2016 Author Share Posted September 26, 2016 Alright time to make an evaluation of the process so for. Firstly: I'm impressed of the capabilities of a SBC (i.c. the OPiPC+), it will suit my daily needs: emailing, text-processing, internetsurfing and so on. All can be done without a breeze. With -of course- Armbian on the background "doing it's thing". Great! After going back and forth using different flags to configure and build Guitarix, it is now running stable with a relative low latency. One thing which has to be dealt with is that the number of effect which can be used simultaneously is a bit limited, because I run out of DSP power pretty fast (although I tweaked a lot with using designated cores / higher set priorities). Over at the Linuxmusicians forum someone suggested that I may have to use buildroot to start from scratch. Currently this is a bit to big to chew for me. What can I do to optimize Armbian to free up more resource? Install an even lighter gui like LXDE or openbox? And how can I do that properly (I've tried it but I can't switch to an other session)? Start with Armbian server and install openbox or lxde (which I tried but didn't work so far)? Deinstall several services to make everything lighter? Hans Link to comment Share on other sites More sharing options...
Igor Posted September 26, 2016 Share Posted September 26, 2016 With buildroot you will get worse results for sure, forget about. Their tool is generic while we are specialised for those ARM boards, especially we know a lot about Allwinner chips. Additionally you have to expect much more troubles to make things together since the tool is complex. Our desktop is already as light as possible and you won't achieve any vivid (if any) speed improvements if you change window manager. XFCE is among the light ones. Furthermore our desktop build has build-in all possible acceleration methods: 3D and video playing but I guess they don't help your type of usage. If you installed system on eMMC you are already on the edge - you can only try some good SSD drive for system - via USB. If you are running our of memory, get an Opi +2e ... it has faster eMMC and 2GB of memory. Link to comment Share on other sites More sharing options...
Allfifthstuning Posted September 26, 2016 Author Share Posted September 26, 2016 With buildroot you will get worse results for sure, forget about. Their tool is generic while we are specialised for those ARM boards, especially we know a lot about Allwinner chips. Additionally you have to expect much more troubles to make things together since the tool is complex. Our desktop is already as light as possible and you won't achieve any vivid (if any) speed improvements if you change window manager. XFCE is among the light ones. Furthermore our desktop build has build-in all possible acceleration methods: 3D and video playing but I guess they don't help your type of usage. If you installed system on eMMC you are already on the edge - you can only try some good SSD drive for system - via USB. If you are running our of memory, get an Opi +2e ... it has faster eMMC and 2GB of memory. Thanks Igor, that's sound advice. I haven't installed Armbian on eMMC yet, will do that. I've contacted the developer of Guitarix it there is still some tweaking within Guitarix possible so I'll try that also. Hans 1 Link to comment Share on other sites More sharing options...
Recommended Posts