# Known GRX problems and things that must be improved

## General:

- The memory driver allocates all planes in one chunk instead of using real planes.

- Printing in 1200dpi on Laserjet supporting PCL6 doesn't work.

## Win32 driver:

- Drawline can be faster. Now when we paint a long diagonal line, the invalidate rect is very big.

- Add a 16 bpp framedriver.

- The printing code doesn't work correctly.

## X11 driver:

- Investigate why bccbgi test program doesn't restart when it switchs to text mode.

- Try to make GrPixel faster.

- The driver can't respond to PAINT events, so it has problems with XFree86 v4 because the backing-store is not enabled by default. The best solution is to have a context to save the actual window (and the GrPixel problem can be solved too). The workaround is to add next lines to the /etc/X11/XF86Config-4 file, in the Device section:

  Option "BackingStore"

  Option "SaveUnders"

## Linux console framebuffer driver:

- Try to change modes if the underlaying framebuffer driver allow it.

- Complete the alternate direct mouse driver (now it only handles PS/2 and IMPS2 mice).

- Use the alternate input driver even when the Svgalib driver is included, so virtual consoles can be switched.

## Linux console SVGALIB driver:

- Nedded alternate framedrivers for 1 and 4 bpp modes. The actual ones are using inport/outport instructions and doesn't work with svgalib 1.9.x and even with 1.4.x if the linux framebuffer is enabled.

- A bug in gcc 3.2 and never compilers abort the compilation with errors like "can't find a register in class AD_REGS while reloading asm". No fix at the moment. Workaround: change "-O2" to "-O1" in makedefs.grx.

## VGA DOS driver:

- It can be improved a lot, replacing the generic funtions it uses.

- BitBlt to screen doens't work in 4bpp modes if the screen is not set as the default context.