View previous topic :: View next topic |
Author |
Message |
c_t n00b
Joined: 29 Oct 2003 Posts: 36 Location: Berlin, Germany
|
Posted: Sun Jul 04, 2004 5:57 pm Post subject: Gentoo on Samsung X30 WVC 1500 Notebook (Howto & Discuss |
|
|
This topic is no longer beeing updated, you will find the most recent Version in the gentoo-wiki!
Gentoo on Samsung X30
Announcements:
I'd be very pleased if some more X30-owners could contribute their experiences with s3 resum to this bug:
http://bugme.osdl.org/show_bug.cgi?id=3203 Thanks!!
Updates:
- 2005-02-06: Changed some things concerning Kernel & ACPI, especially acpid-config
- 2004-11-17: Added links at the end of this howto
- 2004-11-09: Added changes concerning new Kernel: gentoo-dev-sources-2.6.9-r1
In March 2004 I bought a new Samsung X30 Laptop. It is a pretty nice machine, very silent, fast, very good widescreen-display, not too heavy and its design definately has style.
The first thing I did was to fire up the pre-installed Windows XP to start the long way of a gentoo installation.
Most things work perfectly right now, but there are still some limitations. So if anyone has any suggestions how to fix any of the problems I'll mention, feel free to post it right here.
So now let's begin. I'll just write down the problems I was confronted with during the installation and which solutions I found.
Table of Contents
1. Installation
1.1 Basic install
1.2 x.org install
2. Hardware Support
2.1 Network
2.2 WLAN
2.3 Powersaving and ACPI
2.4 USB
2.5 FireWire
2.6 Touchpad
2.7 Special-Keys
3. Extra-Tuning
3.1 Gensplash / Frambuffer-Console
4. Resources
1. Installation
1.1 Basic installation
The basic installation of gentoo works without problems. Just follow the installation-guide on www.gentoo.org/doc. To benefit from the full performance of my Pentium M and to optimize the code I use the following CFLAGS which I found somewhere on the net. I also set a lot of USE-flags which you perhaps do not need:
/etc/make.conf
Code: |
USE="acpi alsa avi cups curl dga dvd encode ethereal fbcon gd gif gphoto2 gpm -gtk -gnome imagemagick imap innodb jpeg junit kde kerberos lcms lirc maildir mmx mozilla mpeg mpi mysql oggvorbis opengl pam pcmcia plotutils png pnp qt quicktime samba sasl scanner sdl slp snmp socks5 sse ssl tiff truetype trusted usb wmf X xinerama xml zlib x86 -apm -arm -alpha -berkdb -slang -sparc"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -pipe -O2 -fomit-frame-pointer -fforce-addr -frename-registers -fprefetch-loop-arrays -falign-functions=64"
CXXFLAGS="${CFLAGS}"
|
I currently use gentoo-dev-sources-2.6.10-r6. There are still some problems with the Standbymodes in that release, I hope they will fix that soon (it's a known issue). Despite of that they work really fine!
1.2 x.org installation
First of all you best follow the desktop configuration guide which can be found in the documentation section of gentoo.org. BTW: I decided to switch to x.org, it works perfectly!
So after you have emerged xorg-x11 you need to install the video drivers:
Code: | $ ACCEPT_KEYWORDS="~x86" emerge nvidia-kernel nvidia-glx |
I first didn't really know how to configure my X-Server, since the resolution of 1280x800 is not so common but I fortunately found hendrik_x30 in this forum who gave me his working XF86Config / xorg.conf. If you're interested in my config file have a look at the second post down in this topic. Note that it will not work with the Samsung X30 WVC1700 since it has a higher resolution.
Now copy my xorg.conf to /etc/X11/. If you are sure that you have setup everything according to the guide you can try to start the x-server:
Now you should see a nice Nvidia-Logo and the x-session you previously defined in /etc/rc.conf should be started. I currently use KDE-3.3.0 which works just fine for me.
If everything is working you can now add your loginmanager to the default runlevel. In my case this is kdm:
Code: | $ rc-update add kdm default |
Ok, X is running, but now we can start the tricky part on a graphical interface which is much more comfortable than always googeling the web with lynx .
2. Hardware Support
Before you proceed be sure to have module support activated in the kernel:
Code: |
Loadable module support --->
[*] Enable loadable module support
[*] Module unloading
[*] Automatic kernel module loading
|
2.1 Network
The Broadcom Corporation BCM4401 100Base-T ethernet controller is supported by the kernel:
Code: |
Device Drivers --->
Networking support --->
[*] Networking support
[*] Network device support
Ethernet (10 or 100Mbit) --->
[*] EISA, VLB, PCI and on board controllers
<*> Broadcom 4400 ethernet support (EXPERIMENTAL)
|
I saw no need to compile this as a module. You can now configure eth0 in /etc/conf.d/net and add it to the boot-runlevel.
2.2 WLAN
I am currently using the the ipw2100 drivers from http://ipw2100.sourceforge.net , which work already pretty fine. They are also in the portage tree:
Code: |
$ emerge net-wireless/wireless-tools
$ ACCEPT_KEYWORDS="~x86" emerge net-wireless/ipw2100
|
To configure my WLAN I'm usign the wireless-config ebuild. You can find a good description of how it works in another thread.
2.3 Powersaving and ACPI
OK, welcome to the probably most tricky chapter of this howto. Let's start with the configuration of the SpeedStepping-Functions since this is not so complicated. We will configure ACPI later.
2.3.1 Speedfreq
First you should install the necessary software:
Code: |
emerge sys-apps/speedfreq
|
Now you have to enable speedstepping in you kernel:
Code: |
Power management options (ACPI, APM) --->
[*] Power Management support
CPU Frequency scaling --->
[*] CPU Frequency scaling
Default CPUFreq governor (userspace) --->
<*> 'performance' governor
<*> 'powersave' governor
[*] /proc/sys/cpu/ interface (2.4. / OLD)
<*> CPU frequency table helpers
--- CPUFreq processor drivers
<*> Intel Enhanced SpeedStep
|
Now lets have a look at the config-file located in /etc/conf.d/speedfreq :
Code: |
SPEEDFREQ_SPEED="dynamic"
SPEEDFREQ_OPTS=""
#SPEEDFREQ_USERS="yes"
|
If it looks like this you're done! Start the speedfreqd with /etc/init.d/speedfreq start . You can now control the speedfreqd using the tool speedfreq. You shouldn't forget to rc-update add speedfreq boot .
2.3.1 ACPI
This was the part on which I lost hours and hours... But finally I've got it working!
I actually can use nearly every ACPI-Feature except the Standby-Modes. None of them works right now, neither S1 nore S3. I think S4 can be set up with PM_DISK but I didn't try that yet.
First it is a good thing to upgrade to the latest BIOS-Version (I'm running UE05 at the moment). Just get the CD-Image or wahtever from samsungpc.com and follow the instructions described there.
Unfortunately also the new BIOS still comes with a broken DSDT so you have to follow the great howto in this forum to fix the DSDT or if you're too lazy just download my fixed one from: acpi.sourceforge.net
A fixed DSDT for the "big brother" of this laptop, the WVC 1700, can also be found there.
The new 2.6.9-kernel brings built-in-support for custom-DSDT-loading! Just check the following:
Code: | cd /usr/src/linux
make menuconfig | In Device Drivers ---> Generic Driver Options ---> make sure that it looks like this:
Code: | [ ] Select only drivers that don't need compile-time external firmware
[*] Prevent firmware from being built
<*> Hotplug firmware loading support |
Recompile the kernel and now all needed options for ACPI-Support can be activated in the kernel config (I renamed the dsdt.hex-file to acpi_dsdt.h and placed it in /usr/src/ct!!!):
Code: |
Power management options (ACPI, APM) --->
[*] Power Management support
[*] ACPI Support
[*] Sleep States (EXPERIMENTAL)
<*> AC Adapter
<*> Battery
<*> Button
<*> Video
<*> Fan
<*> Processor
<*> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
< > Toshiba Laptop Extras
[*] Include Custom DSDT
(/usr/src/ct/acpi_dsdt.h) Custom DSDT Table file to include
(0) Disable ACPI for systems before Jan 1st this year
[*] Debug Statements
[*] Power Management Timer Support
|
Recompile and install the kernel.
Finally, don't forget to install the acpid and to edit /etc/acpi/events/default to your needs:
Code: |
$ emerge acpid
$ /etc/init.d/acpid start
$ rc-update add acpid boot
|
Now we can continue by tweaking the acpid a little bit. Since I'm using KDE and the suspend-modes aren't working yet, I wanted the following things to work:
- When I close the lid, the screen should be turned off (dpms) and my kde-session should be locked
- When I press the power-button, the KDE-Logout-menu where you can choose between "End session", "Turn off" and "Restart" should be displayed.
To realize this neuron from this forum helped me out and I changed /etc/acpi/default.sh to the following (wherever you find "ct" in this script, change it to your local username):
Code: | #!/bin/sh
# Default acpi script that takes an entry for all actions
set $*
group=${1/\/*/}
action=${1/*\//}
case "$group" in
button)
case "$action" in
# open kde-logout-screen
power)
if pidof X &>/dev/null; then
if su ct -c "DISPLAY=:0.0 /usr/kde/3.3/bin/dcop kdesktop" &>/dev/null; then
su ct -c "DISPLAY=:0.0 /usr/kde/3.3/bin/dcop kdesktop KDesktopIface logout"
for a in 1 2 3 4 5 6 7 8 9 10
do
sleep 2
if pidof gdmgreeter &>/dev/null; then
sleep 5
/etc/init.d/xdm stop
chvt 1
sync
#halt
exit
fi
done
exit
fi
fi
halt
;;
# lock screen on lid close
lid) if pidof X &>/dev/null; then
su ct -c "REMOTEHOST= DISPLAY=:0.0 /usr/X11R6/bin/xset dpms force off" # suspend display
su ct -c "REMOTEHOST= DISPLAY=:0.0 /usr/kde/3.3/bin/dcop kdesktop KScreensaverIface lock" # lock screen
fi
logger "lid switch"
#echo -n "standby" > /sys/power/state
;;
# suspend notebook to s3
sleep) logger "sleep state"
echo -n "standby" > /sys/power/state
;;
# no event
*) logger "ACPI action $action is not defined"
;;
esac
;;
*)
logger "ACPI group $group / action $action is not defined"
;;
esac |
Note: If you have a very recent Version of pam running on your system you may have to uncomment the following lines in /etc/security/pam_env.conf:
Code: | #REMOTEHOST DEFAULT= OVERRIDE=@{PAM_RHOST}
#
# Set the DISPLAY variable if it seems reasonable
#DISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY} |
2.4 USB
[...]
2.5 FireWire
[...]
2.6 Touchpad
[...]
2.7 FN-Keys
Rest-Button (FN + Esc)
This button produces the acpi-event button/sleep SLPB and can be configured using acpid.
Battery Level (FN + F2)
Button makes raw bios calls and works out of the box.
LCD/CRT (FN + F4)
I was not able to get this button work, yet.
Mute (FN + F6)
See volume keys below.
Numlock (FN + F11) & Scroll Lock (FN + F12)
Again raw bios calls, they always work.
Display Brightness (FN + Uparrow / FN + Downarrow)
Again raw bios calls, they always work.
Volume Keys (FN + Leftarrow / FN + Rightarrow / FN + F6)
They send standard keycodes which you can read-out using xev.
KDE: I used Xmodmap to get the FN-Volume-Keys working. Simply create a File named Xmodmap wherever you like (I put it into /etc/X11) with the following content:
Code: | keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute |
Now you have to execute xmodmap /etc/X11/Xmodmap & on every KDE-startup. For this reason I added a start-script ~/.kde/Autostart/xmod-start.sh with the content:
Code: | #!/bin/bash
xmodmap /etc/X11/Xmodmap & |
Gnome: Go to 'Desktop preferences' -> 'Keyboard shortcuts' and set the shortcuts by pressing the appropriate fn-key-combos for 'volume mute/down/up' (hex-codes are 0xa0, 0xae, 0xb0) in the dialog box.
3. Extra Tuning
3.1 Gensplash / Frambuffer-Console
I found this nice toturial which describes very well, how to get the gensplash framebuffer console up and running. Simply have a look at this thread.
As kernel-parameters in my grub.conf I use:
Code: | video=vesafb:ywrap,pmipal,mtrr,1024x768-32@60 splash=verbose,theme:emergence |
4. Resources
http://www.debianforum.de/forum/viewtopic.php?t=34600
http://bugme.osdl.org/show_bug.cgi?id=3203
Last edited by c_t on Thu Feb 17, 2005 7:18 pm; edited 16 times in total |
|
Back to top |
|
|
liamX30 n00b
Joined: 09 Aug 2004 Posts: 2
|
Posted: Thu Aug 12, 2004 12:10 am Post subject: Re: Gentoo on Samsung X30 WVC 1500 Notebook (Howto & Dis |
|
|
c_t wrote: |
2.7 FN-Keys
[...] |
howto make the volume control keys work in gnome 2.6.2:
go to 'desktop preferences' -> 'keyboard shortcuts' and set the shortcuts by pressing the appropriate fn-key-combos for 'volume mute/down/up' (hex-codes are 0xa0, 0xae, 0xb0) in the dialog box.
done so, each time you press those fn-shortcuts, gnome shows a gui-element showing the current volume level and status (mute|unmute) |
|
Back to top |
|
|
c_t n00b
Joined: 29 Oct 2003 Posts: 36 Location: Berlin, Germany
|
Posted: Mon Oct 04, 2004 7:55 pm Post subject: xorg.conf |
|
|
This is my working xorg.conf file with Synaptics-Touchpad-Support. TV-Out- and Twin-View don't work yet.
Code: | Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
ModulePath "/usr/X11R6/lib/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/Speedo"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/CID"
FontPath "/usr/share/fonts/75dpi"
FontPath "/usr/share/fonts/100dpi"
FontPath "/usr/share/fonts"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/local"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/ukr"
FontPath "/usr/share/fonts/encodings/"
FontPath "/usr/share/fonts/util/"
FontPath "/usr/local/share/fonts"
EndSection
Section "ServerFlags"
AllowMouseOpenFail # allows the server to start up even if the mouse doesn't work
#DontZap # disable <Crtl><Alt><BS> (server abort)
DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
EndSection
Section "Module"
Load "dbe" # Double-Buffering Extension
#Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "speedo"
Load "freetype"
Load "glx"
Load "synaptics" # touchpad
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
#Option "XkbVariant" "nodeadkeys"
#Option "XkbOptions" ""
EndSection
Section "InputDevice"
Identifier "USBMouse"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/usbmouse"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "SynapticsMouse"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "Buttons" "5"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
#Option "Repeater" "/dev/ps2mouse"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Generic"
ModelName "Flat Panel 1280x800"
HorizSync 31.5-100
VertRefresh 59-76
Option "IgnoreEDID" "1"
Modeline "1280x800" 83.91 1280 1312 1624 1656 800 816 824 841
# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
EndSection
Section "Device"
Identifier "NvidiaGFX"
Driver "nvidia"
Option "NvAGP" "1"
Option "DPMS"
#Option "TwinView"
#Option "UseEdidFreqs" "on"
#Option "SecondMonitorHorizSync" "30-50"
#Option "SecondMonitorVertRefresh" "60"
#Option "MetaModes" "1024x768, 1024x768; 800x600, 800x600; 640x480, 640x480;"
#Option "TVStandard" "PAL-B"
#Option "NoLogo" "on"
#Option "TwinView" "on"
#Option "TwinViewOrientation" "RightOf"
#Option "SecondMonitorHorizSync" "range(s)"
#Option "SecondMonitorVertRefresh" "range(s)"
#Option "MetaModes" "string"
#Option "NoTwinViewXineramaInfo" "on"
#Option "TVStandard" "string"
#Option "TVOutFormat" "string"
#Option "TVOverScan" "Dezimalwert zwischen 0.0 und 1.0"
EndSection
Section "Screen"
Identifier "Screen1"
Device "NvidiaGFX"
Monitor "Monitor1"
DefaultColorDepth 24
Subsection "Display"
Depth 24
Modes "1280x800"
Viewport 0 0
#Virtual 1280 800
EndSubsection
EndSection
Section "ServerLayout"
Identifier "Layout1"
#InputDevice "USBMouse" "CorePointer"
InputDevice "SynapticsMouse" "AlwaysCore"
InputDevice "Keyboard1" "CoreKeyboard"
Screen "Screen1"
# Using display power control features
#Option "StandbyTime" "2" # Blank screen after 2 minutes
#Option "OffTime" "5" # Turn off screen after 5 minutes
#Option "BlankTime" "1"
#Option "SuspendTime" "10"
EndSection
|
|
|
Back to top |
|
|
andreas2000 Tux's lil' helper
Joined: 02 Nov 2004 Posts: 144 Location: Austria/Vienna
|
Posted: Mon Nov 22, 2004 3:18 pm Post subject: Another way for the Synaptics Touchpad |
|
|
I think there are lot of people who are missing the scrollwheel for the synaptics touchpad on Samsung X30 Notbeook - here is the way I solved this issue.
This works with kernel 2.6 - I don't know if it also works no 2.4 kernels.
At first: You don't have to emerge synaptics drivers - if you emerge synaptics drivers, the scrollwheel won't work - and therefore scrolling on the touchpad itself won't work - but the scrollwheel is working fine.
You have to enable the evdev Interface in Kernel 2.6
in grub or lilo bootloader you have to add the folowing parameter for booting:
and the xorg.conf looks like following:
Code: |
Section "ServerLayout"
Identifier "X.org Configured"
Screen "Screen0" 0 0
InputDevice "SynapticsTouchpad" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Identifier "SynapticsTouchpad"
Driver "mouse"
Option "Device" "/dev/psaux"
Option "ZAxisMapping" "4 5"
Option "Protocol" "IMPS/2"
Option "CorePointer"
Option "SendCoreEvents" "true"
EndSection
|
But don't forget: SCROLLING ON THE PAD ITSELF WON'T WORK, BUT TAPPING ON THE PAD WILL !
[/list] _________________ Registered Linux User 371244 |
|
Back to top |
|
|
phasezero n00b
Joined: 06 Oct 2003 Posts: 12 Location: Bad Brückenau
|
Posted: Sat Dec 11, 2004 12:34 am Post subject: Re: Gentoo on Samsung X30 WVC 1500 Notebook (Howto & Dis |
|
|
[quote="c_t"]Gentoo on Samsung X30
...
Volume Keys (FN + Leftarrow / FN + Rightarrow / FN + F6)
They send standard keycodes which you can read-out using xev.
KDE: I used Xmodmap to get the FN-Volume-Keys working. Simply create a File named Xmodmap wherever you like (I put it into /etc/X11) with the following content:
Code: | keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute |
Now you have to execute xmodmap /etc/X11/Xmodmap & on every KDE-startup. For this reason I added a start-script ~/.kde/Autostart/xmod-start.sh with the content:
Code: | #!/bin/bash
xmodmap /etc/X11/Xmodmap & |
What is xmodmap? It looks like something XFree specific. I'm using x.org-x11. How do I configure the VolumeKeys there? |
|
Back to top |
|
|
c_t n00b
Joined: 29 Oct 2003 Posts: 36 Location: Berlin, Germany
|
Posted: Sun Feb 06, 2005 9:31 am Post subject: |
|
|
hmm.. It's not really Xfree-specific, I also use xorg and Xmodmap is still part of the xorg-package. So just follow the steps I described above. Normally it should be sufficient to put the file Xmodmap to your home-directory (you would have to name it .Xmodmap instead), then it should be executed on every kde startup automatically.
I don't know why it is not executed....
I hope I could help you... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|