Home Wiki > SDB:VIA
Sign up | Login


tagline: From openSUSE

Fix for DMA lock-up

This first chapter is important for VIA EPIA mainboards only! There may be mainboards with CLE266 or CN400 graphics chip together with CPU of other companies, especially in notebooks. In this case skip this text and continue with the next chapter.

Linux so far is incompatible with the so called "longhaul" CPU frequency management used by VIA. So the solution recommended here is to deactivate all runtime CPU frequency changes:

  1. Open Yast (root password needed)
  2. Select "System->Editor for file /etc/sysconfig"
  3. Select tree path "System->Powermanagement->Powersave"
  4. Set ->CPU-CPUFREQ_ENABLED to "no"
  5. For more redundancy edit all Schemes (xxx):
    1. Set ->Scheme->xxx->CPUFREQUENCY to "performance"
    2. Set ->Scheme->xxx->ALLOW_THROTTLING to "no"

Fix for Boot Hang during Install on VIA EN15000

In BIOS, change sata mode to "IDE".

On the kernel command line add apic=verbose !!! Presumably this masks a bug in the apic kernel code...

Activate MPEG2 and 3D hardware acceleration

This chapter is relevant for VIA CLE266 and CN400 graphics. Also you need SUSE Linux 10.1, earlier versions like 10.0 will not work! (More exactly you need Xorg 6.9 or 7.0 and Kernel 2.6.16.)

All the operations in this chapter need root permissions. If you prefer the graphical desktop, the best idea is to log out and restart Gnome or KDE as root. Another possibility is to log in as root using a text console (for example with CTRL+ALT+F2).

  1. Change directory to "/etc/profile.d" and delete the following two files: "via.sh" and "via.csh".
  2. Open SaX2 to change monitor settings.
    1. VESA Framebuffer is fixed, unfortunately you cannot change it here.
    2. Select your monitor model. Do not forget to set the screen size, because this information is needed within applications to convert between millimeters and pixels.
    3. You must select 16 bit (65536) colour resolution, others will not work together with acceleration. The pixel resolution will be overwritten later in this recipe, so choose whatever you want.
  3. Close SaX2. In the next steps you will edit the file which is produced by SaX. For this reason avoid using SaX in future, because it would overwrite your editings!
  4. Open the file /etc/X11/xorg.conf with a text editor, for example with gedit or kwrite.
  5. Within this file search for the chapters shown below and add the bold (fat) marked lines:
  • Add the DRI module below the line of GLX module.
Section "Module"
  Load     "glx"
  Load     "dri"
  Load     "type1"
  Load     "extmod"
  Load     "dbe"
  Load     "freetype"
  Load     "v4l"
  • Add some options. Editing BoardName and VendorName is voluntary and you can choose whatever.
Section "Device"
  BoardName    "Unichrome(KM400)"
  BusID        "1:0:0"
  Driver       "via"
  Identifier   "Device[0]"
  Option       "DisableIRQ"
  Option       "EnableAGPDMA"
  Option       "usevnc" "no"
  Screen       0
  VendorName   "VIA"
  • Give more rights to DRI video driver.
Section "DRI"
  Group   "video"
  Mode    0666

All necessary steps are finished now. Save the file and leave the editor. Save also a backup copy and mark xorg.conf as read only, to avoid changes by mistake. If you restart Xorg the next time, hardware acceleration for MPEG2 decoding and 3D with GLX are available. Of course you will need suitable software packages to use it, for example "libxine1-xvmc" together with Xine. (Then use the video option "xxmc" in advanced-level Xine Setup.)

Add more screen resolutions

In the last chapter, the file /etc/X11/xorg.conf was edited only in the matter to activate MPEG2 and 3D hardware acceleration. Of course VIA CLE266 or CN400 graphics are able to display more than only VESA resolutions. Unfortunately the signal quality becomes very poor if you choose modes with a video bandwidth of more than roughly 100 MHz. So the suggestions here are preselected to avoid modes which are too painful for the eyes.

Xorg will select the fastest mode it can find for a given resolution. This will be the most flicker-free one. If you want to get sharper pictures (with more flicker), comment out these Modelines with the # sign which you do not want to be used. For example if you want to use the fine new 1024x768 modes in the list below, you have to comment out the original 1024x768 VESA mode, because its video bandwidth with 150 MHz is much higher than the best one of the list (which is 97.84 MHz).

In the modelines below the first column is the resolution and the second column is the video bandwidth.

Warning Be sure not to choose Modelines which could destroy your monitor! Some old-fashioned models do not switch off themselves if signal synchronisation fails. Read your monitor user's manual accurately and respect the given bandwidth!
  • The suggested new modelines are marked bold (fat). Some of the original VESA modelines are commented out using the # sign.
Section "Modes"
  Identifier   "Modes[0]"
  Modeline  "1280x960" 97.68 1280 1352 1488 1696 960 961 964 993
  Modeline  "1280x800" 95.95 1280 1352 1488 1696 800 801 804 832
  Modeline  "1280x800" 80.58 1280 1344 1480 1680 800 801 804 827
  Modeline  "1152x864" 93.90 1152 1224 1344 1536 864 865 868 899
  Modeline  "1152x864" 78.82 1152 1216 1336 1520 864 865 868 894
  Modeline  "1280x768" 92.15 1280 1352 1488 1696 768 769 772 799
  Modeline  "1280x768" 77.37 1280 1344 1480 1680 768 769 772 794
  Modeline  "1024x768" 97.84 1024 1088 1200 1376 768 769 772 808
  Modeline  "1024x768" 86.18 1024 1088 1200 1376 768 769 772 803
  Modeline  "1024x768" 73.89 1024 1080 1192 1360 768 769 772 799
  Modeline  "1024x768" 61.89 1024 1080 1184 1344 768 769 772 794
# Modeline  "1024x768" 150.39 1024 1104 1216 1408 768 769 772 828
# Modeline  "1024x600" 124.86 1024 1096 1208 1392 600 601 604 650
# Modeline  "1024x600" 123.96 1024 1096 1208 1392 600 601 604 650
# Modeline  "1024x600" 123.05 1024 1096 1208 1392 600 601 604 650
  Modeline  "800x600" 97.59 800 856 944 1088 600 601 604 650
  Modeline  "800x600" 96.89 800 856 944 1088 600 601 604 650
  • Finally you must decide between which resolutions you want to swap. The first one (here 1152x864) is the default resolution.
Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth 16
    Modes "1152x864" "1024x768" "800x600" "768x576" "640x480"

If all settings are finished, save the file and leave the editor. Save also a backup copy and mark xorg.conf properties as read only, to avoid changes by mistake.