Thursday, 17 February 2011

Linux Kernel will soon provide better Samsung Laptop support

As posted by Greg Kroah-Hartman on his blog,

Finally, after many years of people asking for this, Linux can now properly support all known Samsung laptop devices. This means we can now handle backlight control, wifi button issues,and the weird "performance mode" keys as well as some of the other function keys.

If you have a Samsung laptop, I suggest looking at the driver in this post on the linux-kernel mailing list, and letting me know if you have any problems with it or not. If your laptop is not listed in the DMI table, please feel free to send me a patch to add it so we can properly support it.

Many thanks to Samsung oh so long ago for providing some of the needed information to get this to work, and to Ingmar Steen for putting all of the pieces together properly to handle the devices that were not being handled by the old in-kernel driver. posted Wed, 09 Feb 2011 in [/linux]

As a Samsung Laptop user I think this is great news but reading the mailing list and the kernel patch file I saw something interesting.

Some Samsung laptops have different "performance levels"
+ that are can be modified by a function key, and by this
+ sysfs file. These values don't always make a whole lot
+ of sense, but some users like to modify them to keep
+ their fans quiet at all costs. Reading from this file
+ will show the current performance level. Writing to the
+ file can change this value.
+ Valid options:
+ "silent"
+ "normal"
+ "overclock"
+ Note that not all laptops support all of these options.
+ Specifically, not all support the "overclock" option,
+ and it's still unknown if this value even changes
+ anything, other than making the user feel a bit better.

So it seems like there is some confusion as to what the performance levels should do. Well, based on my observations in Windows,


Set CPU frequency scaling to [Power Saver] + deactivate fan. But if temperature > [Active Fan Trip Point] activate fan on until temp < [Active Fan Trip Point + 10]

Or some other variable

[Active Fan Trip Point] is a BIOS set value which varies according to model/processor. On a Samsung R510 it is set to 71c


Set CPU frequency scaling to [Balanced] + Activate BIOS fan control

Set CPU frequency scaling to [Performance] + Activate BIOS fan control

A more appropriate label for 'Overclock' should be 'Performance'. In fact in Windows this performance level is referred to as 'Performance'

It is important that the Silent mode activates the fan if the [Active Fan Trip Point] has been reached, failing to do so will cause the processor temperature to continue rising until it reaches the critical shutdown temperature.

And not to mention the potential of causing many unhappy Samsung users, claiming Linux killed their laptop.