Home | History | Annotate | Line # | Download | only in dist
README revision 1.1.1.5
      1      1.1  mrg xf86-video-geode -- AMD Geode GX and LX graphics driver for X.org
      2      1.1  mrg =================================================================
      3  1.1.1.5  mrg README last updated: 2020-12-15
      4      1.1  mrg 
      5  1.1.1.3  mrg 1.INTRODUCTION
      6      1.1  mrg 
      7  1.1.1.3  mrg This is the X graphics driver for the AMD Geode GX and LX processors.
      8  1.1.1.3  mrg The GX component supports both XAA and EXA for graphics acceleration.
      9  1.1.1.3  mrg The LX component supports EXA, including compositing. Both support Xv 
     10  1.1.1.3  mrg overlay and dynamic rotation with XRandR. Additionally, a V4L2 driver
     11  1.1.1.3  mrg for the LX's video input port (VIP) feature is provided as "ztv".
     12      1.1  mrg 
     13  1.1.1.3  mrg 2.DEPENDENCIES
     14      1.1  mrg 
     15  1.1.1.3  mrg Since version 2.9.0, this driver depends on X server 1.3 or greater,
     16  1.1.1.3  mrg because it utilizes the new common DDC probing libraries from X.Org.
     17      1.1  mrg 
     18  1.1.1.3  mrg 3.ROADMAP
     19      1.1  mrg 
     20      1.1  mrg Support for old GX1 Geodes by Cyrix and NSC will be reintroduced soon,
     21      1.1  mrg at which point xf86-video-cyrix and xf86-video-nsc will be retired.
     22      1.1  mrg 
     23      1.1  mrg Until then, the current situation for Geode coverage is as follow:
     24      1.1  mrg  
     25      1.1  mrg xf86-video-geode
     26      1.1  mrg  * Geode LX      (a.k.a. GX3) PCI ID 0x1022:0x2081
     27  1.1.1.3  mrg  * Geode GX      (a.k.a. GX2) PCI ID 0x100B:0x0030 (re-branded GX2)
     28      1.1  mrg 
     29      1.1  mrg xf86-video-nsc
     30      1.1  mrg  * Geode GX2     (a.k.a. GX2) PCI ID 0x100B:0x0030 (a.k.a. "Red Cloud")
     31      1.1  mrg  * Geode SCx200  (a.k.a. GX1) PCI ID 0x100B:0x0504 
     32      1.1  mrg  * Geode SC1400  (a.k.a. GX1) PCI ID 0x100B:0x0104 
     33      1.1  mrg 
     34      1.1  mrg xf86-video-cyrix
     35      1.1  mrg  * Geode MediaGX (a.k.a. GX1) PCI ID 0x1078:0x0104 
     36      1.1  mrg 
     37      1.1  mrg Please note that both NSC and GEODE support GX2. This is indeed correct.
     38      1.1  mrg However, only GEODE has up-to-date code, while NSC is deprecated. 
     39      1.1  mrg 
     40  1.1.1.3  mrg 4.MAXIMUM RESOLUTIONS
     41      1.1  mrg 
     42  1.1.1.3  mrg The driver supports all maximum resolutions advertised by AMD, namely:
     43      1.1  mrg 
     44  1.1.1.3  mrg LX: 1920x1440 (CRT) and 1600x1200 (TFT)
     45  1.1.1.3  mrg GX: 1600x1200 (CRT) and 1280x1024 (TFT)
     46  1.1.1.3  mrg SC: 1280x1024 (CRT/TFT) *** Currently unsupported by this driver ***
     47      1.1  mrg 
     48  1.1.1.5  mrg Additionally, on the LX, the driver can DCC probe the display and calculate
     49  1.1.1.5  mrg the clockrate for the maximum resolution supported by the display. However,
     50  1.1.1.5  mrg this won't work on LX platforms with GPIO configured for serial console. On
     51  1.1.1.5  mrg such hardware, the resolution must be specified in /etc/X11/xorg.conf.
     52  1.1.1.5  mrg 
     53  1.1.1.3  mrg 5.CONFIGURATION OPTIONS
     54      1.1  mrg 
     55  1.1.1.3  mrg You can specify driver options in /etc/X11/xorg.conf in the usual fashion:
     56      1.1  mrg 
     57  1.1.1.3  mrg Section "Device"
     58  1.1.1.3  mrg 	Identifier "AMD Geode"
     59  1.1.1.3  mrg 	Driver "geode"
     60  1.1.1.3  mrg 	Option "OptionName" "value"
     61  1.1.1.3  mrg 	...
     62  1.1.1.3  mrg EndSection
     63      1.1  mrg 
     64  1.1.1.3  mrg The following options may be added to such a Device section:
     65      1.1  mrg 
     66  1.1.1.3  mrg 5.1.COMMON OPTIONS
     67      1.1  mrg 
     68  1.1.1.3  mrg FBSize: Specify the size of the video space (in bytes)
     69  1.1.1.3  mrg NoAccel: Disable hardware assisted acceleration
     70  1.1.1.3  mrg NoCompression: Disable video bandwidth compression
     71  1.1.1.3  mrg NoPanel: Disable panel support
     72  1.1.1.3  mrg Rotate: Select an initial orientation - LEFT, INVERT, CCW
     73  1.1.1.3  mrg SWCursor: Enable software cursors (essentially disabling HW cursor support)
     74  1.1.1.2  mrg 
     75  1.1.1.3  mrg 5.2.GX-SPECIFIC OPTIONS
     76  1.1.1.2  mrg 
     77  1.1.1.3  mrg AccelMethod: "XAA" (default) or "EXA"
     78  1.1.1.3  mrg PanelGeometry: Specify the geometry of the attached panel ("<width>x<height>")
     79  1.1.1.3  mrg OSMImageBuffers: Set the number of image buffers (XAA only)
     80  1.1.1.3  mrg OSMColorExpBuffers: Set the number of color expansion buffers (XAA only)
     81  1.1.1.3  mrg 
     82  1.1.1.3  mrg 5.3.LX-SPECIFIC OPTIONS
     83  1.1.1.3  mrg 
     84  1.1.1.3  mrg ExaScratch: Specify the amount of extra EXA scratch buffer (in bytes)
     85  1.1.1.3  mrg 
     86  1.1.1.3  mrg 6.FREQUENTLY ASKED QUESTIONS (FAQ)
     87  1.1.1.3  mrg 
     88  1.1.1.5  mrg Q: Why doesn't the GEODE driver work on recent Linux kernels?
     89  1.1.1.5  mrg 
     90  1.1.1.5  mrg A: Since kernel 4.x Linux has strong memory protection. If the kernel is
     91  1.1.1.5  mrg    booted with a frame buffer (e.g. vesafb) it reserves the video memory
     92  1.1.1.5  mrg    for itself. Disabling this requires booting the kernel in non-graphic
     93  1.1.1.5  mrg    mode. On GRUB, this is configured by this /etc/default/grub option:
     94  1.1.1.5  mrg 
     95  1.1.1.5  mrg    GRUB_GFXPAYLOAD_LINUX=text
     96  1.1.1.5  mrg 
     97  1.1.1.5  mrg    Alternately, adding iomem=relaxed to GRUB_CMDLINE_LINUX_DEFAULT will
     98  1.1.1.5  mrg    allow the video memory to be accessed by vesafb and the GEODE driver.
     99  1.1.1.5  mrg 
    100  1.1.1.5  mrg    Once either option has been added and the GRUB configuration refreshed,
    101  1.1.1.5  mrg    the GEODE driver will launch on recent kernels as previously.
    102  1.1.1.5  mrg 
    103  1.1.1.3  mrg Q: Why doesn't the GEODE driver work at WXGA (wide screen) resolutions?
    104      1.1  mrg 
    105      1.1  mrg A: Make sure that TFT Panel support is disabled in the BIOS settings, 
    106      1.1  mrg    otherwise resolutions will be restricted to traditional VGA modes. 
    107      1.1  mrg    The GEODE offers a choice between CRT-only, CRT+TFT, TFT-only for
    108      1.1  mrg    output device and selecting CRT-only removes the VGA restriction.
    109      1.1  mrg 
    110  1.1.1.3  mrg Q: How can these hardcoded modes be expanded to support a WXGA laptop?
    111  1.1.1.3  mrg 
    112  1.1.1.3  mrg A: By adding the desired modes to /etc/X11/xorg.conf as follow:
    113  1.1.1.3  mrg 
    114  1.1.1.3  mrg    1) Use either the "cvt" or "gtf" command to determine the modeline:
    115  1.1.1.3  mrg 
    116  1.1.1.3  mrg       cvt 1024 600 60
    117  1.1.1.3  mrg 
    118  1.1.1.3  mrg       Where 1024x600 is the resolution and 60 the refresh rate. 
    119  1.1.1.3  mrg       The resulting modeline using "gtf" is:
    120  1.1.1.3  mrg 
    121  1.1.1.3  mrg Modeline "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync
    122  1.1.1.3  mrg 
    123  1.1.1.3  mrg    2) Add it to the bottom of the "Monitor" section in /etc/X11/xorg.conf.
    124  1.1.1.3  mrg       In this example, we created entries for two modes and configured the
    125  1.1.1.3  mrg       larger resolution to be our preferred choice.
    126  1.1.1.3  mrg 
    127  1.1.1.3  mrg #############################################################
    128  1.1.1.3  mrg # /etc/X11/xorg.conf for 1024x600 and 800x480 laptop panels #
    129  1.1.1.3  mrg #############################################################
    130  1.1.1.3  mrg #### By J.KASPER and B.HIBRY #### for Hercules eCafe 800 ####
    131  1.1.1.3  mrg #############################################################
    132  1.1.1.3  mrg Section "Module"
    133  1.1.1.3  mrg     Load  "ztv"
    134  1.1.1.3  mrg EndSection
    135  1.1.1.3  mrg Section "Device"
    136  1.1.1.3  mrg     Identifier	"card0"
    137  1.1.1.3  mrg     Driver	"geode"
    138  1.1.1.3  mrg     BusID	"PCI:0:1:1"
    139  1.1.1.3  mrg     Option	"PanelMode" "33450 800 840 968 1056 480 490 492 525"
    140  1.1.1.3  mrg EndSection
    141  1.1.1.3  mrg Section "Monitor"
    142  1.1.1.3  mrg     Identifier	"monitor0"
    143  1.1.1.3  mrg     Modeline  "1024x768" 64.56 1024 1056 1296 1328 768 783 791 807 -hsync +vsync
    144  1.1.1.3  mrg     Modeline  "1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync
    145  1.1.1.3  mrg     Modeline   "800x480" 33.45  800  840  968 1056 480 490 492 525 -hsync +vsync
    146  1.1.1.3  mrg     Option	"dpms"
    147  1.1.1.3  mrg EndSection
    148  1.1.1.3  mrg Section "Screen"
    149  1.1.1.3  mrg     Identifier	"Default Screen"
    150  1.1.1.3  mrg     Monitor	"monitor0"
    151  1.1.1.3  mrg     Device	"card0"
    152  1.1.1.3  mrg     DefaultDepth 24
    153  1.1.1.3  mrg     Subsection "Display"
    154  1.1.1.3  mrg         Depth 24
    155  1.1.1.3  mrg         Modes "1024x600" "1024x768" "800x480"
    156  1.1.1.3  mrg     EndSubsection        
    157  1.1.1.3  mrg EndSection
    158  1.1.1.3  mrg ### EOF ###
    159  1.1.1.3  mrg 
    160  1.1.1.3  mrg Q: Why doesn't screen rotation work?
    161  1.1.1.3  mrg 
    162  1.1.1.3  mrg A: Make sure that a sufficient amount of video RAM is reserved in the BIOS,
    163  1.1.1.3  mrg    otherwise rotation will fail and this error message appear in Xorg.log:
    164  1.1.1.3  mrg 
    165  1.1.1.3  mrg       Couldn't allocate the shadow memory for rotation
    166  1.1.1.3  mrg       You need XX bytes, but only YY bytes are available
    167  1.1.1.3  mrg 
    168  1.1.1.3  mrg Q: How do I produce useful information whenever submitting a bug report?
    169      1.1  mrg 
    170  1.1.1.4  mrg A: See https://www.x.org/wiki/Development/Documentation/ServerDebugging
    171  1.1.1.3  mrg    and follow the instructions found there.
    172      1.1  mrg 
    173      1.1  mrg Q: How do I test development snapshots from the upstream GIT repository?
    174      1.1  mrg 
    175  1.1.1.3  mrg A: Run the following commands from a command line interpreter shell:
    176      1.1  mrg    1. git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode 
    177      1.1  mrg    2. Debian/Ubuntu:  apt-get install autoconf automake libtool xutils-dev
    178      1.1  mrg                       apt-get install build-dep xserver-xorg-video-geode
    179      1.1  mrg      Fedora/Red Hat:  yum install autoconf automake libtool xorg-x11-util-macros
    180      1.1  mrg                       yum-builddep xorg-x11-drv-geode
    181      1.1  mrg    3. cd xf86-video-geode
    182      1.1  mrg    4. ./autogen.sh
    183      1.1  mrg    5. make distcheck
    184      1.1  mrg    ...then install the driver manually.
    185      1.1  mrg 
    186      1.1  mrg Q: What is the preferred method for submitting patches to this driver?
    187      1.1  mrg 
    188  1.1.1.4  mrg A: See https://www.x.org/wiki/Development/Documentation/SubmittingPatches
    189  1.1.1.4  mrg    and submit the patches to the Geode X.org mailing list or to gitlab
    190  1.1.1.4  mrg    in the xf86-video-geode project.
    191      1.1  mrg 
    192  1.1.1.3  mrg 7.PROJECT CONTACTS
    193      1.1  mrg 
    194  1.1.1.3  mrg Project homepage:
    195  1.1.1.4  mrg https://www.x.org/wiki/GeodeDriver
    196      1.1  mrg 
    197  1.1.1.3  mrg Mailing list:
    198  1.1.1.4  mrg https://lists.x.org/mailman/listinfo/xorg-driver-geode
    199      1.1  mrg 
    200  1.1.1.3  mrg Bug reports:
    201  1.1.1.4  mrg https://gitlab.freedesktop.org/xorg/driver/xf86-video-geode/issues
    202      1.1  mrg 
    203  1.1.1.3  mrg Code repository:
    204  1.1.1.4  mrg https://gitlab.freedesktop.org/xorg/driver/xf86-video-geode
    205      1.1  mrg 
    206  1.1.1.3  mrg IRC channel:
    207  1.1.1.3  mrg #geode on the Freenode network.
    208      1.1  mrg 
    209  1.1.1.3  mrg .EOF.
    210