====== Xorg & XVesa ====== By default, SliTaz v3 uses Xorg 7.4 with the //xorg-xf86-video-vesa// v2.0.0 driver. This basic driver can cause problems with certain hardware combinations and can sometimes result in a very low resolution. Occasionally, X does not start at all and instead falls back to the log-in screen or to a text-based prompt. There are some simple solutions that can yield major improvements: * check that you have enough RAM to run the default ISO. If not, use the [[http://mirror.slitaz.org/iso/3.0/flavors/|Low RAM ISO]] instead. * try the [[http://mirror.slitaz.org/iso/3.0/flavors/slitaz-3.0-xvesa.iso|XVesa ISO]] (a.k.a. TinyX) * install a more specific driver for your graphics card * customise your Xorg configuration file (//xorg.conf//) Good introductions to Xorg Configuration can be found at [[http://www.freebsd.org/doc/en/books/handbook/x-config.html|The FreeBSD Handbook]] and [[https://wiki.ubuntu.com/X/Config|X Configuration from Ubuntu]]. Up to v7.3, the Ctrl+Alt+Backspace key combination could be used to quit the X server. To enable it in version 7.4 and later, type the following command from any X terminal emulator: setxkbmap -option terminate:ctrl_alt_bksp Throughout this page, commands preceeded with a hash sign (#) should be executed as the **root** user. This is best under a terminal window. Otherwise, the dollar symbol ($) denotes a regular (tux) user. ===== Using Xorg & Vendor-Specific Drivers ===== When you are using SliTaz as your main system, it's recommended to use Xorg over XVesa. You will get a much better display and performance than when using Xvesa tinyX. === AGP Cards === All AGP video cards need extra kernel modules to function under Xorg. Check if you have an AGP video card with //lspci//; if so, install the necessary modules in the //linux-agp// package before using Xorg: # tazpkg get-install linux-agp Load the modules using the SliTaz hardware detection tool: # tazhw detect-pci You can now use the SliTaz X configuration tool to detect your settings: # tazx Select the appropriate driver for your video card from the list. === DRI / DRM Problem === Sometimes, the auto-detection is not enough. Cards that require [[http://www.bitwiz.org.uk/s/how-dri-and-drm-work.html|DRI / DRM]] are supported under SliTaz, but v3 has a couple of bugs! The file ///dev/dri// should be a directory and not a file and, to get DRI working correctly, we have to add tux to the group video or modify permissions in the Xorg configuration file: # tazpkg get-install linux-drm # tazpkg get-install mesa-demos (for glxinfo and glxgears) # rm /dev/dri # mkdir /dev/dri/ # addgroup tux video The //drm// module is not loaded by //tazhw// so you have to do it manually: # modprobe drm All modules, which are loaded by tazhw and yourself to make your changes permanent, have to be added to the SliTaz Control Box under Initialization in "Load Modules". === Intel cards === The xorg-xf86-video-vesa 2.0.0 driver has a lot of trouble with Intel chips. For example, on a 82945GM chipset it does not display 1280x1024 and 1024x768, but 1600x1200 is not a problem. Use "tazx" to select the intel driver, then "tazhw detect-pci", solve the dri problem and load drm and restart X - normally that's it (perhaps you must change your xorg.conf too). Some users may need to add the "intel_agp" module to the xorg.conf file: Section "Module" ... Load "intel_agp" ... EndSection for the driver to work. Depending on the hardware, the //mode-setting// feature must be turned on or off. To turn it off append one of the following to the //kernel// line in the GRUB boot-loader configuration: * //nomodeset// * //i810.modeset=0// * //i915.modeset=0// If mode-setting is off by default and should instead be turned on, append one of the following: * //modeset// * //i810.modeset=1// * //i915.modeset=1// === Trident cards === Use "tazx" to select the trident driver, install mesa-dri-trident # tazpkg get-install mesa-dri-tridentand restart X === nVidia cards === SliTaz provides automatic configuration for nVidia cards. There are two drivers available, the Xorg-provided //[[#free-driver-nv|nv]]// and the nVidia-provided, non-free //[[#non-free-driver-nvidia|nvidia]]//. The //nv// driver should be tried first as this has been compiled for SliTaz, whereas the nVidia-supplied driver is a //binary blob// that tries to fit each and every Linux distribution. \\ == Free Driver (nv) == To set-up the free nVidia drivers, use the SliTaz Hardware Configuration tool: # tazhw setup nvidia Alternatively, you can do this process manually: * Download the following packages: * mesa, mesa-demos, linux-agp, xorg-xf86-video-nv # tazpkg get-install xorg-xf86-video-nv # tazpkg get-install mesa # tazpkg get-install mesa-demos # tazpkg get-install linux-agp * Load the kernel modules # tazhw detect-pci * Replace the standard //vesa// driver with //nv// # sed -i 's/vesa/nv/' /etc/X11/xorg.conf == Non-Free Driver (nvidia) == To set-up the non-free nVidia drivers, use the SliTaz Hardware Configuration tool with the //--non-free// switch: # tazhw setup nvidia --non-free Alternatively, you can do this process manually: * Download the following packages: * mesa mesa-demos linux-agp nvidia # tazpkg get-install nvidia # tazpkg get-install mesa # tazpkg get-install mesa-demos # tazpkg get-install linux-agp * Load the kernel modules # tazhw detect-pci * Attempt to configure the card with nVidia's tool: # nvidia-xconfig * To test if rendering is working, # glxinfo | grep render * To change nVidia's settings, use nVidia's Settings tool: # nvidia-settings == Hiding the Logo == To hide the nVidia logo when the system boots, add the following to ///etc/X11/xorg.conf// at the end of the //Device// section: Option "NoLogo" "True" === ATI cards === SliTaz provides automatic configuration for ATI cards. There are two drivers available, the Xorg-provided //[[#free-driver-radeon|radeon]]// and the ATI-provided, non-free //[[#non-free-driver-catalyst|catalyst]]//. The //ati// driver should be tried first as this has been compiled for SliTaz, whereas the ATI-supplied driver is a //binary blob// that tries to fit each and every Linux distribution. \\ == Free Driver (radeon) == To set-up the free ATI drivers, install the AGP & DRM modules, then use the SliTaz Hardware Configuration tool: # tazpkg get-install linux-agp # tazpkg get-install linux-drm # tazhw setup ati - but perhaps this is not enough - check /var/log/Xorg.0.log to see if other modules must be loaded: See [[#dri-drm-problem | DRI / DRM Problem ]] Alternatively, you can do this process manually: * Download the following packages: * xorg-xf86-video-ati mesa-dri-ati mesa-demos linux-agp # tazpkg get-install xorg-xf86-video-ati # tazpkg get-install mesa-dri-ati # tazpkg get-install mesa-demos # tazpkg get-install linux-agp # tazpkg get-install linux-drm * Load the kernel modules # tazhw detect-pci * To install the free ATI driver radeon, replace //vesa// with //radeon// in the ///etc/X11/xorg.conf// file: # sed -i 's/vesa/radeon/' /etc/X11/xorg.conf == Non-Free Driver (catalyst) == To set-up the non-free ATI drivers, use the SliTaz Hardware Configuration tool with the //--non-free// switch: # tazhw setup ati --non-free === Modifying the Xorg Configuration === Normally Xorg will start successfully, but perhaps not with the correct resolution. See the [[#adding-resolutions|tips]] at the end of this page or sometimes search the Internet for the xorg.conf for your card and your monitor - or use another LiveCD and copy the working configuration file to SliTaz. ===== Configuring X ===== While X will do it's bets to auto-configure itself for your graphics card set-up, sometimes it needs a tweak. Its configuration file, ///etc/X11/xorg.conf//, is the place to customise the configuration. The best example of this is switching drivers or adding resolutions it doesn't detect. === Adding Resolutions === 1. Include //HorizSync// and //VertRefresh// (refresh timings) in the //Monitor// section: Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 28-64 VertRefresh 60 EndSection 2. Include a //DefaultDepth// in the //Screen// section: Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" ** DefaultDepth 24 ** 3. Add an extra //Mode// to the line in the //Display// sub-section: SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" "800x600" EndSubSection 4. Also, add the default Font paths in the //Files// section: Section "Files" ModulePath "/usr/lib/X11/modules" FontPath "/usr/share/fonts/X11/misc/" FontPath "/usr/share/fonts/X11/TTF/" FontPath "/usr/share/fonts/X11/OTF" FontPath "/usr/share/fonts/X11/Type1/" FontPath "/usr/share/fonts/X11/100dpi/" FontPath "/usr/share/fonts/X11/75dpi/" FontPath "/usr/share/fonts/truetype/ttf-dejavu" EndSection * If you have DRI/DRM enabled, it may be easier to change its permission so all users can use it, rather than adding each to the //video// group. Append the following section: Section "DRI" Mode 0666 EndSection You can use xrandr to identify your monitor(s). This utility is in the //xorg-xrandr// package: # tazpkg get-install xorg-xrandr See the [[http://wiki.debian.org/XStrikeForce/HowToRandR12|Debian RandR 1.2 Wiki]] for more information. === Restarting Xorg === For changes to take effect, you need to restart Xorg. This can be done by logging out of your session and back in again. Choose //Logout// from the Menu and select the //Logout X session// button. If you see the Slim log-in manager, Xorg has restarted successfully! ===== Using XVesa and Generic Drivers (TinyX) ===== The [[http://mirror.slitaz.org/iso/3.0/flavors/slitaz-3.0-xvesa.iso|SliTaz-3.0-xvesa.iso]] uses the XVesa system instead of Xorg, which offers a more generic driver at the cost of performance. It boots on nearly all computers and laptops, but can only display a 4:3 resolution. To find out which resolutions are possible with your card, type: # Xvesa -listmodes Here's a selection of resolutions for an example Intel Atom Board: VBE version 3.0 (Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS) DAC is switchable, controller is VGA compatible, RAMDAC causes snow Total memory: 7872 kilobytes 0x015A: 1600x1200x24 TrueColor [8:8:8:8] 0x011B: 1280x1024x24 TrueColor [8:8:8:8] 0x0118: 1024x768x24 TrueColor [8:8:8:8] 0x0112: 640x480x24 TrueColor [8:8:8:8] 0x0115: 800x600x24 TrueColor [8:8:8:8] This output shows widescreen resolutions cannot be displayed with XVesa. If X does not start with the default SliTaz ISO, you could use the XVesa ISO to install your default Xorg driver. When you are asked for your resolution at boot-time, scroll down the window and find the option to install your Xorg driver //before// XVesa is started. However, don't use "tazx" and "tazhw setup ati or nv" on the XVesa ISO to install your Xorg driver because you will end up with a blank and confused screen! ---- \\ ^ Page Review Section ^^ |Quality| Good | |Review| Minor Updates | |Priority| Medium | |Problems| add a [[http://forum.slitaz.org|forum post link]]| |::: | OR add a [[http://labs.slitaz.org/issues |lab issue tracker link ]]| |How to Improve| Extra config. for other cards? | |::: | More details on or references to xorg.conf | \\ ----