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