Table of Content

Weight: 2

Description: Candidates should be able to install and configure X11.

Key Knowledge Areas:

  • Verify that the video card and monitor are supported by an X server
  • Awareness of the X font server
  • Basic understanding and knowledge of the X Window configuration file

Terms and Utilities:

/etc/X11/xorg.conf
xhost
DISPLAY
xwininfo
xdpyinfo
X

X server

XFree86 open source dominant until 2004 big change 3.36 to 4.x X.org-X11 open source X.org-X11 6.7.0 was based on XFree86 4.3.99, only config file name and location of font different
Accelerated-X commercial; better support on video card

Both AMD (formerly ATI) and nVidia provide Linux video card drivers designed to work with XFree86 and X.org-X11.

methods of config X

X config tools

X server
as root
Xfree86 -configure # create /root/XF86Config.new
Xorg -configure # create /root/xorg.conf.new

Distribution-Specific Tools
system-config-display in RH xterm
SUSE’s YaST and YaST2

deprecated
xf86cfg
xorgcfg

X config format

X.org-X11 /etc/X11/xorg.conf # modem system no this file, relying on run-time auto-detection, if misconfig can run Xorg -configure to generate xorg.conf file XFree86 4.x /etc/X11/XF85Config-4 or XF86Config XFree86 3.3.6 /etc/X11/XF86Config

keyword EndSection:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "AutoRepeat" "500 200"
EndSection

The X Configure-and-Test Cycle

kick into mode X not auto start
RH telinit 3
Debian/Ubuntu shutdown GUI by /etc/init.d/xdm stop
lightdm stop

startx # to start X
if X works, logout desktop then telinit 5 or /etc/init.d/lightdm start

another restart X by killing xdm process

ps ag|grep X
kill

X config options

Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
Load "dri"
EndSection

set keyboard

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "AutoRepeat" "500 200"
EndSection

set mouse

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "dev/input/mice"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Note that "PS/2" is both a hardware interface and a software protocol; many USB mice use the PS/2 mouse protocol
even though they don’t use the PS/2 mouse port.

set monitor

Section "Monitor"
Identifier "Monitor0"
ModelName "AOC e2343Fk"
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
# My custom 1920x1080 mode
Modeline "1920x1080" 138.50 1920 1968 2000 2080 1080 1083 1088 1111
EndSection

the VertRefresh value, and the resolution determine the monitor’s maximum refresh rate.

set video card

Section "Device"
Identifier "Videocard0"
Driver "nv"
VendorName "nVidia"
BoardName "GeForce 6100"
VideoRam 131072
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080" "1280x1024" "1024x768"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

The total amount of RAM required is determined by an equation:
R = xres x yres x bpp / 8,388,608

R = 1280 x 1024 x 24 / 8,388,608 = 3.75MB

Section "ServerLayout"
Identifier "single head configuration"
Screen "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

oldhorse@dclab:~$ whereis xdpyinfo
xdpyinfo: /usr/bin/xdpyinfo /usr/share/man/man1/xdpyinfo.1.gz
oldhorse@dclab:~$ xdpyinfo   # list all extensions

xdpyinfo -ext 

xwininfo # window property details 

X font

bitmap font .pfa or .pfb
outline font .ttf
- Type 1 XFree86 3.3.6 early , Xorg
- TrueType XFree86 4.x and Xorg

In XFree86 4.3 and later and in X.org-X11, the simplest way to do the job is to use
mkfontscale and mkfontdir:
# mkfontscale # fonts.scale
# mkfontdir # fonts.dir(summary of font) + fonts.scale

ttmkfdir # fonts.dir
type1inst # Type1 font.dir
mkfontscale # both Type1 and TrueType font.scale

root@dclab:/usr/share/fonts# ll
total 32
drwxr-xr-x 6 root root 4096 Apr 22 2015 ./
drwxr-xr-x 296 root root 12288 Sep 28 14:33 ../
drwxr-xr-x 2 root root 4096 Apr 22 2015 cmap/
drwxr-xr-x 23 root root 4096 Apr 22 2015 truetype/
drwxr-xr-x 4 root root 4096 Apr 22 2015 type1/
drwxr-xr-x 6 root root 4096 Apr 22 2015 X11/

config font sever

Section "Files"
FontPath "unix:/7100"
FontPath "tcp/fount.pangaea.edu:7100"
EndSection

font path

xset fp+ /your/font/path
xet fp rehash