Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

New in Funtoo


Recommended Posts

I'm now an Arch Linux user.Recently I's going to try the gentoo,and during searching the web,I got to know the Funtoo Linux.I'm interested in a Linux distribution the package of which use git.And I wanna have a try.So I want to know if there is something that I need to take care of or is there some advice about from Arch Linux to Funtoo

Link to comment
Share on other sites

  • Funtoo Linux BDFL

I have not tried Arch but I suggest you just start with our install docs and go from there, and let us know how the install goes. I'd be interested in getting your feedback on how the install feels since you are an Arch user.

Link to comment
Share on other sites

I have run Arch for a while and did an install of Funtoo this past weekend. I found installing Funtoo to be very straightforward and went right off the online Funtoo install guide.  The guide is a linear, thought-out process with no detours. The package and system management between Arch and Funtoo are substantially different but I had a lot of time to read up while compiling the Funtoo packages. Again -- I found the Funtoo install to be sensible and very adaptive.

 

The only issue I had after installation was that I could not get xfce4-terminal, geany, or gnome-terminal to run. I searched a few lists and the problem seemed to be linked to the subarch type used for compilation. My processor is an Intel64-westmere so that was my stage3 and subarch choice. I decided to change the subarch to generic_64 and recompiled a few packages based on the --newuse emerge option. After that each of those programs started working perfectly.

Link to comment
Share on other sites

Arch is "near to *too".

But by default you've precompiled packages.

With *too Portage will compilete your ebuilds (packages)

 

I know that is possible to use aur or yaourt (time ago) to compile from sources.

 

I think that about source-based distributions, *too then the "Portage" is the more genial & eclectic.

 

@McQ have you ever used the subarch "native_64" ?

 

For me ... simply the best cause can be differencies. I make an example about core2 processors:

core2 I generation uses up to SSSE3 SIMD; but if you have a 2nd generation ("Penryn") core2 cpu you will have also the SSE4.1

 

Then i think that only the "native" can optimize perfectly.

 

Another example: i've a core i7 4771 (Haswell) but there are differencies from a 4770K (unlocked) and 4771 (locked but 3 instructions more for Vt technology)

 

to see the flags passed ... open a terminal then digit:

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=native -O2 test.c -o test && rm test.c test

Then open a 2nd terminal and try 

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=westmere -O2 test.c -o test && rm test.c test

Compares the 2 terminals and take a look if there are differencies or not.

 

I use this method

 

I wish not to have bored you :)

Link to comment
Share on other sites

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=native -O2 test.c -o test && rm test.c test

Then open a 2nd terminal and try 

echo 'int main(){return 0;}' > test.c && gcc -v -Q -march=westmere -O2 test.c -o test && rm test.c test

Compares the 2 terminals and take a look if there are differencies or not.

 

I use this method

 

I wish not to have bored you :)

 

Thanks for the tip! Never bored and always wanting to learn -- so thanks. 

 

I'll dig into this further and review the comparisons.

 

For march=native:

options passed:  -v test.c -march=westmere -mmmx -mno-3dnow -msse -msse2
 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -mno-aes -mno-sha
 -mno-pclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop
 -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1
 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase
 -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt
 -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1
 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw
 -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit
 -mno-mwaitx --param l1-cache-size=32 --param l1-cache-line-size=64
 --param l2-cache-size=3072 -mtune=westmere -O2

For march=westmere

options passed:  -v test.c -march=westmere -O2
Link to comment
Share on other sites

I've this :

heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
options passed:  -v test.c -march=haswell -mmmx -mno-3dnow -msse -msse2
-msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul
-mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm
-mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrtm -mhle -mrdrnd -mf16c
-mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt
-mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1
-mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw
-mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-pcommit
-mno-mwaitx --param l1-cache-size=32 --param l1-cache-line-size=64
--param l2-cache-size=8192 -mtune=haswell -O2
options enabled:  -faggressive-loop-optimizations -falign-labels
-fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg
-fcaller-saves -fchkp-check-incomplete-type -fchkp-check-read
-fchkp-check-write -fchkp-instrument-calls -fchkp-narrow-bounds
-fchkp-optimize -fchkp-store-bounds -fchkp-use-static-bounds
-fchkp-use-static-const-bounds -fchkp-use-wrappers
-fcombine-stack-adjustments -fcommon -fcompare-elim -fcprop-registers
-fcrossjumping -fcse-follow-jumps -fdefer-pop -fdelete-null-pointer-checks
-fdevirtualize -fdevirtualize-speculatively -fdwarf2-cfi-asm
-fearly-inlining -feliminate-unused-debug-types -fexpensive-optimizations
-fforward-propagate -ffunction-cse -fgcse -fgcse-lm -fgnu-runtime
-fgnu-unique -fguess-branch-probability -fhoist-adjacent-loads -fident
-fif-conversion -fif-conversion2 -findirect-inlining -finline
-finline-atomics -finline-functions-called-once -finline-small-functions
-fipa-cp -fipa-cp-alignment -fipa-icf -fipa-icf-functions
-fipa-icf-variables -fipa-profile -fipa-pure-const -fipa-ra
-fipa-reference -fipa-sra -fira-hoist-pressure -fira-share-save-slots
-fira-share-spill-slots -fisolate-erroneous-paths-dereference -fivopts
-fkeep-static-consts -fleading-underscore -flifetime-dse -flra-remat
-flto-odr-type-merging -fmath-errno -fmerge-constants
-fmerge-debug-strings -fmove-loop-invariants -fomit-frame-pointer
-foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole
-fpeephole2 -fprefetch-loop-arrays -free -freg-struct-return
-freorder-blocks -freorder-blocks-and-partition -freorder-functions
-frerun-cse-after-loop -fsched-critical-path-heuristic
-fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
-fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
-fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-fusion
-fschedule-insns2 -fsemantic-interposition -fshow-column -fshrink-wrap
-fsigned-zeros -fsplit-ivs-in-unroller -fsplit-wide-types -fssa-phiopt
-fstdarg-opt -fstrict-aliasing -fstrict-overflow
-fstrict-volatile-bitfields -fsync-libcalls -fthread-jumps
-ftoplevel-reorder -ftrapping-math -ftree-bit-ccp -ftree-builtin-call-dce
-ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop
-ftree-copyrename -ftree-cselim -ftree-dce -ftree-dominator-opts
-ftree-dse -ftree-forwprop -ftree-fre -ftree-loop-if-convert
-ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
-ftree-parallelize-loops= -ftree-phiprop -ftree-pre -ftree-pta
-ftree-reassoc -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra
-ftree-switch-conversion -ftree-tail-merge -ftree-ter -ftree-vrp
-funit-at-a-time -funwind-tables -fvar-tracking -fvar-tracking-assignments
-fzero-initialized-in-bss -m128bit-long-double -m64 -m80387 -mabm -maes
-malign-stringops -mavx -mavx2 -mbmi -mbmi2 -mcx16 -mf16c -mfancy-math-387
-mfma -mfp-ret-in-387 -mfsgsbase -mfxsr -mglibc -mhle -mieee-fp
-mlong-double-80 -mlzcnt -mmmx -mmovbe -mpclmul -mpopcnt -mpush-args
-mrdrnd -mred-zone -mrtm -msahf -msse -msse2 -msse3 -msse4 -msse4.1
-msse4.2 -mssse3 -mtls-direct-seg-refs -mvzeroupper -mxsave -mxsaveopt
Compiler executable checksum: ca5c8a9df67311fd7a6d89e80e2ff8f0
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...