# video-nouveau/cfg - "Build" settings for package

#---------------------------------------------------------------------

[technotes]

1. The source tarball used by this package was created  based on "git"
upstream sources. The sources were obtained as follows:

      ocgitfetch --run nouveau \
http://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau

#---------------------------------------------------------------------

2. Nouveau  has  numerous requirements.  Here's a list under construc-
tion:

Recommended kernel settings:

    CONFIG_FIRMWARE_IN_KERNEL=y
    CONFIG_FRAMEBUFFER_CONSOLE=m      # "fbcon"   module
    CONFIG_DRM_NOUVEAU=m              # "nouveau" module
    CONFIG_DRM_NOUVEAU_BACKLIGHT=y
    CONFIG_STAGING=y
    CONFIG_VT_HW_CONSOLE_BINDING=y

Add NVidia and/or Vesa framebuffer drivers. The official documentation
seems to discourage this but  it may be  necessary to keep  the screen
from going black and staying that way.

Don't make  "fbcon" built-in or  "modprobe" it immediately after boot.
This may result in a screen with tiny text that can't be enlarged.

Build  the kernel.  Boot it.  Update the  userland kernel header files
appropriately.

Possibly rebuild the version of "glibc" that you're using.

Start with a set of XOrg "git" trees.  Not every  "git" set will work.
However,   we had luck with XOrg "git" sets from August through Decem-
ber 2011.

Build "libpciaccess".

Build "libdrm" with Noveau support.

Build XOrg, including Mesa.  When configuring Mesa,  use the following
switches:

(This part needs to be redone)

If  NVidia hardware is present,  add a standard driver block to "/etc/
xorg.conf"  that selects the "nouveau" driver.  Otherwise,  remove the
driver block or modify it appropriately. Note: The official documenta-
tion  implies that these conventions  aren't necessary. However, "kms-
start" expects them, and they may help to  avoid other problems.

Modify "startx"  so that "startx" runs  "kms-start" immediately before
"xinit".

#---------------------------------------------------------------------

[buildtimes]

00.01 hours (or 000.47 minutes) - Dell Inspiron 6400 2.0 GHz Intel Duo
                                  7200 2GB RAM
00.01 hours (or 000.52 minutes) - 2021 L.A. dedi box: 6x2 CPU 32GB RAM
00.01 hours (or 000.55 minutes) - ThinkPad E540 i7 4x2 16GB RAM
00.01 hours (or 000.73 minutes) - HP EliteBook 8560w 32GB RAM
00.01 hours (or 000.80 minutes) - OpenVZ 1x4 CPU 4GB RAM

#---------------------------------------------------------------------

[settings]
build      = default
compiler   = clang
license    = To be documented
nosyslinks = yes
proddir    = none
purge      = no
shareddir  = yes
tmpsize    = 17M
unpack     = relaxed

#---------------------------------------------------------------------

[depends]
actools
libglw
xorgbase:strict

#---------------------------------------------------------------------

[configure]
MANBASE=/var/tmp/mantemp37
TOPDIR=$PRODTREE/xorg
ACLDIR=$TOPDIR/share/aclocal

mkdir -p $MANBASE
export ACLOCAL="aclocal -I $ACLDIR"

bash ./autogen.sh \
    --prefix=$TOPDIR               \
    --build=$LACARCHBUILD          \
    --host=$LACARCHHOST            \
    --disable-dependency-tracking  \
    --enable-shared=yes            \
    --enable-static=no             \
    --mandir=$MANBASE

#---------------------------------------------------------------------

[postbuild]
MANBASE=/var/tmp/mantemp37
rm -fr $MANBASE

#---------------------------------------------------------------------

# Original URLs. These URLs were valid at one point, but may have died
# since then. If you download newer versions of tarballs [etc.], don't
# delete  the  original versions,  as you may not  be able  to replace
# them.

[urls]
url_debian  = Not checked yet
url_home    = Ditto
url_lfs     = Ditto
url_tarball = git           # See "technotes" in "cfg" file

#---------------------------------------------------------------------

[history]
170703 Updated from 151207 to 170703 ("git" date)
171206 Updated to 171206
180305 Updated to 180305
180430 Updated to 180430
181111 Updated to ac8f7b949 ("git" hash)
181217 Updated to a4283f7fe
190509 Updated to ec2b45d1b
210127 Updated to c39897466
210613 Updated to 3ee7cbca8
230219 Updated to 29cc528a1
250129 Updated to 8bf766606