I have installed the Fedora Core 1 Linux distribution with few additional RPMs from freshrpms.net. Here is my package list. I use GNOME as my personal desktop. It has pretty standard configuration except that my window manager is Sawfish with the blue-steel theme and my WWW browser is Galeon. There should not be a problem with other Linux distributions - we have tested Mandrake 9.2 as well.
I have decided to move to the 2.6 kernel - the latest-greatest kernel at the time of writing is 2.6.0-test11. Here is my kernel configuration (you can copy this to /usr/src/linux-2.6_version_/.config and run make oldconfig command.
The 2.6 kernel has pretty good ACPI support, and it works with C-1020. I have not fully tested all the features, but I can read the CPU temperature from /proc/acpi/thermal_zone/TZN0/temperature, read the battery status from /proc/acpi/battery/BAT0/state (GNOME has a nice battstat-applet-2 applet which works even with the 2.6 kernel).
The software suspend-to-disk works OK for me. I have configured that the system suspends itself when I press the "power on/off" button. You need to have the ACPI support in kernel (see above for my kernel config), run acpid (included in Fedora Core 1), create the /etc/acpi/events/power file with the following contents:
event=button/power.*Then add the "resume=/dev/hda<your_swap_partition>" parameter to the "kernel" line in your /boot/grub/grub.conf file. See also the Documentation/power/swsusp.txt file in the kernel sources.
action=/bin/echo 4 >/proc/acpi/sleep
This laptop ACPI implementation can also report when you close the lid, but I have yet to come with an useful action I want to do when the lid is closed (HDD spin-down, maybe).
The keyboard has four special buttons labeled A, B, WWW, and E-mail. It seems they send scancodes that are not known to the atkbd.c driver. Vojtech Pavlik sent me some hints on how to make them work, but I have not tested it yet.
The NumLock/ScrollLock key sets the NumLock status and Fn+NumLock/ScrollLock sets ScrollLock status.The Fn key allows to set various parameters of the display and so on. Here is the listing of the Fn key combinations:
The C-1020 is equipped with S3 ProSavage8 KM266 (aka ProSavage DDR-K, PCI ID 5333:8d04) graphics, with the framebuffer shared with the main memory, and 1024x768 TFT display. Here is my /etc/X11/XF86Config (beware: note the Czech keyboard layout and the special section for the touchpad - see bellow). There is currently no accelerated 3D/DRI support for this chip, so there is no need to have AGP-GART and DRI support compiled in kernel.
The graphics works OK in the RGB mode and has working XVideo support - YUV overlay for displaying and scaling data in the YUV colorspace (such as movies). Here is the xvinfo output. I use MPlayer multimedia player.
The external VGA output works - both as the simultaneous LCD+VGA output and the VGA-only output. I have not tried to change the X configuration to achieve better refresh rates on the external VGA. In text console my monitor (Viewsonic GT775) had problems with synchronization when in VGA-only mode (LCD+VGA worked well). See also the keyboard section above for the graphics-specific keys. Beware, switching to TV-out (S-Video) or CRT works only when the appropriate output device is connected.
You can switch the video output between the LCD, CRT and TV-out (including the setting of the TV-out between PAL, NTSC, and NTSC-J) using th s3switch utility from the Savage XFree86 driver page. I have built RPM packages for Fedora Core 1 - you can find it in my FTP directory.
The DPMS display power-saving when idle does not work for me - the display blanks, but stays on.
The touchpad works OK in plain PS/2 mode as two-button PS/2 mouse (you can use the Emulate3Buttons in the X configuration) to get the middle button.
With "Synaptics TouchPad" driver compiled into your kernel and standard PS/2 mode middle scroll buttons (up/down) will work as left/middle button.
More complete support for this touchpad provides the Synaptics touchpad driver. Compile the kernel with CONFIG_MOUSE_PS2_SYNAPTICS=y option, get the driver source from the above link, compile it and install according to the included instructions, and configure it in your XF86Config file (see also my own XF86Config). I had to change the following two parameters from the defaults to obtain working middle button emulation (by taping the upper right corner of the touchpad):
Option "EmulateMidButtonTime" "1000"
Option "RightEdge" "5000"
The CD drive is detected as /dev/hdc on Linux. I have tested reading CDs, burning CD-RW and blanking CD-RW. I did not use the ide-scsi interface from Linux 2.4, but I tried the direct IDE access (the "-dev=/dev/hdc" option in cdrecord) instead. I have cdrecord-2.01-0.a19.2 from Fedora Core 1. The drive also works in the burnfree mode, and supports DAO (disk-at-once) as well as TAO (track-at-once) mode (I have tested TAO only).
I have not tried to read any DVDs yet, and I have not tried the RPC-1 (region-free) firmware. The rpc1.org pages may provide a good starting point.
CONFIG_SND=yThe laptop has line-out 3.5mm jack (for headphones, works OK), microphone-in 3.5mm jack (works OK), built-in stereo speakers (OK, but the sound quality corresponds to their small size), and S/PDIF optical output (not tested). The optical output port is opened with no cap on it :-(.
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_VIA82XX=y
The infrared port is detected by Linux as /dev/ttyS1 - it is NS16550A (National Semiconductor hi-speed serial port) and works in FIR mode. You need "NSC PC87108/PC87338" support in kernel (CONFIG_NSC_FIR=m which needs CONFIG_ISA=y) and "irda-tools" package. There are problems after swsuspend when your kernel has built-in serial driver (due to initial "grabing" of io-ports). Therefore it is better to have serial driver built as module.
Add configuration to /etc/modprobe.conf
alias irda0 nsc-ircc(If you have older modutils which uses /etc/modules.conf change install and remove commands to appropriate {pre,post}-{install,remove} commands.)
# for 2.4.x kernels you may need uncomment next line
#options nsc-ircc io=0x2f8 irq=3
# before instaling nsc-ircc we need init serial driver but "switch off"
# uart and release io port from /dev/ttyS1
install nsc-ircc /sbin/modprobe 8250; /sbin/modprobe --ignore-install nsc-ircc
remove nsc-ircc /sbin/modprobe -r --ignore-remove nsc-ircc ; /sbin/modprobe -r 8250
# serial driver
alias char-major-4 8250
install 8250 /sbin/modprobe --ignore-install 8250 ; /bin/setserial /dev/ttyS1 uart none port 0x0
Modify /etc/sysconfig/irda
IRDA=yesand simply start irda service (service irda start).
DEVICE=irda0
DISCOVERY=yes
Due to swsuspend/resume issue I need to modify /etc/acpi/events/power file for removing nsc-ircc module before swsuspending:
event=button/power.*
action=(/sbin/service irda stop; /sbin/modprobe -r nsc-ircc ; /bin/echo 4 >/proc/acpi/sleep)
Modem is a Conexant HSF softmodem. Tgz and rpm driver (hsfmodem-6.03.00lnxt03112100free-1.i386.rpm) can be obtain at http://www.linuxant.com/. There are free version of the driver limited to 14.4Kbps data only and full (commercial) version with 56K modem and FAX functionality.
Informations provided by hsfconfig --info:
Config for modem unit 0: /dev/ttySHSF0 Device instance: 0-PCI-1106:3068-10cf:118e HW revision : CXT29 HW profile name: hsfmc97via Registration ID: shown in full version only Current region : CZECH (T.35 code: 002E)