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