Guitarix release 0.36.0

Discuss anything new and newsworthy!

Moderators: raboof, MattKingUSA, khz

simonvanderveldt
Established Member
Posts: 36
Joined: Mon Sep 04, 2017 9:30 pm

Re: Guitarix release 0.36.0

Postby simonvanderveldt » Tue Jan 23, 2018 8:44 pm

gimmeapill wrote:Hi Guys,

Thanks for streamlining those build flags.
I have just updated the AUR pkgbuild and it does seems to reduce the size of the package by half (80MB -> 40MB).
According to the build log, everything seems to be there (LV2+GUI, new LADSPA), but I didn't have a chance to fully test yet.

So just to double check, here's what I went with:

Code: Select all

  python2 waf configure --prefix=/usr \
                  --cxxflags-release \
                  --optimize \
                  --new-ladspa \
                  --install-roboto-font


Did I miss something?

That should work, the only thing I know of at the moment that doesn't work is if you disable building the standalone application (--no-standalone) but enable building the LADSPA plugins (--ladspa and/or --new-ladspa). All other combo's should work afaik.

Since building of the standalone application is enabled by default, as is the building of the LV2 plugins, you should end up with all three (standalone application, LADSPA plugins and LV2 plugins).
Note you should get an overview of which features you'll get after issueing "waf configure" which will list all of these features separately.

Code: Select all

==================                     
GUITARIX II 0.36.1

OS                                       : linux
C++ flags                                : -Wall --optimize -std=c++11
Link flags                             
Compiler ['/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0/g++'] version : 5.4.0
Parallel build jobs                                             : 4
Use prebuild faust files                                        : yes
Use faust precision                                             : double
Use prebuild gperf files                                        : no
Use prebuild gresouce file                                      : yes
Avahi service discovery                                         : no
Bluetooth rfcomm                                                : yes
Use internal zita-resampler                                     : no
Use internal zita-convolver                                     : no
Build standalone application                                    : yes
Jack Session Support                                            : yes
Build LADSPA plugins                                            : no
Build new LADSPA plugins                                        : yes
Build LV2 plugins                                               : yes
Build LV2 plugin GUI's                                          : yes
Build MOD LV2 plugin GUI's                                      : no
SSE2 support found                                              : yes
SSE2 support disabled                                           : no
skip Python Library Wrapper                                     : yes
use prebuild C++ Library Wrapper                                : yes
skip building shared lib                                        : no
skip install lib-dev                                            : yes
run ldconfig tool                                               : yes
update desktop database                                         : yes
Localization  (intltool)                                        : yes
skip glade support                                              : yes
Install prefix                                                  : /usr
Install standalone binary                                       : /usr/bin
Guitarix shared files directory                                 : /usr/share/gx_head
Guitarix pixmaps directory                                      : /usr/share/pixmaps
Install library                                                 : /usr/lib
Install font roboto condensed                                   : /usr/share/fonts/truetype
Update Font config cache                                        : yes
Install lv2                                                     : /usr/lib/lv2


Some small questions/suggestions:
- Are you deliberately passing "--cxxflags-release" without a value? It's set to "-O3 -DNDEBUG" by default.
- "--optimize" doesn't exist, I think you meant "--optimization"? I haven't tried that option though.
- I think you can just depend on https://www.archlinux.org/packages/comm ... tf-roboto/ instead of installing the fonts from the guitarix sources
- In case you're interested, this is how we build it https://github.com/gentoo-audio/audio-o ... ebuild#L59

gimmeapill
Established Member
Posts: 526
Joined: Thu Mar 12, 2015 8:41 am

Re: Guitarix release 0.36.0

Postby gimmeapill » Thu Jan 25, 2018 1:31 pm

Thanks for the pointers, this wscript is giving me headaches ;-)

I forgot to include the configure log, but this was pretty much what I expected:

Code: Select all

==================                     
GUITARIX II 0.36.1

OS                                       : linux
C++ flags                                : -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall --optimize -std=c++11
Link flags                             
Compiler ['/usr/bin/g++'] version        : 7.2.1
Parallel build jobs                      : 4
Use prebuild faust files                 : yes
Use faust precision                      : double
Use prebuild gperf files                 : no
Use prebuild gresouce file               : yes
Avahi service discovery                  : yes
Bluetooth rfcomm                         : yes
Use internal zita-resampler              : no
Use internal zita-convolver              : no
Build standalone application             : yes
Jack Session Support                     : yes
Build LADSPA plugins                     : no
Build new LADSPA plugins                 : yes
Build LV2 plugins                        : yes
Build LV2 plugin GUI's                   : yes
Build MOD LV2 plugin GUI's               : no
SSE2 support found                       : yes
SSE2 support disabled                    : no
skip Python Library Wrapper              : yes
use prebuild C++ Library Wrapper         : yes
skip building shared lib                 : no
skip install lib-dev                     : yes
run ldconfig tool                        : yes
update desktop database                  : yes
Localization  (intltool)                 : yes
skip glade support                       : yes
Install prefix                           : /usr
Install standalone binary                : /usr/bin
Guitarix shared files directory          : /usr/share/gx_head
Guitarix pixmaps directory               : /usr/share/pixmaps
Install library                          : /usr/lib
Install font roboto condensed            : /usr/share/fonts/truetype
Update Font config cache                 : yes
Install lv2                              : /usr/lib/lv2


- Are you deliberately passing "--cxxflags-release" without a value? It's set to "-O3 -DNDEBUG" by default.

Yes, as I'm not exactly hot on compiler flags, I just trusted the default would do fine.
Looking at the configure log, the flags are the defaults from makepkg.conf (normal since i'm building in a chroot) with "-Wall --optimize -std=c++11" appended - this seems to be the optimize part.
So the --cxxflags-release was just ignored, no?
if so I'll add '-O3 -DNDEBUG' explicitly (unless if O3 caused issues), but it looks then that the default value is not working.

- "--optimize" doesn't exist, I think you meant "--optimization"? I haven't tried that option though.

"--optimization" was not recognized. The wscript error message suggested to use optimize instead, which I did...and it apparently worked.

- I think you can just depend on https://www.archlinux.org/packages/comm ... tf-roboto/ instead of installing the fonts from the guitarix sources

Good point, thanks.
The roboto package was not available in the official repos at the time I picked up the pkgbuild, and I didn't want to depend on another AUR package (actually I did for a while and got some user complaints), so I ended up using the internal version.
So yes, it can now be changed to an external dependency and I guess I should also add "--no-font-cache-update" to the flags.

- In case you're interested, this is how we build it https://github.com/gentoo-audio/audio-o ... ebuild#L59

Thanks, I will just add
--no-ldconfig
--no-desktop-update
and that should be it.

gimmeapill
Established Member
Posts: 526
Joined: Thu Mar 12, 2015 8:41 am

Re: Guitarix release 0.36.0

Postby gimmeapill » Thu Jan 25, 2018 7:30 pm

ok, another try: there's still something fishy here.

Here are the flags I used:

Code: Select all

  python2 waf configure --prefix=/usr \
                  --cxxflags-release="-O3 -DNDEBUG" \
                  --optimization \
                  --new-ladspa \
                  --no-ldconfig \
                  --no-desktop-update \
                  --no-font-cache-update


and the outcome:

Code: Select all

==================                     
GUITARIX II 0.36.1

OS                                       : linux
CPU version                              : Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz
C++ flags                                : -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -Wall -O3 -DNDEBUG -march=native -mmmx -msse4.2 -mfpmath=sse -fomit-frame-pointer -ftree-loop-linear -ffinite-math-only -fno-math-errno -fno-signed-zeros -fstrength-reduce -pipe -std=c++11
Link flags                             
Compiler ['/usr/bin/g++'] version        : 7.2.1
Parallel build jobs                      : 4
Use prebuild faust files                 : yes
Use faust precision                      : double
Use prebuild gperf files                 : no
Use prebuild gresouce file               : yes
Avahi service discovery                  : yes
Bluetooth rfcomm                         : yes
Use internal zita-resampler              : no
Use internal zita-convolver              : no
Build standalone application             : yes
Jack Session Support                     : yes
Build LADSPA plugins                     : no
Build new LADSPA plugins                 : yes
Build LV2 plugins                        : yes
Build LV2 plugin GUI's                   : yes
Build MOD LV2 plugin GUI's               : no
SSE2 support found                       : yes
SSE2 support disabled                    : no
skip Python Library Wrapper              : yes
use prebuild C++ Library Wrapper         : yes
skip building shared lib                 : no
skip install lib-dev                     : yes
run ldconfig tool                        : no
update desktop database                  : no
Localization  (intltool)                 : yes
skip glade support                       : yes
Install prefix                           : /usr
Install standalone binary                : /usr/bin
Guitarix shared files directory          : /usr/share/gx_head
Guitarix pixmaps directory               : /usr/share/pixmaps
Install library                          : /usr/lib
Install lv2                              : /usr/lib/lv2


This brings 2 comments:
1 - "--optimization" vs "--optimize": not sure what I did wrong 2days ago but now it works as it should. nevermind.
2 - The C++ flags look rather messy: having "-O2", "-O3", and "-march=native" in the same line doesn't look quite ok isn't it?
It's as if there were 3 set of flags appended...

Cheers,

LX

simonvanderveldt
Established Member
Posts: 36
Joined: Mon Sep 04, 2017 9:30 pm

Re: Guitarix release 0.36.0

Postby simonvanderveldt » Thu Jan 25, 2018 9:00 pm

gimmeapill wrote:This brings 2 comments:
1 - "--optimization" vs "--optimize": not sure what I did wrong 2days ago but now it works as it should. nevermind.
2 - The C++ flags look rather messy: having "-O2", "-O3", and "-march=native" in the same line doesn't look quite ok isn't it?
It's as if there were 3 set of flags appended...

Cheers,

LX


1. Good to know, I was already scratching my head how it could be different :D

2. Yeah, the C++ flags are a bit difficult. For starters the value you set "--cxxflags-release" to is appended to the existing list of cxxflags, it doesn't replace it. So that's probably the reason you're seeing both -O2 and -O3.
Also when I said the default for "--cxxflags-release" is "-O3 -DNDEBUG", I meant that it's configured like that by default in the wscript. You don't need to pass anything for that if those are the settings you want. When you pass "-cxxflags-release" without a value you're effectively removing that default.

Many of the other options, including -march=native seem to be coming from enabling "--optimization", which sets several flags based on what it can find /proc/cpuinfo. We don't use these automatic optimization features in gentoo since we expect the user to set his chosen C(XX)FLAGS himself so I have no real experience with it.

And finally there are some flags which I don't know where they are coming from. "-fstack-protector-strong" for example is not in the wscript. Is it something that is being set/passed by the package manager?
Last edited by simonvanderveldt on Fri Jan 26, 2018 11:30 am, edited 1 time in total.

gimmeapill
Established Member
Posts: 526
Joined: Thu Mar 12, 2015 8:41 am

Re: Guitarix release 0.36.0

Postby gimmeapill » Fri Jan 26, 2018 8:44 am

2. Yeah, the C++ flags are a bit difficult. For starters the value you set "--cxxflags-release" to is appended to the existing list of cxxflags, it doesn't replace it. So that's probably the reason you're seeing both -O2 and -O3.
Also when I said the default for "--cxxflags-release" is "-O3 -DNDEBUG", I meant that it's configured like that by default in the wscript. You don't need to pass anything for that if those are the settings you want. When you pass "-cxxflags-release" without a value you're effectively removing that default.


OK, the wscript comment finally made it through my thick skull - I was indeed doing it the opposite way ;-)
So, instead of adding problems where there aren't any, I'll just skip the "--cxxflags-release" flags altogether and stick with just --optimize (no change from before). And it looks like we're good:

Code: Select all

  python2 waf configure --prefix=/usr \
                    --optimization \
                    --new-ladspa \
                    --no-ldconfig \
                    --no-desktop-update \
                    --no-font-cache-update


And finally there are some flags which I don't know where they are coming from. "-fstack-protector-strong" for example is not in the wscript. Is it something that is being set/passed by the package manager?


Correct, those are the default on Arch:
https://git.archlinux.org/svntogit/packages.git/tree/trunk/makepkg.conf?h=packages/pacman

Code: Select all

CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="@CARCHFLAGS@ -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"


Thanks again for taking the time to explain ;-)

Cheers,

LX

simonvanderveldt
Established Member
Posts: 36
Joined: Mon Sep 04, 2017 9:30 pm

Re: Guitarix release 0.36.0

Postby simonvanderveldt » Fri Jan 26, 2018 11:32 am

gimmeapill wrote:Thanks again for taking the time to explain ;-)

Cheers,

LX

No problem at all. If you have any more questions just ask!
And have fun with guitarix! :)

dalezjc
Established Member
Posts: 3
Joined: Thu Dec 27, 2018 8:51 pm

Re: Guitarix release 0.36.0

Postby dalezjc » Thu Dec 27, 2018 9:01 pm

I apologize if this isn't correct thread for this question, but here goes.

I just installed Guitarix on a Linux Mint and it installed just fine. However, I'm using a Focusrite 18i8 interface and I'm not getting any sound through the interface. Any suggestions?

Thanks!
Dale

glowrak guy
Established Member
Posts: 1210
Joined: Sat Jun 21, 2014 8:37 pm

Re: Guitarix release 0.36.0

Postby glowrak guy » Sat Dec 29, 2018 1:46 am

Plugin or standalone?
Reaper new-track-with-plugin defaults to midi,
I (too often) forget the track is midi, rather than audio. Then silence whispers :shock:

alsamixergui might reveal a muted output, the default sometimes on
new setups. Or there may be multiple motherboard soundchip entries,
and one of those was chosen as default, so try the other headphone
or line-out jacks. For good thorough info,

http://libremusicproduction.com/article ... arted-jack


If you have both jackd and pulseaudio, there is an app for that, in synaptic, called

pulseaudio-module-jack

which sends pulseaudio sound to the jackd i/o ports, it will appear
in the qjackctl audio tab when installed.

pavucontrol is a sound-levels gui that may be useful.

Assuming you have kxstudio repository installed. If not,
a quick google will reveal four commands to copy/paste.
kxstudio has been a staple resource for current or new software
for many many moons.
Cheers

dalezjc
Established Member
Posts: 3
Joined: Thu Dec 27, 2018 8:51 pm

Re: Guitarix release 0.36.0

Postby dalezjc » Fri Jan 11, 2019 9:39 pm

Thanks for the reply!

Questions if you don't mind:

1. Plugin or standalone? Plugin (or at least trying).
2. Reaper new-track-with-plugin defaults to midi. Are you saying i should select MIDI? Even though I'm not using MIDI?
3. Assuming you have kxstudio repository installed. I do have it installed.

Do I select my Scarlett in the Qjackctrl setup dialog?

Thanks,
Dale

User avatar
ohli
Established Member
Posts: 5
Joined: Tue Jan 02, 2018 12:40 pm

Re: Guitarix release 0.36.0

Postby ohli » Fri Jan 18, 2019 6:17 pm

dalezjc wrote:Thanks for the reply!

Questions if you don't mind:

1. Plugin or standalone? Plugin (or at least trying).

Ok, so first try getting any sound IN/OUT Reaper, then try it with the plugin.

2. Reaper new-track-with-plugin defaults to midi. Are you saying i should select MIDI? Even though I'm not using MIDI?

No, just make sure you change the track type to audio.
Do I select my Scarlett in the Qjackctrl setup dialog?

Yes, sometimes you have to experiment, with USB subclasses, like USB:[2:0] and USB[2:1], you can use

Code: Select all

aplay -l
to get an overview about the ids of the sound cards in your system.
Ardour + Arch = <3

My band: https://crimsonrain.de/


Return to “Linux Music News”

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest