How do you install XFree86 on Solaris?

How do you install XFree86 on Solaris?

Why would you want to?
Usually because the standard XSun server doesn't support your graphics board
or doesn't support the color depth or resolution you wish to have
or you may want OpenGL support (available only with the Sparc version of XSun).
(If board support is the only problem, consider 3rd party drivers from
XiGraphics, http://www.xig.com/,
especially recommended if you have a laptop).
Of course, it's much easier to use the default XSun,
which comes with Solaris CDE, if it works for you.


As an alternative, you can also use the XFree86 Video Drivers Porting Kit,
which is actually easier to use than you may think.
See the question below on the video drivers and porting kit.


Here's some notes for installing XFree86 on Solaris x86.

http://www.xfree86.org/3.3.6/SOLX86.html



As a final hint,
get and read the HOWTOs and books that were written for XFree86 on Linux.



Starting with Solaris 2.6,
Sun changed the way X client communicates with X server
when both the client and X server are on the local machine (DISPLAY
variable is set to ":0"). In short, instead of using /tmp/.X11-unix,
the client connects to the X server using /tmp/.X11-pipe. Since
XFree86 doesn't support /tmp/.X11-pipe, CDE will not work
out-of-the-box on the local display under the XFree86 server.


If you added virtual terminals (mentioned elsewhere in this FAQ
and only possible with Solaris 2.4 to 7),
you must leave one VT open (usually VT07); otherwise XFree86 will not run.


To install and configure XFree86:



  • Download binaries for Solaris (Intel platform) from

    ftp://ftp.xfree86.org/pub/XFree86/


  • Check your platform and OS: sh Xinstall.sh -check

  • Install XFree86 with: sh Xinstall.sh

  • After the installation is complete, create your own XF86Config file:
    XFree86 -configure

  • Remove or rename your old X server:
    cd /usr/openwin/bin; mv X X.old

  • Link to your new X server: ln -s /usr/X11R6/bin/X /usr/openwin/bin/X

  • Copy the default dt configuration:
    mkdir -p /etc/dt/config; cp /usr/dt/config/Xservers /etc/dt/config

  • Edit /etc/dt/config/Xservers to cause dtlogin to
    start XFree86 instead of Xsun next time it loads.
    CDE will still run with XFree86:

    # :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 -nobanner
    unix:0 Local local_uid@console root /usr/X11R6/bin/X :0 -depth 16


    For 24-bit displays, "-depth 16" should be changed to "-depth 24".
    For 8-bit displays, omit "-depth 16".
    Use "unix:0" to cause dtlogin to set the DISPLAY variable
    to local sessions instead of ":0.0" and CDE will be able
    to connect to the local X server.
    For older XFree 3.x, use "-bpp" instead of "-depth" (which is used for 4.x).


  • Edit /XF86Config.new and change
    /dev/mouse to /dev/kdmouse and
    "auto" to "PS/2" (if appropriate):
    under section "Pointer" (or "InputDevice"):

    Section "InputDevice" # Older versions of XFree86 use "Pointer"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "PS/2" # "auto" for PNP mice
    Option "Device" "/dev/kdmouse" # or "/dev/mouse"
    EndSection



    For USB mice, use something similar to the following:


    Section "InputDevice"
    Identifier "Mouse1"
    Driver "mouse"
    Option "Protocol" "VUID" # For USB mice
    Option "Device" "/dev/mouse"
    EndSection



  • To test the server , run XFree86 -xf86config XF86Config.new

  • If it works:
    cd /etc/X11; mv XF86Config XF86Config.old; cp XF86Config.new XF86Config

  • After X server configuration is done, /usr/sbin/reboot.
    This verifies startup works OK.



Optional step.
Once the above is working, you may add fonts
from the /usr/openwin/lib/X11/fonts/ directory to the default
font path for XFree86 server.
Edit /etc/XF86Config file and add this to section "Files":


FontPath "/usr/openwin/lib/X11/fonts/F3bitmaps/"
FontPath "/usr/openwin/lib/X11/fonts/Type1/"
FontPath "/usr/openwin/lib/X11/fonts/Speedo/"
FontPath "/usr/openwin/lib/X11/fonts/misc/"
FontPath "/usr/openwin/lib/X11/fonts/75dpi/"
FontPath "/usr/openwin/lib/X11/fonts/100dpi/"


Aliases for CDE fonts are in the F3bitmaps directory,
so you'll need at least this line.
[Warning: I have a report that adding the Openwin fonts to the XFree86 server,
as recommended here, could cause dtlogin to fail.]


For those that use S3 Virge cards, it seems that SVGA server (the default
server for Virge cards) has problems with some chipsets. Try using
an old S3V server instead. Also, the problem with returning from graphics
to text mode seems to be present on all three servers I tried (Xsun, SVGA
and S3V).


[Thanks to Aleksandar Milivojevic, Jimmy Chang, Philip Brown,
and Joerg Niethammer]





Home
FAQ