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