Search:  
Gentoo Wiki

Samsung_Q35

This article is still a Stub. You can help Gentoo-Wiki by expanding it.

Contents

Preface

I was configuring a Samsung Q35 these days for running Gentoo on it and want so share my experiences here. The hardware itself is very nice. Two cores running at 1.6 GHz, 1 GB RAM and a good 12.1 Inch Widescreen. This all at a weight of about 2 kilogram. The performance of the two cores while compiling packages under Gentoo was astonishing. Especially as it does neither get hot nor loud. Besides, many of the Laptop-features like brightness control work from the hardware side, such that you don't have to bother about them.

Quick Overview

The following results I could achieve using gentoo-sources-2.6.17-r4.


Device Status Short description
Dual-Core-CPU Working SMP-Support and Multi-Core-Scheduler enabled in kernel
Intel 945GM VGA Controller Working DRI acceleration works, widescreen as well
Framebuffer Working vesafb-tng framebuffer selected in kernel, resolution 1280x800@60 working, splash working
Intel ICH7 Soundcard working use snd-hda-intel from the kernel (working since 2.6.22)
Broadcom BCM4401-B0 100 MBit LAN working Broadcom 4400 driver in kernel
Intel PRO/Wireless 3945ABG WLAN working
Broadcom USB Bluetooth Dongle working Broadcom Bluetooth USB driver from kernel
Firewire, USB, PCMCIA working corresponding kernel drivers and userspace utilities. PCMCIA requires "pci=assign-busses" kernel boot option.
Ricoh Cardreader for SD-Cards, Memory Stick etc. not working sdhci driver from kernel seems to be responsible and also detects something but no way to access SD-Cards (probably better using 2.6.18 with improved sdhci support)
Update:Usable in kernel 2.6.19-suspend2-r2. May cause hibernate to hang at "Doing atomic copy" phase unless the card removed from the reader
Suspend-To-Ram working Enable CPU Hotplugging in kernel (2.6.17+). No Framebuffer, only plain text console. Use Xorg 7.1. Use hibernate-ram script. Enable Vbetool. Let Vbetool do _only_ POST initialisation, _dont_ save and restore register values (patch hibernate script).
ACPI implementation okay Power-/Sleep-Button events working, LID-Event not working, Battery is recognized. Update: Lid switch is actually working fine, it has a 10s delay.
CPU Frequency Scaling working Standard kernel drivers and userspace utilities
Modem working Use net-dialup/slmodem package from portage. Need the following in /etc/conf.d/slmodem:
1) MODULE=alsa
2) HW_SLOT=modem:0
Modem can be queried by kppp after slmodem service started.

Detailed installation instructions

LinuxStats

The most important parts of my configuration can be looked up at linux-stats.org

Kernel

See my kernel config file. It is for gentoo-sources-2.6.17-r8 and should provide a good point to start from.

Framebuffer

Select the following options in the kernel

Linux Kernel Configuration:
Device Drivers --->
   Graphics support --->
      <*> Support for framebuffer devices
      <*> VESA VGA graphics support
         VESA driver type (vesafb-tng) --->
      (1280x800@60) VESA default mode

And use the following command line in your grub.conf

File: /boot/grub/grub.conf
title  Gentoo - current kernel
root   (hd0,5)
kernel /kernel_current video=vesafb:ywrap,1280x800-32@60 root=/dev/hda7

This conf-file is NOT for splash.

Question: what would be necessary to set the fb splash in the beginning of the boot process? Using vesafb-tng and an initrd containing images with 1280x800 won't show the picture on bootup, VGA = 866 is not recognized as working VGA Mode by lilo.

Graphics Card

See this HowTo.

Sound card (hda-intel)

The soundcard is straight forward for newer kernels (>=2.6.22):

Linux Kernel Configuration:
<*> Sound card support
    Advanced Linux Sound Architecture  --->
        <*> Advanced Linux Sound Architecture
               PCI-Devices --->
                     <*> Intel HD Audio

However, a good resource for soundcard issues is link Gentoo-Alsa-guide.

Note: you have to unmute the devices you want to use. If you want to unmute a microphone, start alsamixer and hit Tab which brings you to the capture device controlers.

Intel PRO/Wireless 3945ABG WLAN

See this guide.

Suspend to Ram

Not tested, but try out the sys-kernel/suspend2-sources for advanced suspension capabilities.

ACPI

as said above, power button and sleep button events work, while lid-close-event doesnt (nevertheless the LCD is switched off from the hardware side). The battery works pretty well and you can use my script to query the battery state; just move it to /bin/ or whereever you want and it will be fine:

File: /bin/battery_state
#!/bin/bash
if  [[-n `/bin/grep yes /proc/acpi/battery/BAT1/state `]] 
        then
        echo "remaining capacity: $(( `/bin/grep remaining /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/...$//'`/48 ))%"
        echo "estimated duration: $(( (`/bin/grep remaining /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/...$//'` * 60) / `/bin/grep rate /proc/acpi/battery/BAT1/state | /bin/sed -e 's/^.*:\ *//' -e 's/..$//'` )) min"
else
        echo "battery not present";
fi

Don't forget to make it executable:

chown root:root /bin/battery_state
chmod 755 /bin/battery_state

CPU frequency scaling

CPU frequency scaling works out of the box after activating the relevant modules in the kernel.

Linux Kernel Configuration:
Power management options (ACPI, APM)  --->
   CPU Frequency scaling  --->
      [*] CPU Frequency scaling
         Default CPUFreq governor (performance)  --->
      <*>   'powersave' governor
      <*>   'userspace' governor for userspace frequency scaling
      < >   'ondemand' cpufreq policy governor
      <*>   'conservative' cpufreq governor
      <*>   Intel Enhanced SpeedStep

If you want your box to power up with performance governor but after boot continue in conservative mode, do the following:

echo "cpufreq-set -g conservative" >> /etc/conf.d/local.start
Retrieved from "http://www.gentoo-wiki.info/Samsung_Q35"

Last modified: Wed, 10 Sep 2008 04:36:00 +0000 Hits: 12,892