summaryrefslogtreecommitdiff
path: root/README
blob: a1d3da15cda6682704450de57c8e163ba6181e05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
xf86-video-geode -- AMD Geode GX and LX graphics driver for X.org
=================================================================
README last updated: 2011-11-21

= Project Contacts =

Project homepage:
	http://www.x.org/wiki/GeodeDriver

Mailing list:
	http://lists.freedesktop.org/mailman/listinfo/xorg-driver-geode

Bug reports:
        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver%2Fgeode

Code browser:
        http://cgit.freedesktop.org/xorg/driver/xf86-video-geode

Code repository:
        git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode

IRC channel:
	#geode on the Freenode network.

= Introduction =

This is the X graphics driver for the AMD Geode GX and LX processors.
The GX component supports both XAA and EXA for graphics acceleration.
The LX component supports EXA, including compositing. Both support Xv 
overlay and dynamic rotation with XRandR. Additionally, a V4L2 driver
for the LX's video input port (VIP) feature is provided as "ztv".

= Dependencies =

Since version 2.9.0, this driver depends on X server 1.3 or greater,
because it utilizes the new common DDC probing libraries from X.Org.

If necessary, it might be possible to create autoconf macros to make 
this driver compile against older X servers, following this example:

http://lists.freedesktop.org/archives/xorg-commit/2007-February/010341.html

Patches accomplishing the same trick for the Geode driver are welcome.

= Roadmap =

Support for old GX1 Geodes by Cyrix and NSC will be reintroduced soon,
at which point xf86-video-cyrix and xf86-video-nsc will be retired.

Until then, the current situation for Geode coverage is as follow:
 
xf86-video-geode
 * Geode LX      (a.k.a. GX3) PCI ID 0x1022:0x2081
 * Geode GX      (a.k.a. GX2) PCI ID 0x100B:0x0030 (re-branded GX2)

xf86-video-nsc
 * Geode GX2     (a.k.a. GX2) PCI ID 0x100B:0x0030 (a.k.a. "Red Cloud")
 * Geode SCx200  (a.k.a. GX1) PCI ID 0x100B:0x0504 
 * Geode SC1400  (a.k.a. GX1) PCI ID 0x100B:0x0104 

xf86-video-cyrix
 * Geode MediaGX (a.k.a. GX1) PCI ID 0x1078:0x0104 

Please note that both NSC and GEODE support GX2. This is indeed correct.
However, only GEODE has up-to-date code, while NSC is deprecated. 

= Maximum Resolutions =

The driver supports all maximum resolutions advertised by AMD, namely:

LX: 1920x1440 (CRT) and 1600x1200 (TFT)
GX: 1600x1200 (CRT) and 1280x1024 (TFT)
SC: 1280x1024 (CRT/TFT) *** Currently unsupported by this driver ***

= FAQ =

Q: Why doesn't the GEODE driver work at WXGA (wide screen) resolutions?

A: Make sure that TFT Panel support is disabled in the BIOS settings, 
   otherwise resolutions will be restricted to traditional VGA modes. 
   The GEODE offers a choice between CRT-only, CRT+TFT, TFT-only for
   output device and selecting CRT-only removes the VGA restriction.

Q: Why doesn't screen rotation work?

A: Make sure that a sufficient amount of video RAM is reserved in the BIOS,
   otherwise rotation will fail and this error message appear in Xorg.log:
      Couldn't allocate the shadow memory for rotation
      You need XX bytes, but only YY bytes are available

Q: How do I produce useful information whenever submitting a bug report?

A: See http://www.x.org/wiki/Development/Documentation/ServerDebugging
   and follow the instructions found there.

Q: How do I test development snapshots from the upstream GIT repository?

A: Run the following commands from a command line interpreter shell:
   1. git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-geode 
   2. Debian/Ubuntu:  apt-get install autoconf automake libtool xutils-dev
                      apt-get install build-dep xserver-xorg-video-geode
     Fedora/Red Hat:  yum install autoconf automake libtool xorg-x11-util-macros
                      yum-builddep xorg-x11-drv-geode
   3. cd xf86-video-geode
   4. ./autogen.sh
   5. make distcheck
   ...then install the driver manually.

Q: What is the preferred method for submitting patches to this driver?

A: See http://www.x.org/wiki/Development/Documentation/SubmittingPatches
   and submit the patches to the Geode X.org mailing list or to Bugzilla
   against product "xorg" component "Driver/geode".

= Configuration options =

You can specify driver options in /etc/X11/xorg.conf in the usual fashion:

Section "Device"
	Identifier "AMD Geode"
	Driver "geode"
	Option "OptionName" "value"
	...
EndSection

The following options may be added to such a Device section:

== Common options ==

FBSize: Specify the size of the video space (in bytes)
NoAccel: Disable hardware assisted acceleration
NoCompression: Disable video bandwidth compression
NoPanel: Disable panel support
Rotate: Select an initial orientation - LEFT, INVERT, CCW
SWCursor: Enable software cursors (essentially disabling HW cursor support)

== GX-specific options ==

AccelMethod: "XAA" (default) or "EXA"
PanelGeometry: Specify the geometry of the attached panel ("<width>x<height>")
OSMImageBuffers: Set the number of image buffers (XAA only)
OSMColorExpBuffers: Set the number of color expansion buffers (XAA only)

== LX-specific options ==

ExaScratch: Specify the amount of extra EXA scratch buffer (in bytes)

=== Using these and standard xorg.conf options ===

Here is a sample configuration that defines arbitrary panel resolutions
such as those available on the Hercules eCafe 800:

#############################################################
# /etc/X11/xorg.conf for 1024x600 and 800x480 laptop panels #
#############################################################
#### By J.KASPER and B.HIBRY #### for Hercules eCafe 800 ####
#############################################################

Section "Device"
    Identifier	"card0"
    Driver	"geode"
    BusID	"PCI:0:1:1"
    Option	"PanelMode" "33450 800 840 968 1056 480 490 492 525"
EndSection

Section "Monitor"
    Identifier	"monitor0"
    Modeline	"1024x600" 48.96 1024 1064 1168 1312 600 601 604 622 -hsync +vsync
    Modeline	"800x480" 33.45 800 840 968 1056 480 490 492 525 -hsync -vsync
    Option	"dpms"
EndSection

Section "Screen"
    Identifier	"Default Screen"
    Monitor	"monitor0"
    Device	"card0"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
        Modes "1024x600" "800x480"
    EndSubsection        
EndSection

### EOF ###