Linux on a Samsung N510 Netbook
Posted: October 3rd, 2010 | Author: win | Filed under: Linux, Tools and Gadgets | Tags: netbook | No Comments »Introduction
This page documents my experience with running Debian GNU/Linux on my Samsung N510 netbook.
Background
I decided to move to the N510 mainly because I was planning on using a portable machine as my primary computer for a period of time. Size, cost, and graphics / 3D performance were all factors in my purchase decision. The N510 seemed like a reasonable middle-of-the-road machine in terms of all these areas. It’s not Alienware, but with Linux installed and tuned, the platform should handle most tasks I need it to accomplish. The NVidia ION chipset present in the N510 was key to my decision, since the lack of reasonable 3D acceleration is a weak link in most other current netbooks and many low-end laptops for anyone interested in doing light gaming, 3D modelling, running a compositing window manager, scientific visualisation, etc.
Hardware and Feature Support
Here is a matrix of the most important hardware and features provided on the N510, and my ability to get them working on my machine. Keep in mind that other people may have had better or worse luck, and that device support is always improving. I’ve ommited very typical hardware that I haven’t had trouble with, like USB, SATA, and some others.
| Component / Feature | Status |
| Suspend to RAM | Working with workaround for ethernet resume. See below |
| Suspend to disk | Working |
| Ethernet | Working (using ‘SysKonnect Yukon2 support’ kernel option) |
| Wireless LAN | Working (using ndiswrapper and Windows XP driver. see notes) |
| Sound | Working (using NVidia HDMI and Realtek audio codecs) |
| Video | Working using proprietary NVidia driver (version 190.53) |
| VDPAU | Working with mplayer after recompiling with VDPAU support |
| Card reader | Working |
| Touchpad | Working in X.org |
| Webcam | Working with luvcview |
| HDMI audio/video out | Working in both twin-view and mirroring modes |
| Bluetooth | Running ‘hcitool scan’ reports nearby devices |
| LCD brightness controls | Working by writing to /proc/acpi/video/IGPU/LCD0/brightness |
Kernel Configuration
I’ve based my system on the 2.6.32 release kernel from http://www.kernel.org. Here is a copy of my kernel configuration file, modified to only include support for hardware contained in the N510 and also a few common devices (USB hard drives, CDROM drives, etc.).
Please note that there is more than one version of the N510 being shipped, and your hardware may not match mine. Specifically, the wireless and wired ethernet are suspect. Make sure to check the output of lspci and dmesg on your machine.
Here are the most notable changes I’ve made to my kernel configuration:
- CPU architecture set to Intel Atom
- enabled support for Realtek 8192 wireless LAN (currently a staging driver)
- timer frequency set to 1000Hz
- preemption model set to ‘desktop’
Suspend to RAM
Initially I was having a problem where resuming from suspend (using pm-suspend) would result in a kernel panic, forcing a hard reset by removing the N510′s battery. I traced the problem to the sky2 kernel module responsible for Ethernet. By explicity unloading the sky2 module on suspend, I was able to resume without issues. I was able to achieve this by adding the following to a new file called /etc/pm/config.d/suspend
SUSPEND_MODULES=sky2
Wireless LAN
The 2.6.32 Linux kernel supports my 510′s Realtek 8192 wireless hardware (using a staging kernel module). I was able to recompile with support for this Realtek 8192, however I was unable to locate a copy of the firmware required by the device, and so I opted to use ndiswrapper and Realtek’s Windows XP driver found on their web site. If anyone has information on extracting and using the required firmware, please contact me.
Software Environment
I’m running Debian testing as my Linux distro. The stock kernel shipped at the time is 2.6.26. I try to run a relatively lightweight system, with X windows, core gnome libraries, and fluxbox as my window manager. I won’t go in to detail on my configuration, but just mention some tweaks that I find useful.
Temporary filesystems in RAM
This helps to keep the N510′s hard drive from spinning up unnecessarily, and avoids the resultant short pauses when programs wait for the disk. Note that everything mounted in tmpfs will be gone after a reboot, and there are some other possible side effects. Here are the changes I’ve made to /etc/fstab
tmpfs /tmp tmpfs defaults,nosuid 0 0 tmpfs /var/log tmpfs defaults,nosuid 0 0 tmpfs /var/run tmpfs defaults,nosuid 0 0 tmpfs /var/lock tmpfs defaults,nosuid 0 0
X windows settings
I’ve modified my /etc/X11/xorg.conf file to remove the NVidia logo when X starts up
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "NoLogo" "true" # yes I know SubSection "Display" Depth 24 EndSubSection EndSection
Fluxbox window manager
I’ve found fluxbox to be very friendly, with low system overhead. Fluxbox is also pretty friendly when operating with no mouse. I’ve modified X to load fluxbox when I log in by adding the following to ~/.xsession
exec startfluxbox
Here are a few screen shots showing my desktop running conky, rxvt, google chrome, and World of Warcraft:
Video decoding acceleration using VDPAU
Current NVidia graphics hardware has support for VDPAU, allowing acceleration of video decoding. This is critical for Intel Atom based machines where decoding HD video would otherwise hit the CPU very hard. On my system, the load when playing back 720p HD video went from 100% (and incurring loss of audio sync, and complaints from mplayer) down to about 40%. The proprietary NVidia graphics driver includes headers to allow applications to be compiled with VDPAU support. For me this means recompiling mplayer, since it’s the only video application I use which can take advantage of VDPAU. I’ve read that ‘multimedia PC’ applications like XBMC also support VDPAU as well.
When compiling mplayer from source code, I passed the following options to configure in order to enable VDPAU
./configure --enable-vdpau --target=i686-linux
User Experience and Conclusion
Thus far, I’m happy with the N510. In summary:
- The system boots from complete power off to my desktop in about 50 seconds.
- Accelerated 720p video playback on the N510 is smooth with no audio sync issues.
- Subjectively, 3D performance in World of Warcraft is playable in most areas (using low quality settings).
- Overall performance feels similar to other netbooks, though the quality keyboard, large screen (for a netbook), and ION processor give it a more advanced feel.
- I was unable to test the native wireless lan module because I was unable to locate the necessary firmware. I have not had any problems using ndiswrapper as a work-around.




Leave a Reply