855patch, 855wrap, 845patch, 865patch
[go straight to the downloads] [supported computers]
UPDATED
2005-07-27: Updated links to related pages.
UPDATED
2005-03-08: Changed links to contributed Debian packages.
UPDATED
2004-09-07: Added 845patch for FreeBSD 5.
UPDATED
2004-08-09: Minor updates, added a possibility to donate money.
UPDATED
2004-05-31: A fix was released to add support for the 1400x1050 resolution on i855GM. [more]
Here you'll find some small hacks to overcome problems
exhibited by some
computers with Intel 855GM, 845 or 865 embedded graphics (Dell
Inspiron 500m,
Dell Latitude D400, Dell Inspiron 1100, Dell Optiplex GX270 and others)
while
running XFree86 and other X-Window implementations (like X.Org) under
Linux and other operating systems.
Some of these
computers don't allocate enough video memory so
that
XFree86 is only able to run at low resolutions and/or color depths
(e.g. 640x480x16bit). XFree86 can allocate more memory but it can not
tell the BIOS it did so, so the BIOS refuses to set higher resolutions.
Here's where the patches come into play: They tell the BIOS the amount
of
memory XFree86 will allocate so you can use higher resolutions. Note
that they do not actually allocate the memory, XFree86 must do
that otherwise your system may become unstable because it is using
unallocated memory.
Some newer models with 855GM chipset (e.g. Dell Inspiron 510m and
Dell Latitude D505)
have an updated BIOS which is able to set the memory size by itself,
thus making 855patch obsolete on these systems. Unfortunately the BIOS
introduces a new bug causing XFree86 to freeze (with a green screen)
when using the i810 driver. I wrote a small hack called 855wrap which
wraps around the BIOS and prevents the buggy function from being
called. It can also be downloaded below.
The functionality of 855patch and 855wrap was added to XFree86 and is
included in XFree86 4.4.x and its betas. So if you have got a really
new version of XFree86 you may not need 855patch or 855wrap anymore.
System requirements
- Of course you'll need a system with a graphics chipset
that exhibits one of the problems mentioned above. (computers known to be affected)
- XFree86 4.2.x or higher. Other X-Window systems (especially
X.Org) should also work, althought I'll be only referring to XFree86 in
this document.
- A 2.4.x (or higher) kernel (See known bugs
if you get a segmentation fault with
kernel 2.6.x.)
- The kernel drm-modules and the XFree86 drivers supporting your
graphics chipset have to be available. If they aren't, installing the drivers
offered by Intel may help.
- XFree86 needs to be configured to use the i810-driver and to
support dri. Otherwise it can not allocate the memory. Please see
the documentation of your favourite XFree86 configuration tool how to
set this.
- The VideoRam value in the XFree86 configuration has to be at
least the value you specify calling the patch. Please use your
favourite
configuration tool again.
If you configure XFree86 by editing XF86Config the last two points
can be achieved:
- by adding a line Load "dri"
to the Section "Module"
- by using the Driver "i810"
in the Section "Device"
- by setting VideoRam
to the desired value in the Section
"Device"
Installation
Download the appropiate patch for your chipset, extract it, make it
and copy the executable
(855patch, 855wrap, 845patch or 865patch) to some location in the path,
e.g.
/usr/bin. Or use one of the
contributed packages, if available.
Usage
- for 8x5patch: Simply run
855patch, 845patch or 865patch with the amount of video
memory in kB that XFree86
will allocate as argument before starting XFree86. (e.g. 855patch 16384)
If you get a "segmentation fault" error, download version 0.2 and add
"nocheck" (without the quotes) to the call of 8x5patch. (see known bugs)
- for 855wrap: Simply run
855wrap without parameters before starting XFree86.
- Every Linux distribution has scripts that get called while
starting. They are a good place to run my programs. Consult the help
files provided with your distribution to find out what to do.
Known bugs
- Some users reported a corrupted screen or some blinking lines
when
switching back to text mode. I looks like it only happens when you
set X to use 24 bits color depth. As a workaround, I suggest reducing
the color depth. 16 bits should be enough for most applications. Please
see the appropiate help file/website how to do this.
- 855patch, 855wrap, 845patch or 865patch don't add support for a
resolution of 1400x1050. There is a third-party fix
though.
- Users of some 2.6.3 kernels provided by Fedora got a segmentation
fault while running 855patch, 845patch or 865patch. I implemented a
work around in version 0.2 of the patches. Add "nocheck" (without the
quotes) to the command line to avoid that the affected function is
called. Unfortunately this makes the patches less safer to run because
in this case the location to be patched can not be verified to be
correct. However in most cases there should be no problem even with
"nocheck".
1400x1050
Alain Poirier wrote a program called 855resolution to get the 1400x1050
resolution on i855GM
based computers. It has been tested successfully on a lot of computers.
Please refer to Alain's
web page for more
information and for downloading.
Disclaimer
855patch, 855wrap, 845patch and 865patch are free to use, distribute
or
modify. But please mention my
name and the names of the respective contributors.
I tried to make the programs as safe as possible but obviously I can't
guarantee that they'll work for you. So don't blame me if something bad
happens. This might especially be the case if the system requirements
aren't met.
Donate money
As I wrote above, 855patch, 855wrap, 845patch and 865patch are free,
so
you don't have to pay money to anyone to use them. But maybe one of
these programs saved your day and you're looking for a way to thank me
for the time and effort I put in this software. Then please feel free
donating me an amount of your choice via PayPal.
Downloads (general)
- The
video drivers by Intel. They provide drm, dri and the i810 driver
that needed if they didn't come with your version of XFree86.
Downloads for older i855GM-based computers: 855patch
Downloads for newer i855GM-based computers: 855wrap
- the source file (based on the solution found by Alain Poirier): 855wrap.tar.gz
Downloads for i845-based computers
Downloads for i865-based computers
Related links
Contact
855patch, 855wrap, 845patch and most of 865patch were written by me,
Christian Zietz, czietz@gmx.net.
I'm interested in
hearing if they work for you. But please understand that my time
available for this software is limited, so that I can't guarantee a
prompt and detailed response to all of your requests, especially if
they are not specific to the software on this page but about general
Linux/X issues. If you want to thank me, you can also donate money via PayPal.