Difference between pages "Package:Radeon Video Drivers" and "Portage Git Mirror"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
{{Ebuild
=Setting up local git mirror =
|Summary=Open source drivers for AMD video cards.
 
|CatPkg=x11-drivers/xf86-video-ati
This tutorial explains how to save bandwidth when several local computers need to pull updates from a single remote git repository.
|Maintainer=
 
|Homepage=http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/
== Use case ==
}}
 
If you have become frustrated by the somewhat poorly maintained <code>ati-drivers</code> (the closed source video drivers for AMD cards) or if you would rather use open source video drivers, this is the package for you. This page outlines how to install and configure the open source <code>xf86-video-ati</code> drivers.  
This tutorial will be about hosting a local mirror of funtoo git based portage tree.


== Preparation ==
Following terms should be adapted
=== Check to see if your card is an AMD card ===
If you do not know if you have an AMD graphics card or not, you can run the following command:
<console>
###i## lspci | grep VGA
</console>


If the output produces information that contains something like "01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Pitcairn PRO [Radeon HD 7850]," then you have an AMD graphics card and continue to the next step in the install process. If <code>lspci</code> does not provide you with something like this, and instead contains Intel or NVIDIA, consult the main [[Video]] page for information.
<table border="1">
<tr class="header">
<th align="left">Terms</th>
<th align="left">Definition</th>
</tr>
<tr class="odd">
<td align="left">git.lan</td>
<td align="left">The git-daemon local mirror host</td>
</tr>
<tr class="even">
<td align="left">localhost</td>
<td align="left">Any local host</td>
</tr>
<tr class="odd">
<td align="left">nobody</td>
<td align="left">Owner user of .git files</td>
</tr>
<tr class="even">
<td align="left">/home/git-mirrors</td>
<td align="left">Base path of git-daemon</td>
</tr>
</table>


=== Preparing the kernel ===
== Local mirror ==
Now that you know you have an AMD graphics card, you can prepare the kernel for <code>xf86-video-ati</code>. Begin by ensuring that MTRR is enabled, then enable support for AGP graphics cards (only necessary if your card sits in an AGP slot -- not a PCIe one). After enabling AGP (if you needed it), you should enable support for the DRM and modesetting on radeon.:
{{kernelop|title= |desc=
Processor type and features --->
    [*] MTRR (Memory Type Range Register) support


Device Drivers --->
==== Prepare directories and get portage tree====
    Graphics support --->
<console>
        (If you have an AGP-based graphics card, enable these options)
###i## mkdir /home/git-mirrors
        <*> /dev/agpgart (AGP Support) --->
###i## chown nobody /home/git-mirrors
            <*> AMD Opteron/Athlon64 on-CPU GART support
###i## su -s /bin/sh nobody
        Direct Rendering Manager --->
$##bl## cd /home/git-mirrors
            <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ----
$##bl## git clone --mirror --bare git://github.com/funtoo/ports-2012.git portage.git
            <*> ATI Radeon
</console>
                [*] Enable userspace modesetting on radeon
For a security reason we use a nobody user .
        Frame buffer Devices --->
==== git-daemon configuration====
            < > ATI Radon display support
{{file|name=/etc/conf.d/git-daemon|desc=|body=
}}
GITDAEMON_OPTS=--syslog --verbose --enable=receive-pack --export-all
If you have a graphics cards with HDMI ports that you wish to use for audio, some additional configuration of the kernel is required:
GITDAEMON_OPTS=${GITDAEMON_OPTS} --base-path=/home/git-mirrors /home/git-mirrors
{{kernelop|title= |desc=
GIT_USER=nobody
Device Drivers --->
GIT_GROUP=nobody
    <*> Sound card support --->
        <*> Advanced Linux Sound Architecture --->
            HD Audio --->
                <*>HD Audio PCI
                    (64) Pre-allocated buffer size for HD-audio drivers
                    <*> Build HDMI/DisplayPort HD-audio codec support
        [*] Dynamic device file minor numbers
        (32) Max number of sound cards
}}
}}


=== Getting the required firmware ===
====Service configuration====
Many newer AMD GPU's require that you install firmware for them to function. Install the package <code>radeon-ucode</code> (Radeon microcode) for this function:
To start daemon with a mirror machine boot add <code>git-daemon</code> to default runlevel
<console>
###i## rc-update add git-daemon default
</console>
To make changes start immediately just run <code>rc</code>
<console>
<console>
###i## emerge radeon-ucode
###i## rc
</console>
</console>


It is also possible to install Radeon microcode via the <code>linux-firmware package</code>, which contains the Radeon microcode plus a much larger selection of firmware for other types of devices:
=== Pull from remote ===
 
Add the following to <code>/etc/cron.daily/funtoo-sync.sh</code>:
 
<pre>
#!/bin/sh
cd /home/git-mirrors/portage.git
su nobody -s "/bin/sh" -c "git pull"
</pre>
 
== Cloning from local git-daemon ==


Local clone from <code>git.lan</code>:
<console>
<console>
# ##i##emerge linux-firmware
###i## mv /usr/portage /usr/portage.old
###i## git clone git://git.lan/portage.git /usr/portage
###i## cd /usr/portage
###i## git checkout funtoo.org
</console>
</console>


=== Installing the firmware into the kernel ===
[[Category:HOWTO]]
{{SectionNeedsUpdates}}
{{EbuildFooter}}

Revision as of 11:40, December 13, 2014

Setting up local git mirror

This tutorial explains how to save bandwidth when several local computers need to pull updates from a single remote git repository.

Use case

This tutorial will be about hosting a local mirror of funtoo git based portage tree.

Following terms should be adapted

Terms Definition
git.lan The git-daemon local mirror host
localhost Any local host
nobody Owner user of .git files
/home/git-mirrors Base path of git-daemon

Local mirror

Prepare directories and get portage tree

root # mkdir /home/git-mirrors
root # chown nobody /home/git-mirrors
root # su -s /bin/sh nobody
user $ cd /home/git-mirrors
user $ git clone --mirror --bare git://github.com/funtoo/ports-2012.git portage.git

For a security reason we use a nobody user .

git-daemon configuration

   /etc/conf.d/git-daemon
GITDAEMON_OPTS=--syslog --verbose --enable=receive-pack --export-all
GITDAEMON_OPTS=${GITDAEMON_OPTS} --base-path=/home/git-mirrors /home/git-mirrors
GIT_USER=nobody
GIT_GROUP=nobody

Service configuration

To start daemon with a mirror machine boot add git-daemon to default runlevel

root # rc-update add git-daemon default

To make changes start immediately just run rc

root # rc

Pull from remote

Add the following to /etc/cron.daily/funtoo-sync.sh:

#!/bin/sh
cd /home/git-mirrors/portage.git
su nobody -s "/bin/sh" -c "git pull"

Cloning from local git-daemon

Local clone from git.lan:

root # mv /usr/portage /usr/portage.old
root # git clone git://git.lan/portage.git /usr/portage
root # cd /usr/portage
root # git checkout funtoo.org