Patch title: Release 89 bulk changes
Abstract:
File: /fullpliant/embedded/configure.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/language/stream.pli"
module "/pliant/admin/file.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/linux/kernel/device.pli"


  # now build the famous /etc/X11/XF86Config file
  s open "target:/etc/X11/XF86Config" out+mkdir+safe
  
  if not (c:env:"hardware":"screen":"horizontal_resolution" 
    rx := 1024
  if not (c:env:"hardware":"screen":"vertical_resolution" pa
    ry := 768
  if not (c:env:"hardware":"video":"vram_mb" parse (var Int 
    vram := undefined
  if not (c:env:"hardware":"video":"bpp" parse (var Int bpp)
    bpp := 32
  
  if vram=defined
    if bpp=32 and rx*ry*(bpp\8)>vram*2^20
      bpp := shunt c:env:"hardware":"video":"can_do_24_bpp"=
    while bpp>8 and rx*ry*(bpp\8)>vram*2^20
      bpp := shunt bpp>16 16 8
  
  c "hardware" "screen" "horizontal_resolution" := string rx
  c "hardware" "screen" "vertical_resolution" := string ry
  c "hardware" "video" "bpp" := string bpp
  
  s writeline "Section [dq]Files[dq]"
  s writeline "  RgbPath [dq]/usr/X11R6/lib/X11/rgb[dq]"
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/misc:
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/75dpi
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/100dp
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/Type1
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/Speed
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/misc[
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/75dpi
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/100dp
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Keyboard[dq]"
  s writeline "  Protocol [dq]Standard[dq]"
  var Str layout := c:env:"hardware":"keyboard":"xfree86_lay


  # now build the famous /etc/X11/XF86Config file
  s open "target:/etc/X11/XF86Config" out+mkdir+safe
  
  if not (c:env:"hardware":"screen":"horizontal_resolution" 
    rx := 1024
  if not (c:env:"hardware":"screen":"vertical_resolution" pa
    ry := 768
  if not (c:env:"hardware":"video":"vram_mb" parse (var Int 
    vram := undefined
  if not (c:env:"hardware":"video":"bpp" parse (var Int bpp)
    bpp := 32
  
  if vram=defined
    if bpp=32 and rx*ry*(bpp\8)>vram*2^20
      bpp := shunt c:env:"hardware":"video":"can_do_24_bpp"=
    while bpp>8 and rx*ry*(bpp\8)>vram*2^20
      bpp := shunt bpp>16 16 8
  
  c "hardware" "screen" "horizontal_resolution" := string rx
  c "hardware" "screen" "vertical_resolution" := string ry
  c "hardware" "video" "bpp" := string bpp
  
  s writeline "Section [dq]Files[dq]"
  s writeline "  RgbPath [dq]/usr/X11R6/lib/X11/rgb[dq]"
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/misc:
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/75dpi
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/100dp
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/Type1
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/Speed
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/misc[
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/75dpi
  s writeline "  FontPath [dq]/usr/X11R6/lib/X11/fonts/100dp
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Keyboard[dq]"
  s writeline "  Protocol [dq]Standard[dq]"
  var Str layout := c:env:"hardware":"keyboard":"xfree86_lay
  if layout=""
    layout := c:env:"hardware":"keyboard":"layout"
  if not (layout parse any "(" any ")" any)
    layout := "xfree86("+layout+")"
  s writeline "  XkbKeymap [dq]"+layout+"[dq]"
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Pointer[dq]"
  s writeline "  Protocol [dq]"+(shunt c:env:"hardware":"mou
  s writeline "  Device [dq]"+(file_os_name c:env:"hardware"
  s writeline "  "+(shunt c:env:"hardware":"mouse":"button">
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Monitor[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"screen":
  s writeline "  VendorName [dq]"+c:env:"hardware":"screen":
  s writeline "  ModelName [dq]"+c:env:"hardware":"screen":"
  s writeline "  HorizSync "+c:env:"hardware":"screen":"hori
  s writeline "  VertRefresh "+c:env:"hardware":"screen":"ve
  s writeline ""
  if c:env:"hardware":"screen":"xfree86_frequency"<>""
    s writeline c:env:"hardware":"screen":"xfree86_frequency
  else
    s writeline "# 640x400 @ 70 Hz, 31.5 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     25.175 640  66
    s writeline "# 640x480 @ 60 Hz, 31.5 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     25.175 640  66
    s writeline "# 800x600 @ 56 Hz, 35.15 kHz hsync"
    s writeline "ModeLine [dq]800x600[dq]     36     800  82
    s writeline "# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsy
    s writeline "Modeline [dq]1024x768[dq]    44.9  1024 104
  
    s writeline "# 640x400 @ 85 Hz, 37.86 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     31.5   640  67
    s writeline "# 640x480 @ 72 Hz, 36.5 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     31.5   640  68
    s writeline "# 640x480 @ 75 Hz, 37.50 kHz hsync"
    s writeline "ModeLine  [dq]640x480[dq]    31.5   640  65
    s writeline "# 800x600 @ 60 Hz, 37.8 kHz hsync"
    s writeline "Modeline [dq]800x600[dq]     40     800  84
  
    s writeline "# 640x480 @ 85 Hz, 43.27 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     36     640  69
    s writeline "# 1152x864 @ 89 Hz interlaced, 44 kHz hsync
    s writeline "ModeLine [dq]1152x864[dq]    65    1152 116
  
    s writeline "# 800x600 @ 72 Hz, 48.0 kHz hsync"
    s writeline "Modeline [dq]800x600[dq]     50     800  85
    s writeline "# 1024x768 @ 60 Hz, 48.4 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    65    1024 103
  
    s writeline "# 640x480 @ 100 Hz, 53.01 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     45.8   640  67
    s writeline "# 1152x864 @ 60 Hz, 53.5 kHz hsync"
    s writeline "Modeline  [dq]1152x864[dq]   89.9  1152 121
    s writeline "# 800x600 @ 85 Hz, 55.84 kHz hsync"
    s writeline "Modeline  [dq]800x600[dq]    60.75  800  86
  
    s writeline "# 1024x768 @ 70 Hz, 56.5 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    75    1024 104
    s writeline "# 1280x1024 @ 87 Hz interlaced, 51 kHz hsyn
    s writeline "Modeline [dq]1280x1024[dq]   80    1280 129
  
    s writeline "# 800x600 @ 100 Hz, 64.02 kHz hsync"
    s writeline "Modeline  [dq]800x600[dq]    69.65  800  86
    s writeline "# 1024x768 @ 76 Hz, 62.5 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    85    1024 103
    s writeline "# 1152x864 @ 70 Hz, 62.4 kHz hsync"
    s writeline "Modeline  [dq]1152x864[dq]   92    1152 120
    s writeline "# 1280x1024 @ 61 Hz, 64.2 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  110    1280 132
  
    s writeline "# 1024x768 @ 85 Hz, 70.24 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]   98.9  1024 1056
    s writeline "# 1152x864 @ 78 Hz, 70.8 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   110   1152 1240
  
    s writeline "# 1280x1024 @ 70 Hz, 74.59 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  126.5 1280 1312
    s writeline "# 1600x1200 @ 60Hz, 75.00 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  162   1600 1664
    s writeline "# 1152x864 @ 84 Hz, 76.0 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   135    1152 146
  
    s writeline "# 1280x1024 @ 74 Hz, 78.85 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  135    1280 131
  
    s writeline "# 1024x768 @ 100Hz, 80.21 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]   115.5  1024 105
    s writeline "# 1280x1024 @ 76 Hz, 81.13 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  135    1280 131
  
    s writeline "# 1600x1200 @ 70 Hz, 87.50 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  189    1600 166
    s writeline "# 1152x864 @ 100 Hz, 89.62 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   137.65 1152 118
    s writeline "# 1280x1024 @ 85 Hz, 91.15 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  157.5  1280 134
    s writeline "# 1600x1200 @ 75 Hz, 93.75 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  202.5  1600 166
    s writeline "# 1600x1200 @ 85 Hz, 105.77 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  220    1600 161
    s writeline "# 1280x1024 @ 100 Hz, 107.16 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  181.75 1280 131
  
    s writeline "# 1800x1440 @ 64Hz, 96.15 kHz hsync"
    s writeline "ModeLine [dq]1800X1440[dq]  230    1800 189
    s writeline "# 1800x1440 @ 70Hz, 104.52 kHz hsync"
    s writeline "ModeLine [dq]1800X1440[dq]  250    1800 189
  
    s writeline "# 512x384 @ 78 Hz, 31.50 kHz hsync"
    s writeline "Modeline [dq]512x384[dq]    20.160 512  528
    s writeline "# 512x384 @ 85 Hz, 34.38 kHz hsync"
    s writeline "Modeline [dq]512x384[dq]    22     512  528
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Device[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"video":"
  s writeline "  VendorName [dq]"+c:env:"hardware":"video":"
  s writeline "  BoardName [dq]"+c:env:"hardware":"video":"m
  # if c:env:"hardware":"screen":"constructor"="IBM" and c:e
  #   s writeline "  Clockchip [dq]ibm_rgb5xx[dq]"
  if c:env:"hardware":"video":"xfree86_chip_id"<>""
    s writeline "  ChipId "+c:env:"hardware":"video":"xfree8
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Screen[dq]"
  s writeline "  Driver [dq]"+(shunt c:env:"hardware":"video
  s writeline "  Device [dq]"+c:env:"hardware":"video":"cons
  s writeline "  Monitor [dq]"+c:env:"hardware":"screen":"co
  s writeline "  Subsection [dq]Display[dq]"
  s writeline "    Depth "+string:bpp
  s writeline "    Modes [dq]"+string:rx+"x"+string:ry+"[dq]
  s writeline "    ViewPort 0 0"
  s writeline "  EndSubsection"
  s writeline "EndSection"



  s writeline ""
  s writeline "Section [dq]InputDevice[dq]"
  s writeline "  Identifier [dq]Keyboard1[dq]"
  s writeline "  Driver [dq]Keyboard[dq]"
  s writeline "  Option [dq]AutoRepeat[dq] [dq]500 30[dq]"
  s writeline "  Option [dq]XkbRules[dq] [dq]xfree86[dq]"
  s writeline "  Option [dq]XkbModel[dq] [dq]pc101[dq]"
  var Str layout := c:env:"hardware":"keyboard":"xfree86_lay
  if not (layout parse any "(" any ")" any)
    layout := "xfree86("+layout+")"
  s writeline "  XkbKeymap [dq]"+layout+"[dq]"
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Pointer[dq]"
  s writeline "  Protocol [dq]"+(shunt c:env:"hardware":"mou
  s writeline "  Device [dq]"+(file_os_name c:env:"hardware"
  s writeline "  "+(shunt c:env:"hardware":"mouse":"button">
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Monitor[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"screen":
  s writeline "  VendorName [dq]"+c:env:"hardware":"screen":
  s writeline "  ModelName [dq]"+c:env:"hardware":"screen":"
  s writeline "  HorizSync "+c:env:"hardware":"screen":"hori
  s writeline "  VertRefresh "+c:env:"hardware":"screen":"ve
  s writeline ""
  if c:env:"hardware":"screen":"xfree86_frequency"<>""
    s writeline c:env:"hardware":"screen":"xfree86_frequency
  else
    s writeline "# 640x400 @ 70 Hz, 31.5 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     25.175 640  66
    s writeline "# 640x480 @ 60 Hz, 31.5 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     25.175 640  66
    s writeline "# 800x600 @ 56 Hz, 35.15 kHz hsync"
    s writeline "ModeLine [dq]800x600[dq]     36     800  82
    s writeline "# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsy
    s writeline "Modeline [dq]1024x768[dq]    44.9  1024 104
  
    s writeline "# 640x400 @ 85 Hz, 37.86 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     31.5   640  67
    s writeline "# 640x480 @ 72 Hz, 36.5 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     31.5   640  68
    s writeline "# 640x480 @ 75 Hz, 37.50 kHz hsync"
    s writeline "ModeLine  [dq]640x480[dq]    31.5   640  65
    s writeline "# 800x600 @ 60 Hz, 37.8 kHz hsync"
    s writeline "Modeline [dq]800x600[dq]     40     800  84
  
    s writeline "# 640x480 @ 85 Hz, 43.27 kHz hsync"
    s writeline "Modeline [dq]640x400[dq]     36     640  69
    s writeline "# 1152x864 @ 89 Hz interlaced, 44 kHz hsync
    s writeline "ModeLine [dq]1152x864[dq]    65    1152 116
  
    s writeline "# 800x600 @ 72 Hz, 48.0 kHz hsync"
    s writeline "Modeline [dq]800x600[dq]     50     800  85
    s writeline "# 1024x768 @ 60 Hz, 48.4 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    65    1024 103
  
    s writeline "# 640x480 @ 100 Hz, 53.01 kHz hsync"
    s writeline "Modeline [dq]640x480[dq]     45.8   640  67
    s writeline "# 1152x864 @ 60 Hz, 53.5 kHz hsync"
    s writeline "Modeline  [dq]1152x864[dq]   89.9  1152 121
    s writeline "# 800x600 @ 85 Hz, 55.84 kHz hsync"
    s writeline "Modeline  [dq]800x600[dq]    60.75  800  86
  
    s writeline "# 1024x768 @ 70 Hz, 56.5 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    75    1024 104
    s writeline "# 1280x1024 @ 87 Hz interlaced, 51 kHz hsyn
    s writeline "Modeline [dq]1280x1024[dq]   80    1280 129
  
    s writeline "# 800x600 @ 100 Hz, 64.02 kHz hsync"
    s writeline "Modeline  [dq]800x600[dq]    69.65  800  86
    s writeline "# 1024x768 @ 76 Hz, 62.5 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]    85    1024 103
    s writeline "# 1152x864 @ 70 Hz, 62.4 kHz hsync"
    s writeline "Modeline  [dq]1152x864[dq]   92    1152 120
    s writeline "# 1280x1024 @ 61 Hz, 64.2 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  110    1280 132
  
    s writeline "# 1024x768 @ 85 Hz, 70.24 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]   98.9  1024 1056
    s writeline "# 1152x864 @ 78 Hz, 70.8 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   110   1152 1240
  
    s writeline "# 1280x1024 @ 70 Hz, 74.59 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  126.5 1280 1312
    s writeline "# 1600x1200 @ 60Hz, 75.00 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  162   1600 1664
    s writeline "# 1152x864 @ 84 Hz, 76.0 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   135    1152 146
  
    s writeline "# 1280x1024 @ 74 Hz, 78.85 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  135    1280 131
  
    s writeline "# 1024x768 @ 100Hz, 80.21 kHz hsync"
    s writeline "Modeline [dq]1024x768[dq]   115.5  1024 105
    s writeline "# 1280x1024 @ 76 Hz, 81.13 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  135    1280 131
  
    s writeline "# 1600x1200 @ 70 Hz, 87.50 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  189    1600 166
    s writeline "# 1152x864 @ 100 Hz, 89.62 kHz hsync"
    s writeline "Modeline [dq]1152x864[dq]   137.65 1152 118
    s writeline "# 1280x1024 @ 85 Hz, 91.15 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  157.5  1280 134
    s writeline "# 1600x1200 @ 75 Hz, 93.75 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  202.5  1600 166
    s writeline "# 1600x1200 @ 85 Hz, 105.77 kHz hsync"
    s writeline "Modeline [dq]1600x1200[dq]  220    1600 161
    s writeline "# 1280x1024 @ 100 Hz, 107.16 kHz hsync"
    s writeline "Modeline [dq]1280x1024[dq]  181.75 1280 131
  
    s writeline "# 1800x1440 @ 64Hz, 96.15 kHz hsync"
    s writeline "ModeLine [dq]1800X1440[dq]  230    1800 189
    s writeline "# 1800x1440 @ 70Hz, 104.52 kHz hsync"
    s writeline "ModeLine [dq]1800X1440[dq]  250    1800 189
  
    s writeline "# 512x384 @ 78 Hz, 31.50 kHz hsync"
    s writeline "Modeline [dq]512x384[dq]    20.160 512  528
    s writeline "# 512x384 @ 85 Hz, 34.38 kHz hsync"
    s writeline "Modeline [dq]512x384[dq]    22     512  528
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Device[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"video":"
  s writeline "  VendorName [dq]"+c:env:"hardware":"video":"
  s writeline "  BoardName [dq]"+c:env:"hardware":"video":"m
  # if c:env:"hardware":"screen":"constructor"="IBM" and c:e
  #   s writeline "  Clockchip [dq]ibm_rgb5xx[dq]"
  if c:env:"hardware":"video":"xfree86_chip_id"<>""
    s writeline "  ChipId "+c:env:"hardware":"video":"xfree8
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Screen[dq]"
  s writeline "  Driver [dq]"+(shunt c:env:"hardware":"video
  s writeline "  Device [dq]"+c:env:"hardware":"video":"cons
  s writeline "  Monitor [dq]"+c:env:"hardware":"screen":"co
  s writeline "  Subsection [dq]Display[dq]"
  s writeline "    Depth "+string:bpp
  s writeline "    Modes [dq]"+string:rx+"x"+string:ry+"[dq]
  s writeline "    ViewPort 0 0"
  s writeline "  EndSubsection"
  s writeline "EndSection"



  s writeline ""
  s writeline "Section [dq]InputDevice[dq]"
  s writeline "  Identifier [dq]Keyboard1[dq]"
  s writeline "  Driver [dq]Keyboard[dq]"
  s writeline "  Option [dq]AutoRepeat[dq] [dq]500 30[dq]"
  s writeline "  Option [dq]XkbRules[dq] [dq]xfree86[dq]"
  s writeline "  Option [dq]XkbModel[dq] [dq]pc101[dq]"
  var Str layout := c:env:"hardware":"keyboard":"xfree86_lay
  if layout=""
    layout := c:env:"hardware":"keyboard":"layout"
  if (layout parse any "(" any:(var Str layout0) ")" any)
    layout := layout0
  s writeline "  Option [dq]XkbLayout[dq] [dq]"+layout+"[dq]
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]InputDevice[dq]"
  s writeline "  Identifier [dq]Mouse1[dq]"
  s writeline "  Driver [dq]mouse[dq]"
  if (layout parse any "(" any:(var Str layout0) ")" any)
    layout := layout0
  s writeline "  Option [dq]XkbLayout[dq] [dq]"+layout+"[dq]
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]InputDevice[dq]"
  s writeline "  Identifier [dq]Mouse1[dq]"
  s writeline "  Driver [dq]mouse[dq]"
  s writeline "  Option [dq]Protocol[dq] [dq]"+(shunt c:env:
  s writeline "  Option [dq]Protocol[dq] [dq]"+(shunt c:env:"hardware":"mouse":"linux_device"="device:/psaux" "PS/2" c:env:"hardware":"mouse":"linux_device"="device:/input/mice" "IMPS/2" "Microsoft")+"[dq]"
  s writeline "  Option [dq]Device[dq] [dq]"+(file_os_name c
  if c:env:"hardware":"mouse":"button"="2"
    s writeline "  Option [dq]Emulate3Buttons[dq]"
    s writeline "  Option [dq]Emulate3Timeout[dq] [dq]50[dq]
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Monitor[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"screen":
  s writeline "  HorizSync "+c:env:"hardware":"screen":"hori
  s writeline "  VertRefresh "+c:env:"hardware":"screen":"ve
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Device[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"video":"
  s writeline "  Driver [dq]"+c:env:"hardware":"video":"xfre
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Screen[dq]"
  s writeline "  Identifier [dq]Screen 1[dq]"
  s writeline "  Device [dq]"+c:env:"hardware":"video":"cons
  s writeline "  Monitor [dq]"+c:env:"hardware":"screen":"co
  s writeline "  DefaultDepth "+string:bpp
  s writeline "  Subsection [dq]Display[dq]"
  s writeline "    Depth "+string:bpp
  s writeline "    Modes [dq]"+string:rx+"x"+string:ry+"[dq]
  s writeline "    ViewPort 0 0"
  s writeline "  EndSubsection"
  s writeline "EndSection"


  s writeline "  Option [dq]Device[dq] [dq]"+(file_os_name c
  if c:env:"hardware":"mouse":"button"="2"
    s writeline "  Option [dq]Emulate3Buttons[dq]"
    s writeline "  Option [dq]Emulate3Timeout[dq] [dq]50[dq]
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Monitor[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"screen":
  s writeline "  HorizSync "+c:env:"hardware":"screen":"hori
  s writeline "  VertRefresh "+c:env:"hardware":"screen":"ve
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Device[dq]"
  s writeline "  Identifier [dq]"+c:env:"hardware":"video":"
  s writeline "  Driver [dq]"+c:env:"hardware":"video":"xfre
  s writeline "EndSection"
  
  s writeline ""
  s writeline "Section [dq]Screen[dq]"
  s writeline "  Identifier [dq]Screen 1[dq]"
  s writeline "  Device [dq]"+c:env:"hardware":"video":"cons
  s writeline "  Monitor [dq]"+c:env:"hardware":"screen":"co
  s writeline "  DefaultDepth "+string:bpp
  s writeline "  Subsection [dq]Display[dq]"
  s writeline "    Depth "+string:bpp
  s writeline "    Modes [dq]"+string:rx+"x"+string:ry+"[dq]
  s writeline "    ViewPort 0 0"
  s writeline "  EndSubsection"
  s writeline "EndSection"


  # xterm
  kernel_make_device "embedded:/dev/zero"
  file_rights "embedded:/dev/zero" undefined undefined 6*8+6 0
  kernel_make_device "embedded:/dev/console"
  kernel_make_device "embedded:/dev/tty"
  file_rights "embedded:/dev/tty" undefined undefined 6*8+6 0
  for (var Int i) 0 9
    kernel_make_device "embedded:/dev/tty"+string:i
    file_rights "embedded:/dev/tty"+string:i undefined undefined 6*8+6 0
  for (var Int i) 0 25
    for (var Int j) 0 15
      kernel_make_device "embedded:/dev/tty"+(character "a":number+i)+lower:(string j "radix 16")
      file_rights "embedded:/dev/tty"+(character "a":number+i)+lower:(string j "radix 16") undefined undefined 6*8+6 0
      kernel_make_device "embedded:/dev/pty"+(character "a":number+i)+lower:(string j "radix 16")
      file_rights "embedded:/dev/pty"+(character "a":number+i)+lower:(string j "radix 16") undefined undefined 6*8+6 0

  # ghostscript
  if (file_query "target:/usr/bin/gs" extended)=failure
    if (file_query "target:/usr/bin/gs-gnu" extended)=succes
      file_link "file:/usr/bin/gs-gnu" "target:/usr/bin/gs"


export embedded_configure
  # ghostscript
  if (file_query "target:/usr/bin/gs" extended)=failure
    if (file_query "target:/usr/bin/gs-gnu" extended)=succes
      file_link "file:/usr/bin/gs-gnu" "target:/usr/bin/gs"


export embedded_configure