|
SuSE 8.2 on the Sony Vaio U1
Update: Update: Disclaimer: See also:
I love SuSE. They consistently roll out a quality distribution that just keeps getting better. Installing 8.2 on the U1 is a doddle thanks to their hard work and I heartily recommend that you buy a copy of their software even if you follow the instructions here and perform an FTP install. My previous Kondara install was basically left unsupported when Kondara ceased their distribution, so I decided to upgrade the OS to something that I could keep relatively up to date - SuSE 8.2 comes with YaST and its excellent software installation interface which should be able to keep the machine pretty current for the forseeable future. Here's a screenshot of my desktop. This is running KDE 3.1.1 with a few post-installation tweaks .. I installed Microsoft's Tahoma font from my Windows partition. The MacOS style dock is available here, with patches available here and the Mac style dropshadow is a window decoration available here. I've also applied the animated keramic patch available here. If you're using KDE, you really should take a look at www.kde-look.org for some excellent themes, icons, GUI impovements etc. Installation As with Kondara, I booted my U1 from a floppy disc and then performed an FTP install. I decided to mirror the SuSE FTP distribution to my dekstop PC and then perform an FTP install using that as my FTP server. It's really that simple. Simply copy everything from (e.g.) ftp://ftp.mirror.ac.uk/sites/ftp.suse.com/pub/suse/i386/8.2 to your FTP server. Obviously, this will take a while as you're downloading every possible package, but I like to have a local copy of everything so that I can perform other installs should I need to. Next, grab yourself some floppy discs. Within the SuSE FTP distibution is a directory called 'boot' that contains floppy images that can be written to disc to make a boot disc and various driver discs. Instructions are in the boot/README file. I only needed the 'bootdisk', 'modules1', 'modules3' and 'modules4' discs. Plug in the floppy drive, insert the 'bootdisk' and power up. When you see the SuSE installation menu, hit F2 to select 1024x768 resolution, and then choose 'Installation'. You'll see the message 'Loading Linux kernel' - this takes a while to complete. The machine will start the SuSE installation program and report that it's detected a 'i82365' PCMCIA chipset before prompting you to insert the 'modules4' floppy so that it can load the appropriate driver. Next you get to choose the language and keymap - the option to select a Japanese keyboard doesn't present itself at this point, but you can change that further along the installation process. Choose a US or UK keyboard layout for the time being. Now select 'Load hardware modules' and 'Network adapters', insert the 'modules3' disc and then select the 8139too driver. Go back through the menus and select 'Start installation / system', and then 'Start Installation / update'. Choose a network install, choose FTP, configure your card (the DHCP option works fine if you have a DHCP server on your LAN), enter the IP address for your FTP server, enter the login details for the FTP server if you don't want to use anonymous access, and finally enter the path to the SuSE FTP files on your server. NB: When the YaST GUI starts you should find that your pointing stick is already working. Select your langauge. I was then prompted to load drivers for 'usb_storage', 'sbp2' and 'lvm_mod' - I simply OKd everything. Choose 'new installation' - the install process will chug away for a little while. On the confirmation page, change the selected keyboard layout to Japanese and then, if you like, override the default software selection. OK everything and then sit back, or go and get a cup of coffee as SuSE is installed. Post-installation ACPI First and foremost, I found ACPI simply wasn't working, which is a bit of a show stopper for a laptop. After spending many fruitless hours trying to compile a new kernel, I eventually discovered that acpid was not running and was not configured to start or stop at any runlevel. The easiest way to fix this is to use YaST. Start the YaST control centre, click on 'system', then 'runlevel editor' and then enable acpid for every runlevel (make sure that YaST doesn't reset your default runlevel to 'S'!). When acpid starts it loads the required ACPI modules and you're good to go. The ACPI daemon uses /etc/sysconfig/powermanagement to configure itself. The default settings seem to work OK, the only change I made was to get the machine to shutdown when I pressed the power button. Sadly, standby, suspend and hibernate are not available with 2.4.x kernels, but at least the lid shutting and opening is handled as follows: Execution action throttle for event button/lid LID 00000080 00000001 CLOSE CPU0: performance=-1 throttling=-1 limit=-1:-1 Setting /proc/sys/vm/bdflush to 50 500 0 0 500 3000 60 20 0 Execution action dethrottle for event button/lid LID 00000080 00000002 OPEN CPU0: performance=0 throttling=0 limit=0:0 /dev/hda: setting standby to 0 (off) Setting /proc/sys/vm/bdflush to 50 500 0 0 500 3000 60 20 0 When I get a chance I'll see how long the machine can stay in this state on a fully charged battery. OK, I was sufficiently bored to plot some battery and temperature information. The graphs below (click for a larger version) represents readings taken every 5 seconds over the course of an hour and a quarter. The battery was initially 99% charged and, according to my battery script, had enough juice left to continue running for about 2 hours. Before starting recording I issued an init 3 to stop X and I left the LCD brightness at its highest level. After a few minutes I reduced the panel brightness to 0 and you may notice that the graph becomes very slightly less deep just past marker '1', the battery monitor was reporting a little over 2.5 hours to run here. 10 minutes later I closed the laptop lid - the effect is difficult to see on the chart, but the battery monitor was now reporting 2.75 hours to run. At point '2' on the chart I issued an init 5 to restart X and KDE and set the LCD to full brightness. And then I started XMMS. You can see the temperature was going up and down as the CPU load changed. At point '3' I started an OpenGL visualisation for XMMS. I have no OpenGL acceleration so the CPU was stuck at 100% and you can see the battery drain increased significantly (with around 1 hour of battery power left) and the temperature rose quickly. At point '4' I closed the lid (66 minutes remaining). you can see the battery drain drop, although the temperature continued to rise. At point '5' I re-opened the lid and messed around with KDE for a while before killing XMMS just before point '6'. At point '6' I issued another init 3 and plugged the AC adapter back in - by this point the battery charge was down to exactly 50% capacity. The results indicate that, sitting idle, the U1 will run for around 3 hours on a fully charged standard capacity battery, which is pretty much what I estimated to be the case with my previous Linux installation. DRI Direct rendering for X can be enabled relatively simply. Make sure that you have a "load dri" entry in the modules section of your XF86Config (see below), and comment out the following lines in /etc/modules.conf .. pre-install radeon /sbin/modprobe "-k" "agpgart" options agpgart agp_try_unsupported=1 You should find that the radeon module is loaded when you get to run level 5. In X, start a terminal and try glxgears, if you see a frame rate of 300fps or more, it's working - you can confirm this by looking at the output of glxinfo. If this doesn't work for you, try adding .. Option "ForcePCIMode" "true" .. to the driver section of your XF86Config. sonypi SuSE 8.2 installs the sonypi driver but they've patched it so that it sends scroll up, down and click events from the jogdial directly to the mouse subsystem. If that's all you ever want to do with it, no further effort is required. But, if you want to use sjog, or my U1jog, you'll find that this behaviour is very annoying because as you scroll up or down your application list, or select an option from the list, the mouse events are still being sent to whichever window has the focus. Since the jogdial click is configured to send a mouse chord click, this can paste the contents of the X buffer into, e.g., a terminal or text editor which can be really annoying. Luckily, you can turn off the default behaviour by using the 'useinput' parameter with sonypi. Simply edit your /etc/modules.conf and look for a line like this .. options sonypi minor=250 and change it to look like this .. options sonypi minor=250 useinput=0 Some of the event codes generated by sonypi have changed, so my original U1jog program will no longer work properly. A new version can be downloaded here. Sound YaST detects and configures the soundcard to some extent, but on my machine that meant the headphone socket was working while the internal loudspeaker was not. In the past I've found alsaconf to be very useful at fixing problems like this, but that didn't get me anywhere this time around. However, the solution was simple and, with the benefit of hindsight, obvious. My previous install on this machine worked fine, so I deleted all of the alsa related material in /etc/modules.conf and replaced it with the single line: alias sound-slot-0 trident After a reboot the loudspeaker was working along with the headphones ;-) NB: Both 'zoom' programs on my other page still work correctly. I've added 'idebus=50' to my /boot/grub/menu.lst entry. Sony Memorysticks can be mounted and unmounted as follows.. mount -t vfat /dev/sda1 /mnt/memstick/ umount /dev/sda1 assuming that you've created the /mnt/memstick directory. NB: I use a USB scrollwheel mouse. I've tweaked the XF86Config file to allow me to use either the internal pointing stick, or the mouse, or both together. My XF86Config file can be found below. You can still use spicctrl to adjust the screen brightness, but longrun doesn't work 'out of the box'. mount SuSE creates a mount point, /windows/C, and an entry in /etc/fstab so that you can mount the Windows partition. Unfortunately, the entry in fstab looks like this .. /dev/hda1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=iso8859-1 0 0 .. and you won't be able to "see" any directories comprised of Japanese characters. I've changed my fstab so that the entry for the Windows partition looks like this .. /dev/hda1 /windows/C ntfs ro,users,gid=users,umask=0002,iocharset=utf8 0 0 Then you can start an xterm like this .. LC_CTYPE=ja_JP.UTF-8 xterm -u8 -fn "-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1" -fw "-misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1" .. and see the Katakana etc. BTW, I had to break the above command onto two lines to stop it screwing up the page layout - it's actually just a one-liner. Changing into directories with Japanese names is a bit tricky, but you can use mc or konqueror and guess which directory is which ;-) What works, and what doesn't Working
Untested
Caveats
karamba
I wrote a theme for superkaramba, available here. Config files My XF86Config file looks like this. There are two entries for two mice (the pointing stick and a USB scroll mouse). I've also added 800x600 and 640x480 modes for my u1zoom programs. # SaX generated XFree86 config file # Created on: 2003-05-23. # # Version: 4.7 # Contact: Marcus Schaefer , 2002 # # Automatically generated by [ISaX] (4.7) # PLEASE DO NOT EDIT THIS FILE! # Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/local" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/PEX" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/latin2/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/latin2/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/latin2/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/latin2/Type1" FontPath "/usr/X11R6/lib/X11/fonts/latin7/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/baekmuk:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/japanese:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/kwintv" FontPath "/usr/X11R6/lib/X11/fonts/truetype" FontPath "/usr/X11R6/lib/X11/fonts/uni:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/CID" FontPath "/usr/X11R6/lib/X11/fonts/ucs/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/ucs/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/ucs/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/hellas/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/hellas/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/hellas/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/hellas/Type1" FontPath "/usr/X11R6/lib/X11/fonts/misc/sgi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/xtest" InputDevices "/dev/ttyS0" InputDevices "/dev/ttyS1" InputDevices "/dev/ttyS2" InputDevices "/dev/ttyS3" InputDevices "/dev/ttyS4" InputDevices "/dev/ttyS5" InputDevices "/dev/ttyS6" InputDevices "/dev/ttyS7" InputDevices "/dev/ttyS8" InputDevices "/dev/psaux" InputDevices "/dev/logibm" InputDevices "/dev/sunmouse" InputDevices "/dev/atibm" InputDevices "/dev/amigamouse" InputDevices "/dev/atarimouse" InputDevices "/dev/inportbm" InputDevices "/dev/gpmdata" InputDevices "/dev/mouse" InputDevices "/dev/usbmouse" InputDevices "/dev/adbmouse" InputDevices "/dev/input/mice" InputDevices "/dev/input/event0" InputDevices "/dev/pointer0" InputDevices "/dev/pointer1" InputDevices "/dev/pointer2" InputDevices "/dev/pointer3" EndSection Section "ServerFlags" Option "AllowMouseOpenFail" EndSection Section "Module" Load "glx" Load "dbe" Load "extmod" Load "freetype" Load "v4l" Load "type1" Load "speedo" Load "dri" EndSection Section "InputDevice" Driver "Keyboard" Identifier "Keyboard[0]" Option "MapName" "Japanese Keyboard [ jp106 ]" Option "Protocol" "Standard" Option "XkbLayout" "jp" Option "XkbModel" "jp106" Option "XkbRules" "xfree86" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[1]" Option "Device" "/dev/mouse" Option "Emulate3Buttons" "on" Option "Name" "Autodetection" Option "Protocol" "ps/2" Option "Vendor" "Sysp" EndSection Section "InputDevice" Driver "mouse" Identifier "Mouse[3]" Option "Device" "/dev/input/mice" Option "InputFashion" "Mouse" Option "Name" "USB-Mouse;IMPS/2" Option "Protocol" "imps/2" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" HorizSync 31-48 Identifier "Monitor[0]" ModelName "1024X768@60HZ" Option "DPMS" VendorName "--> VESA" VertRefresh 50-60 UseModes "Modes[0]" EndSection Section "Modes" Identifier "Modes[0]" Modeline "1024x768" 62.35 1024 1056 1184 1312 768 772 776 792 -HSync -VSync EndSection Section "Screen" DefaultDepth 16 SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection Section "Device" BoardName "Radeon LY" BusID "0:12:0" Driver "radeon" Identifier "Device[0]" Screen 0 VendorName "ATI" Option "ForcePCIMode" "true" EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[3]" "SendCoreEvents" Option "Clone" "off" Option "Xinerama" "off" Screen "Screen[0]" EndSection Section "DRI" Group "video" Mode 0660 EndSection |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||