Difference between pages "Package:NVIDIA Linux Display Drivers" and "Fonts"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
{{Ebuild
== Install the packages ==
|Summary=NVIDIA accelerated graphics driver
Linux font quality is a chronic issue, by default fonts configuration far from ideal look. This can solved by rebuilding <tt>media-libs/freetype</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.
|CatPkg=x11-drivers/nvidia-drivers
|Repository=Funtoo Overlay
|Overlay=Funtoo
}}
== Introduction ==
NVIDIA have proprietary graphics drivers for Linux under binary blob. The alternative open source driver is {{Package|x11-drivers/xf86-video-nouveau}}.
 
== Preparing to Install ==
=== Hardware compatibility and driver versions ===
Currently there are five meta versions of NVIDIA Linux drivers each of which supports a specific group of GPUs. To check the type of driver that is related to your video card, check the link on this page of the official NVIDIA:
 
[http://www.nvidia.com/object/IO_32667.html www.nvidia.com/object/IO_32667.html]
 
If you have identified as your driver version 337.25, for example, you need the mask(s) driver(s) latest(s) to which you want to install.


<console>
<console>
###i## echo “>x11-drivers/nvidia-drivers-340” >> /etc/portage/package.mask
###i## echo "media-libs/freetype infinality" >> /etc/portage/package.use
###i## emerge -uN fontconfig
</console>
</console>


=== The required kernel options ===
== Advanced configuration ==
 
=== Fontconfig ===
{{kernelop|desc=
==== Default configuration ====
[*] Enable loadable module support
}}
{{kernelop|desc=
[*] MTRR (Memory Type Range Register) support
}}
To we made a successful compilation of the legacy NVIDIA driver, we set before the removal of the native framebuffer drivers into the kernel in order to avoid conflicts for x86 and AMD64 processors, in this case.
{{kernelop|desc=
Device Drivers --->
      Graphics support --->
            <*> Support for frame buffer devices --->
                  <> NVIDIA Framebuffer Support
                  <> NVIDIA Riva support
}}
 
{{tip|An alternative is to [[uvesafb|uvesafb]] framebuffer, which can be installed in parallel with nvidia-drivers }}
 
== Installation ==


Upgrade and/or configure <tt>VIDEO_CARDS</tt>  variable to <tt>nvidia</tt> in <tt>/etc/make.conf</tt>. This will serve to while you are installing the Server X, the correct version of nvidia-drivers to be provided for you.
<console>
<console>
# ##i##nano /etc/make.conf
###i## eselect fontconfig enable 10-antialias.conf
VIDEO_CARDS="nvidia"
###i## eselect fontconfig enable 10-autohint.conf 
</console>
###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 ===


{{note|Installing to the driver with the option in '''gtk''' use flags will make it installed the <tt>media-video/nvidia-settings</tt> which is a graphical tool for monitoring and various settings for your video card}}
Same as default configuration except:
 
=== Emerging the package ===
<console>
<console>
###i## emerge x11-drivers/nvidia-drives
###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
</console>
</console>
=== Infinality’s configuration ===


When the installation is complete run '''modprobe''' nvidia module to read kernel memory.
Same as default configuration except:
 
<console>
###i## lsmod | grep nvidia
</console>
If an update before remove the old module
<console>
<console>
###i## rmmod nvidia
###i## eselect fontconfig enable 15-hinting-tt-instructed-full.conf
###i## modprobe nvidia
###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>
</console>
=== Windows configuration ===


=== Testing your Video Card ===
Same as default except:
To test your video card run the glxinfo program, which is part of the mesa-progs package. This will check if direct rendering is enabled.
<console>
<console>
$ ##i##glxinfo | grep direct
###i## eselect fontconfig disable 10-autohint.conf
$ ##i##  direct rendering: yes
###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>
</console>
=== OSX configuration ===


== Configuring ==
Same as default configuration except:
=== Loading at boot ===
To automate the loading of the module when you boot your system, add '''nvidia''' in modules variable.
<console>
<console>
# ##i##nano /etc/conf.d/modules
###i## eselect fontconfig disable 10-autohint.conf
modules="nvidia"
###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>
</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).


=== Integration with X Server ===
usage: source ft-settings.sh <style>
When your X server is installed find, and there's <tt>/etc/X11/xorg.conf</tt> you can run the nvidia-xconfig which will set in xorg.conf to identify the video card among other possible configurations.
{{file|name=/etc/X11/xorg.conf|body=
Section "Device"
    Identifier    "nvidia"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    BoardName      "[Name] [Model]"
EndSection
}}


=== Enabling NVIDIA Support ===
Include the use flag in '''nvidia''' in <tt>/etc/make.conf</tt> so due to applications that make use of this advantage may withdraw.
<console>
<console>
# ##i##nano /etc/make.conf
Possible styles: 
USE="nvidia"
  default      - Use default settings.  A compromise that should please most people 
  osx          - Simulate OSX rendering 
  ubuntu      - Simulate UBUNTU rendering 
  linux        - Generic Linux style - no snapping or certain other tweaks 
  windows      - Simulate Windows rendering 
  vanilla      - Just subpixel hinting
 
Infinality styles: 
  classic      - Infinality rendering circa 2010. No snapping 
  nudge        - CLASSIC with lightly stem snapping and tweaks 
  push        - CLASSIC with medium stem snapping and tweaks 
  shove        - Full stem snapping and tweaks without sharpening 
  sharpened    - Full stem snapping, tweaks, and Windows-style sharpening 
  infinality  - Settings used by Infinality
</console>
</console>
== LibXft ==
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:


=== Enabling OpenGL/OpenCL ===
{{file|name=~/.Xdefaults|desc= |body=
As a requirement, make sure that the Xorg server is not in use during this change. To enable OpenGL and OpenCL.
Xft.antialias:  1
<console>
Xft.autohint:  0 
###i## eselect opengl set nvidia
Xft.dpi:        96 
###i## eselect opencl set nvidia
Xft.hinting:    1 
</console>
Xft.hintstyle:  hintfull 
Xft.lcdfilter:  lcddefault 
Xft.rgba:      rgb
}}


[[Category:Video Cards]]
[[Category:HOWTO]]
[[Category:First Steps]]
{{EbuildFooter}}

Revision as of 19:11, April 1, 2015

Install the packages

Linux font quality is a chronic issue, by default fonts configuration far from ideal look. This can solved by rebuilding media-libs/freetype 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.

root # echo "media-libs/freetype infinality" >> /etc/portage/package.use
root # emerge -uN fontconfig 

Advanced configuration

Fontconfig

Default configuration

root # eselect fontconfig enable 10-antialias.conf
root # eselect fontconfig enable 10-autohint.conf  
root # eselect fontconfig enable 10-hinting.conf  
root # eselect fontconfig enable 10-hinting-slight.conf  
root # eselect fontconfig enable 10-sub-pixel-rgb.conf  
root # eselect fontconfig enable 11-lcdfilter-default.conf  
root # eselect fontconfig enable 70-no-bitmaps.conf  
root # eselect fontconfig disable 10-hinting-full.conf  
root # eselect fontconfig disable 10-hinting-medium.conf  
root # eselect fontconfig disable 10-no-sub-pixel.conf  
root # eselect fontconfig disable 10-sub-pixel-bgr.conf  
root # eselect fontconfig disable 10-sub-pixel-vbgr.conf  
root # eselect fontconfig disable 10-sub-pixel-vrgb.conf  
root # eselect fontconfig disable 10-unhinted.conf

Linux configuration

Same as default configuration except:

root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf
root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf  
root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf

Infinality’s configuration

Same as default configuration except:

root # eselect fontconfig enable 15-hinting-tt-instructed-full.conf
root # eselect fontconfig enable 20-hinting-small-fonts-slight.conf  
root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf  
root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf  
root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf  
root # eselect fontconfig enable 25-hinting-small-arial-black-slight.conf

Windows configuration

Same as default except:

root # eselect fontconfig disable 10-autohint.conf
root # eselect fontconfig disable 10-hinting-slight.conf  
root # eselect fontconfig enable 10-hinting-full.conf  
root # eselect fontconfig enable 15-hinting-non-tt-instructed-slight.conf  
root # eselect fontconfig enable 20-hinting-small-fonts-slight.conf  
root # eselect fontconfig enable 21-hinting-small-aquabase-slight.conf  
root # eselect fontconfig enable 21-hinting-small-browallia-slight.conf  
root # eselect fontconfig enable 22-hinting-courier-italic-slight.conf  
root # eselect fontconfig enable 25-hinting-small-arial-black-slight.conf

OSX configuration

Same as default configuration except:

root # eselect fontconfig disable 10-autohint.conf
root # eselect fontconfig disable 10-hinting.conf  
root # eselect fontconfig disable 10-hinting-slight.conf  
root # eselect fontconfig enable 10-unhinted.conf  
root # eselect fontconfig enable 15-hinting-tt-instructed-none.conf

Freetype

Freetype can be configured through environment variables (see /etc/env.d/99lcdfilter 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 ~/.bash_profile) or by sourcing the /usr/lib/ft-settings.sh script with the desired style in parameter (you can, of course, source the script from a startup file).

usage: source ft-settings.sh <style>

Possible styles:   
  default      - Use default settings.  A compromise that should please most people  
  osx          - Simulate OSX rendering  
  ubuntu       - Simulate UBUNTU rendering  
  linux        - Generic Linux style - no snapping or certain other tweaks  
  windows      - Simulate Windows rendering  
  vanilla      - Just subpixel hinting

Infinality styles:  
  classic      - Infinality rendering circa 2010. No snapping  
  nudge        - CLASSIC with lightly stem snapping and tweaks  
  push         - CLASSIC with medium stem snapping and tweaks  
  shove        - Full stem snapping and tweaks without sharpening  
  sharpened    - Full stem snapping, tweaks, and Windows-style sharpening  
  infinality   - Settings used by Infinality

LibXft

Only legacy programs still use libXft. The default configuration is defined in /usr/share/X11/app-defaults/Xft. It can be overriden on a per-user basis in the ~/.Xresources or ~/.Xdefaults files:

   ~/.Xdefaults
Xft.antialias:  1
Xft.autohint:   0  
Xft.dpi:        96  
Xft.hinting:    1  
Xft.hintstyle:  hintfull  
Xft.lcdfilter:  lcddefault  
Xft.rgba:       rgb