README
1xf86-video-geode -- AMD Geode GX and LX graphics driver for X.org
2=================================================================
3README last updated: 2020-12-15
4
51.INTRODUCTION
6
7This is the X graphics driver for the AMD Geode GX and LX processors.
8The GX component supports both XAA and EXA for graphics acceleration.
9The LX component supports EXA, including compositing. Both support Xv
10overlay and dynamic rotation with XRandR. Additionally, a V4L2 driver
11for the LX's video input port (VIP) feature is provided as "ztv".
12
132.DEPENDENCIES
14
15Since version 2.9.0, this driver depends on X server 1.3 or greater,
16because it utilizes the new common DDC probing libraries from X.Org.
17
183.ROADMAP
19
20Support for old GX1 Geodes by Cyrix and NSC will be reintroduced soon,
21at which point xf86-video-cyrix and xf86-video-nsc will be retired.
22
23Until then, the current situation for Geode coverage is as follow:
24
25xf86-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
29xf86-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
34xf86-video-cyrix
35 * Geode MediaGX (a.k.a. GX1) PCI ID 0x1078:0x0104
36
37Please note that both NSC and GEODE support GX2. This is indeed correct.
38However, only GEODE has up-to-date code, while NSC is deprecated.
39
404.MAXIMUM RESOLUTIONS
41
42The driver supports all maximum resolutions advertised by AMD, namely:
43
44LX: 1920x1440 (CRT) and 1600x1200 (TFT)
45GX: 1600x1200 (CRT) and 1280x1024 (TFT)
46SC: 1280x1024 (CRT/TFT) *** Currently unsupported by this driver ***
47
48Additionally, on the LX, the driver can DCC probe the display and calculate
49the clockrate for the maximum resolution supported by the display. However,
50this won't work on LX platforms with GPIO configured for serial console. On
51such hardware, the resolution must be specified in /etc/X11/xorg.conf.
52
535.CONFIGURATION OPTIONS
54
55You can specify driver options in /etc/X11/xorg.conf in the usual fashion:
56
57Section "Device"
58 Identifier "AMD Geode"
59 Driver "geode"
60 Option "OptionName" "value"
61 ...
62EndSection
63
64The following options may be added to such a Device section:
65
665.1.COMMON OPTIONS
67
68FBSize: Specify the size of the video space (in bytes)
69NoAccel: Disable hardware assisted acceleration
70NoCompression: Disable video bandwidth compression
71NoPanel: Disable panel support
72Rotate: Select an initial orientation - LEFT, INVERT, CCW
73SWCursor: Enable software cursors (essentially disabling HW cursor support)
74
755.2.GX-SPECIFIC OPTIONS
76
77AccelMethod: "XAA" (default) or "EXA"
78PanelGeometry: Specify the geometry of the attached panel ("<width>x<height>")
79OSMImageBuffers: Set the number of image buffers (XAA only)
80OSMColorExpBuffers: Set the number of color expansion buffers (XAA only)
81
825.3.LX-SPECIFIC OPTIONS
83
84ExaScratch: Specify the amount of extra EXA scratch buffer (in bytes)
85
866.FREQUENTLY ASKED QUESTIONS (FAQ)
87
88Q: Why doesn't the GEODE driver work on recent Linux kernels?
89
90A: 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
103Q: Why doesn't the GEODE driver work at WXGA (wide screen) resolutions?
104
105A: 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
110Q: How can these hardcoded modes be expanded to support a WXGA laptop?
111
112A: 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
121Modeline "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#############################################################
132Section "Module"
133 Load "ztv"
134EndSection
135Section "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"
140EndSection
141Section "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"
147EndSection
148Section "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
157EndSection
158### EOF ###
159
160Q: Why doesn't screen rotation work?
161
162A: 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
168Q: How do I produce useful information whenever submitting a bug report?
169
170A: See https://www.x.org/wiki/Development/Documentation/ServerDebugging
171 and follow the instructions found there.
172
173Q: How do I test development snapshots from the upstream GIT repository?
174
175A: 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
186Q: What is the preferred method for submitting patches to this driver?
187
188A: 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
1927.PROJECT CONTACTS
193
194Project homepage:
195https://www.x.org/wiki/GeodeDriver
196
197Mailing list:
198https://lists.x.org/mailman/listinfo/xorg-driver-geode
199
200Bug reports:
201https://gitlab.freedesktop.org/xorg/driver/xf86-video-geode/issues
202
203Code repository:
204https://gitlab.freedesktop.org/xorg/driver/xf86-video-geode
205
206IRC channel:
207#geode on the Freenode network.
208
209.EOF.
210