Difference between pages "Fonts" and "Wim42gnu's-setup"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
(infinality flag now moved to reetype)
 
 
Line 1: Line 1:
{{PageNeedsUpdates |Reason=Package media-libs/fontconfig does not have a USE flag called "infinality" (anymore?)}}
=WIM42GNU's Funtoo Setup=


== Install the packages ==
This is for everybody who might have seen my funtoo setup and liked it!
Linux font quality is a chronic issue, by default fonts configuration far from ideal look. This can solved by rebuilding <tt>media-libs/fontconfig</tt> with the infinality USE flag, which applies the infinality patch set. Infinality patches were previously available only in the lcd-filtering overlay and have now been merged into the main Funtoo portage tree.
This is also for myself to keep track on my system. I have used most of the Linux distributions out there and I am currently most happy with funtoo.
My reasons are:
# Gentoo/Funtoo is a rolling release distribution, meaning you only have to install it once and update it frequently.
# Gentoo/Funtoo is only what you make out of it, no unnesecary rubish like in Ubuntu, OpenSuse or Fedora will be installed by default. In the mean time being aware that Gentoo/Funtoo is for advanced users not careing that much about GUIs for Settings or Configs.
# Gentoo/Funtoo runs fast due to multiple reasons. (Compiling your own software,USE-Flags,...)
# Philosophy, one would think that Slackware would suite me most (KISS,Unix) but the fact is that these distributions require you more energy and time to work with. I want to get my jobs done, not careing to much about the system. It is okay to have tools that do things for you as long they are designed well - like in funtoo.


<console>
 
###i## echo "media-libs/freetype infinality" >> /etc/portage/package.use
==1. Install Funtoo (not complete yet - I will update this part when I install funtoo the next time)==
###i## emerge -uN fontconfig
 
''Follow the install instructions and setup a minimal system.''http://www.funtoo.org/Funtoo_Linux_Installation
 
Notice you will need to create/edit some configs in the installation prozess. Here are some of mine customizations:
 
a) <code>/etc/portage/make.conf</code>:
  CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
  CXXFLAGS="${CFLAGS}"
  CPU_FLAGS_X86="aes avx fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop"
 
''for the CPU Flags checkout:'' http://www.funtoo.org/News:CPU_FLAGS_X86
 
  USE="qt3support theora libkms xa cdr dvd dvdr alsa ffmpeg -gnome gtk -qt4 -kde lm_sensors mp3 mp4 mozilla multilib png python sound udev usb unicode static-libs hddtemp -bluetooth  nvidia X pulseaudio udisks"
 
  EMERGE_DEFAULT_OPTS="--keep-going"
  FEATURES="-collision-protect ccache"
  CCACHE_SIZE="1G"
  PORTAGE_NICENESS=20
  PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
  #EMERGE_DEFAULT_OPTS="--jobs=12"
  MAKEOPTS="-j12" ''<--- Number of CPU cores *2 in my case works best.''
 
  LANG="de_DE.UTF-8"
  LINGUAS="de" 
  ACCEPT_LICENSE="* -@EULA"
  INPUT_DEVICES="evdev"
  VIDEO_CARDS="nvidia"
 
 
b) <code>/etc/fstab</code>
 
  # /etc/fstab: static file system information.
  #
  # The root filesystem should have a pass number of either 0 or 1.
  # All other filesystems should have a pass number of 0 or greater than 1.
  #
  # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
  #
  # See the manpage fstab(5) for more information.
  #
  # <fs> <mountpoint> <type> <opts> <dump/pass>
 
  /dev/sda1 /boot ext2 noauto,noatime 1 2
  #/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
  /dev/mapper/vg-swap    none          swap      sw                              0 0
  /dev/mapper/vg-root    /            ext4      noatime,nodiratime,defaults    0 1
  /dev/sr0                /mnt/cdrom    auto      noauto,ro                      0 0
  /dev/mapper/vg-home    /home        ext4      noatime,nodiratime              0 0
''' tmpfs /var/tmp/portage tmpfs uid=portage,gid=portage,mode=0775,size=16048M,noatime 0 0'''
 
for tmpfs see: http://www.funtoo.org/Funtoo_Filesystem_Guide,_Part_3
 
c) Since I have an encrypted LVM, one needs an initramfs. I prefer the genkernel method.
    genkernel --kernel-config=/path/to/your/custom-kernel-config --no-mrproper --makeopts=-j5 --install --lvm --luks all
more here: http://www.funtoo.org/Rootfs_over_encrypted_lvm or use better-initramfs: http://www.funtoo.org/Initramfs
 
d) My Funtoo Profiles:
  eselect profile show
 
  Currently set profiles:
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
    build: gentoo:funtoo/1.0/linux-gnu/build/current
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
  Automatically enabled profiles:
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
  mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
 
 
==2. Install your WindowManager or DesktopEnviroment==
 
''My favourite Window Manager at the time is i3 followed by xfce and openbox.''
''Details about i3 & funtoo → http://www.funtoo.org/Package:I3_(Window_Manager) ''
'''i3 setup:'''
 
1) install these packages:
<console> emerge --ask i3 i3status dmenu lxappeareance
</console>
</console>
'' If you want to know what these packages are research them. I use lxappeareance to install and select gtk-themes.''
Config files:
==='''1.''' xinitrc at <code>~/.xinitrc </code>===
  exec ck-launch-session i3
''You only need --force-xinerama if you do have a nvidia grafics card that do not work without it. For more <code>startx</code> magic → https://wiki.archlinux.org/index.php/xinitrc''
==='''2.'''  <code>~/.i3/config</code>===
''specify window colors at the top of the file:''
  # class                border  backgr. text    indicator
  client.focused          #333333 #000000 #ffffff #000000
  client.focused_inactive #333333 #5f676a #ffffff #484e50
  client.unfocused        #333333 #222222 #888888 #292d2e
  client.urgent          #333333 #900000 #ffffff #900000
''specify the bar/workspace colors at the bottom of the file:''
 
  bar {
          status_command i3status
          # Bar color settings
          colors{
                  #background #000000
                  #statusline #ffffff
                  #separator  #666666
                  # Type            border  background font
                  focused_workspace  #008fff #007fff #ffffff
                  active_workspace  #333333 #5f676a #ffffff
                  inactive_workspace #333333 #222222 #888888
                  urgent_workspace  #aa0000 #990000 #ffffff
          }
  }


== Advanced configuration ==
Do not forget the keymap setting at <code>/etc/X11/xorg.conf</code> otherwise you need to use <code>setxkbmap</code>
=== Fontconfig ===
  Section "InputClass"
==== Default configuration ====
    Identifier        "keyboard-all"
    Driver            "evdev"
    MatchIsKeyboard    "on"
  ''' Option        "XkbLayout" "de"'''
  EndSection


<console>
==='''3. '''Display Power Management Signaling===
###i## eselect fontconfig enable 10-antialias.conf
###i## eselect fontconfig enable 10-autohint.conf 
###i## eselect fontconfig enable 10-hinting.conf 
###i## eselect fontconfig enable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-sub-pixel-rgb.conf 
###i## eselect fontconfig enable 11-lcdfilter-default.conf 
###i## eselect fontconfig enable 70-no-bitmaps.conf 
###i## eselect fontconfig disable 10-hinting-full.conf 
###i## eselect fontconfig disable 10-hinting-medium.conf 
###i## eselect fontconfig disable 10-no-sub-pixel.conf 
###i## eselect fontconfig disable 10-sub-pixel-bgr.conf 
###i## eselect fontconfig disable 10-sub-pixel-vbgr.conf 
###i## eselect fontconfig disable 10-sub-pixel-vrgb.conf 
###i## eselect fontconfig disable 10-unhinted.conf</console>
===Linux configuration ===


Same as default configuration except:
a) You can either use XScreenSaver(https://wiki.archlinux.org/index.php/XScreenSaver):
<console>
  emerge -a xscreensaver
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf
 
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
and add <code>/usr/bin/xscreensaver -no-splash &</code> to your <code>~/.xinitrc</code> file:
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf
 
</console>
  xscreensaver -no-splash &        # starts screensaver daemon
=== Infinality’s configuration ===
  exec ck-launch-session i3 --force-xinerama
 
or b) modifi your Xorg server (https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling).
 
==='''4. '''Note: ===
 
I login without a login manager using <code>startx</code> to start my Window Manager, you can end/exit your i3 wm via <code>alt or windows key + shift + e</code>
 
==='''5.''' Background Image Viewer===
 
a) Feh
<console> emerge -a feh</console>
<code>~/.xinitrc</code>:
  feh --bg-center <path>/<image>.png
 
''more options → https://wiki.archlinux.org/index.php/Feh#As_a_desktop_wallpaper_manager ''
 
b) Nitrogen(GUI Programm)
<console> emerge -a nitrogen</console>
<code>~/.xinitrc</code>:
  exec --no-startup-id nitrogen --restore
==3. Additional Software:==


Same as default configuration except:
===1) File Manager:===
<console>
<console> emerge --ask thunar </console>
###i## eselect fontconfig enable 15-hinting-tt-instructed-full.conf
''thunar - filemanager that supports automounting''
###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf 
''Make sure you create this rule: <code> /etc/polkit-1/rules.d/10-drives.rules</code>
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf 
  polkit.addRule(function(action, subject) {
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
  if (action.id.indexOf("org.freedesktop.udisks2.") == 0){
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf 
  return polkit.Result.YES;
###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
  }
</console>
  }
=== Windows configuration ===
  );


Same as default except:
''Also you should have <code>udisk</code> installed''
<console>
###i## eselect fontconfig disable 10-autohint.conf
###i## eselect fontconfig disable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-hinting-full.conf 
###i## eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf 
###i## eselect fontconfig enable 20-hinting-small-fonts-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-aquabase-slight.conf 
###i## eselect fontconfig enable 21-hinting-small-browallia-slight.conf 
###i## eselect fontconfig enable 22-hinting-courier-italic-slight.conf 
###i## eselect fontconfig enable 25-hinting-small-arial-black-slight.conf
</console>
=== OSX configuration ===


Same as default configuration except:
===2) '''media-video/smplayer:'''===
<console>
###i## eselect fontconfig disable 10-autohint.conf
###i## eselect fontconfig disable 10-hinting.conf 
###i## eselect fontconfig disable 10-hinting-slight.conf 
###i## eselect fontconfig enable 10-unhinted.conf 
###i## eselect fontconfig enable 15-hinting-tt-instructed-none.conf
</console>
== Freetype ==
Freetype can be configured through environment variables (see <tt>/etc/env.d/99lcdfilter</tt> for a list of the variables and their description). Those variables can be overridden on a per-user basis by either redefining them in a startup file (such as <tt>~/.bash_profile</tt>) or by sourcing the <tt>/usr/lib/ft-settings.sh</tt> script with the desired style in parameter (you can, of course, source the script from a startup file).


usage: source ft-settings.sh <style>
''allow smplayer always to floate, just add''
  for_window [class="smplayer" instance="smplayer"] floating enable
''to your <code>~/.i3/config</code>''


<console>
===3)''' Internet Browser '''===
Possible styles:  
''I recommend <code>
  default      - Use default settings. A compromise that should please most people 
www-client/chromium</code> or <code>www-client/google-chrome</code>
  osx          - Simulate OSX rendering 
''see for more info: http://www.funtoo.org/Funtoo_Linux_Web_Browsers''
  ubuntu      - Simulate UBUNTU rendering 
  Addons:
  linux        - Generic Linux style - no snapping or certain other tweaks 
  1) Adblock
  windows      - Simulate Windows rendering 
  2) uMatrix
  vanilla      - Just subpixel hinting
  3) StayFocused
  4) WebRTC Block


Infinality styles: 
===n)''' usefull software '''===
  classic      - Infinality rendering circa 2010. No snapping 
app-arch/file-roller
  nudge        - CLASSIC with lightly stem snapping and tweaks 
app-editors/bluefish
  push        - CLASSIC with medium stem snapping and tweaks 
app-emulation/wine
  shove        - Full stem snapping and tweaks without sharpening 
app-misc/freemind
  sharpened    - Full stem snapping, tweaks, and Windows-style sharpening 
app-office/libreoffice
  infinality  - Settings used by Infinality
app-portage/eix
</console>
mail-client/thunderbird
== LibXft ==
media-gfx/blender
Only legacy programs still use libXft. The default configuration is defined in <tt>/usr/share/X11/app-defaults/Xft</tt>. It can be overriden on a per-user basis in the <tt>~/.Xresources</tt> or <tt>~/.Xdefaults</tt> files:
media-gfx/gimp
media-sound/audacity
media-video/kdenlive


{{file|name=~/.Xdefaults|desc= |body=
Xft.antialias:  1
Xft.autohint:  0 
Xft.dpi:        96 
Xft.hinting:    1 
Xft.hintstyle:  hintfull 
Xft.lcdfilter:  lcddefault 
Xft.rgba:      rgb
}}


[[Category:HOWTO]]
media-video/vlc
net-analyzer/wireshark
net-ftp/filezilla
sys-apps/lm_sensors
virtual/jre
app-text/evince
app-text/calibre
app-emulation/virtualbox

Revision as of 20:37, February 16, 2015

WIM42GNU's Funtoo Setup

This is for everybody who might have seen my funtoo setup and liked it! This is also for myself to keep track on my system. I have used most of the Linux distributions out there and I am currently most happy with funtoo. My reasons are:

  1. Gentoo/Funtoo is a rolling release distribution, meaning you only have to install it once and update it frequently.
  2. Gentoo/Funtoo is only what you make out of it, no unnesecary rubish like in Ubuntu, OpenSuse or Fedora will be installed by default. In the mean time being aware that Gentoo/Funtoo is for advanced users not careing that much about GUIs for Settings or Configs.
  3. Gentoo/Funtoo runs fast due to multiple reasons. (Compiling your own software,USE-Flags,...)
  4. Philosophy, one would think that Slackware would suite me most (KISS,Unix) but the fact is that these distributions require you more energy and time to work with. I want to get my jobs done, not careing to much about the system. It is okay to have tools that do things for you as long they are designed well - like in funtoo.


1. Install Funtoo (not complete yet - I will update this part when I install funtoo the next time)

Follow the install instructions and setup a minimal system.http://www.funtoo.org/Funtoo_Linux_Installation

Notice you will need to create/edit some configs in the installation prozess. Here are some of mine customizations:

a) /etc/portage/make.conf:

 CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
 CXXFLAGS="${CFLAGS}"
 CPU_FLAGS_X86="aes avx fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop"

for the CPU Flags checkout: http://www.funtoo.org/News:CPU_FLAGS_X86

 USE="qt3support theora libkms xa cdr dvd dvdr alsa ffmpeg -gnome gtk -qt4 -kde lm_sensors mp3 mp4 mozilla multilib png python sound udev usb unicode static-libs hddtemp -bluetooth  nvidia X pulseaudio udisks"
 EMERGE_DEFAULT_OPTS="--keep-going"
 FEATURES="-collision-protect ccache"
 CCACHE_SIZE="1G"
 PORTAGE_NICENESS=20
 PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"
 #EMERGE_DEFAULT_OPTS="--jobs=12" 
 MAKEOPTS="-j12" <--- Number of CPU cores *2 in my case works best.
 LANG="de_DE.UTF-8" 
 LINGUAS="de"  
 ACCEPT_LICENSE="* -@EULA" 
 INPUT_DEVICES="evdev"
 VIDEO_CARDS="nvidia"


b) /etc/fstab

 # /etc/fstab: static file system information.
 #
 # The root filesystem should have a pass number of either 0 or 1.
 # All other filesystems should have a pass number of 0 or greater than 1.
 #
 # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
 #
 # See the manpage fstab(5) for more information.
 #
 # <fs>			<mountpoint>	<type>		<opts>		<dump/pass>
 /dev/sda1		/boot		ext2		noauto,noatime	1 2
 #/dev/cdrom		/mnt/cdrom	auto		noauto,ro	0 0
 /dev/mapper/vg-swap     none          swap      sw                              0 0
 /dev/mapper/vg-root     /             ext4      noatime,nodiratime,defaults     0 1
 /dev/sr0                /mnt/cdrom    auto      noauto,ro                       0 0
 /dev/mapper/vg-home     /home         ext4      noatime,nodiratime              0 0
 tmpfs		/var/tmp/portage	tmpfs	uid=portage,gid=portage,mode=0775,size=16048M,noatime	0 0

for tmpfs see: http://www.funtoo.org/Funtoo_Filesystem_Guide,_Part_3

c) Since I have an encrypted LVM, one needs an initramfs. I prefer the genkernel method.

   genkernel --kernel-config=/path/to/your/custom-kernel-config --no-mrproper --makeopts=-j5 --install --lvm --luks all 

more here: http://www.funtoo.org/Rootfs_over_encrypted_lvm or use better-initramfs: http://www.funtoo.org/Initramfs

d) My Funtoo Profiles:

 eselect profile show
 
 Currently set profiles:
    arch: gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
   build: gentoo:funtoo/1.0/linux-gnu/build/current
  flavor: gentoo:funtoo/1.0/linux-gnu/flavor/desktop
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X

 Automatically enabled profiles:
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/print
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/X
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/audio
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/media
 mix-ins: gentoo:funtoo/1.0/linux-gnu/mix-ins/console-extras


2. Install your WindowManager or DesktopEnviroment

My favourite Window Manager at the time is i3 followed by xfce and openbox. Details about i3 & funtoo → http://www.funtoo.org/Package:I3_(Window_Manager) i3 setup:

1) install these packages:

 emerge --ask i3 i3status dmenu lxappeareance

If you want to know what these packages are research them. I use lxappeareance to install and select gtk-themes.

Config files:

1. xinitrc at ~/.xinitrc

 exec ck-launch-session i3

You only need --force-xinerama if you do have a nvidia grafics card that do not work without it. For more startx magic → https://wiki.archlinux.org/index.php/xinitrc

2. ~/.i3/config

specify window colors at the top of the file:

 # class                 border  backgr. text    indicator
 client.focused          #333333 #000000 #ffffff #000000
 client.focused_inactive #333333 #5f676a #ffffff #484e50
 client.unfocused        #333333 #222222 #888888 #292d2e
 client.urgent           #333333 #900000 #ffffff #900000

specify the bar/workspace colors at the bottom of the file:

 bar {
         status_command i3status
         # Bar color settings
         colors{
                 #background #000000
                 #statusline #ffffff
                 #separator  #666666
                 # Type             border  background font
                 focused_workspace  #008fff #007fff #ffffff
                 active_workspace   #333333 #5f676a #ffffff
                 inactive_workspace #333333 #222222 #888888
                 urgent_workspace   #aa0000 #990000 #ffffff
         }
 }


Do not forget the keymap setting at /etc/X11/xorg.conf otherwise you need to use setxkbmap

 Section "InputClass"
   Identifier         "keyboard-all"
   Driver             "evdev"
   MatchIsKeyboard    "on"
   Option         "XkbLayout" "de"
 EndSection

3. Display Power Management Signaling

a) You can either use XScreenSaver(https://wiki.archlinux.org/index.php/XScreenSaver):

 emerge -a xscreensaver

and add /usr/bin/xscreensaver -no-splash & to your ~/.xinitrc file:

 xscreensaver -no-splash &         # starts screensaver daemon 
 exec ck-launch-session i3 --force-xinerama 

or b) modifi your Xorg server (https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling).

4. Note:

I login without a login manager using startx to start my Window Manager, you can end/exit your i3 wm via alt or windows key + shift + e

5. Background Image Viewer

a) Feh

 emerge -a feh

~/.xinitrc:

  feh --bg-center <path>/<image>.png

more options → https://wiki.archlinux.org/index.php/Feh#As_a_desktop_wallpaper_manager

b) Nitrogen(GUI Programm)

 emerge -a nitrogen

~/.xinitrc:

  exec --no-startup-id nitrogen --restore

3. Additional Software:

1) File Manager:

 emerge --ask thunar 

thunar - filemanager that supports automounting Make sure you create this rule: /etc/polkit-1/rules.d/10-drives.rules

 polkit.addRule(function(action, subject) {
 if (action.id.indexOf("org.freedesktop.udisks2.") == 0){
 return polkit.Result.YES;
 }
 }
 );

Also you should have udisk installed

2) media-video/smplayer:

allow smplayer always to floate, just add

 for_window [class="smplayer" instance="smplayer"] floating enable

to your ~/.i3/config

3) Internet Browser

I recommend www-client/chromium or www-client/google-chrome see for more info: http://www.funtoo.org/Funtoo_Linux_Web_Browsers

  Addons:
  1) Adblock
  2) uMatrix
  3) StayFocused
  4) WebRTC Block

n) usefull software

app-arch/file-roller app-editors/bluefish app-emulation/wine app-misc/freemind app-office/libreoffice app-portage/eix mail-client/thunderbird media-gfx/blender media-gfx/gimp media-sound/audacity media-video/kdenlive


media-video/vlc net-analyzer/wireshark net-ftp/filezilla sys-apps/lm_sensors virtual/jre app-text/evince app-text/calibre app-emulation/virtualbox