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