X and Modesetting: Atrophy illustrated. Modesetting is ... Getting - - PowerPoint PPT Presentation

x and modesetting atrophy illustrated modesetting is
SMART_READER_LITE
LIVE PREVIEW

X and Modesetting: Atrophy illustrated. Modesetting is ... Getting - - PowerPoint PPT Presentation

X and Modesetting: Atrophy illustrated. Modesetting is ... Getting pixels on a screen. Modesetting is ... Boring. Hard. Slow. Requires a lot of hardware to do properly. Tseng ET4000W32p: DAC bus (8bit) R/W Clock Select


slide-1
SLIDE 1

X and Modesetting: Atrophy illustrated.

slide-2
SLIDE 2

Modesetting is ... Getting pixels on a “screen”.

slide-3
SLIDE 3

Modesetting is ...

  • Boring.
  • Hard.
  • Slow.
  • Requires a lot of hardware to do properly.
slide-4
SLIDE 4

Tseng ET4000W32p:

CRTC DAC

Pixel Bus (8/16bit) Blank

CRT CRT

Clock Select R/W DAC bus (8bit) HSync/VSync RGB

slide-5
SLIDE 5

Unichrome:

CRTC1 CRTC2 Panel Scaler DAC CRT TTL Panel External Encoder External Encoder

slide-6
SLIDE 6

Encoder

External encoder

Pixel Bus H/VSync I²C Blank / Data Enable

“Screen”

slide-7
SLIDE 7

Enemy: VBE

Extension of IBMs VGA BIOS:

  • Selfmodifying binary.
  • Always loaded at 0xC0000
  • Hooked into interrupt vector table (int10)

VBE:

  • 1991: v1.2
  • meant to get past VGA limitations, forgood.
  • meant to alleviate the burden of modesetting on complex

hardware.

slide-8
SLIDE 8

Modesetting for 7.1:

  • cvt (committed)
  • bug #5386: Getting a mode without a Modes directive.
  • cvts xf86CVTMode() -> common/xf86cvt.c (attached).
  • xf86SetDDCproperties becomes useful (attached).
  • adjust drivers to new xf86SetDDCproperties (todo / trivial).
  • filter resulting modeslist based on type. (todo / discuss / pending).
  • multiple ClockRanges:
  • tseng fixup (committed).
  • xf86mode.c cleanup (pending).
  • non-programmable dotclocks:
  • trident fixup (test).
  • c&t fixup (redo).
  • vga fixup (todo / discuss).
  • atimisc fixup (scared).
  • xf86mode.c cleanup (pending).