Sony Vaio VPC-F11M1E
Xorg
X server works with the standard nvidia package but shows a blank screen when exiting the X server or just switching terminals using Ctrl+Alt+Fx.
To resolve the blank screen issue you need to use vesafb.
Install v86dAUR and remove any vga=<foo> kernel boot parameters.
Next ensure that /etc/modprobe.d/uvesafb.conf
contains:
options uvesafb mode_option=1280x800-32 scroll=ywrap
This is not the largest resolution available (1280x1024-32 is) but it best fits the aspect ratio of the screen.
Finally add the v86d hook to HOOKS in mkinitcpio.conf:
HOOKS="base udev v86d ..."
and regenerate your initramfs with mkinitcpio (adjust the following command to your setup):
mkinitcpio -p linux
Display backlight regulation
I found this solution - https://code.google.com/p/vaio-f11-linux/wiki/NVIDIASetup. It is for Vaio F11, but it works for my F13 too.
I have added this line in section "Device" in /etc/X11/xorg.conf :
Option "RegistryDwords" "EnableBrightnessControl=1;PowerMizerEnable=0x1;PerfLevelSrc=0x3333;PowerMizerLevel=0x3;PowerMizerDefault=0x3;PowerMizerDefaultAC=0x3"
Plus I use module sony_laptop .. MODULES=(sony_laptop) in /etc/rc.conf
Special Keys
The 'Display Off' and media keys work out of the box.
The 'ASSIST', 'S1' and 'VAIO' keys require configuring the appropriate keymap.
Using udev
Firstly run:
$ /lib/udev/findkeyboards
Then do:
# /lib/udev/keymap -i input/eventX
BUT switch input/eventX
for the keyboard outputted in the first command. I got 'AT keyboard' and 'module' from the first command. 'AT keyboard' is the normal keyboard for mapping 'Fn+X' and 'module' is the hotkey keyboard.
After doing the second command you need to press the buttons that you want to map, then Control-C to exit keymap
.
Then edit /lib/udev/keymaps/module-sony, adding the relevant scan code from the second command and then the event you want. All valid events are listed in https://hal.freedesktop.org/quirk/quirk-keymap-list.txt
Here is an example module-sony keymap file for the VPC-F11M1E:
0xA0 mute # Fn+F2 0xAE volumedown # Fn+F3 0xB0 volumeup # Fn+F4 0x10 brightnessdown # Fn+F5 0x11 brightnessup # Fn+F6 0x12 switchvideomode # Fn+F7 0x14 zoomout # Fn+F9 0x15 zoomin # Fn+F10 0x17 suspend # Fn+F12 0x28 help #Assist 0x20 prog1 #S1 0x49 vendor #VAIO Hotkey
Using the kernel tool setkeycodes
See the detailed article: setkeycodes.
Suspend to RAM
Out of the box, a "sudo pm-suspend" will result in a proper suspending but a failure to resume, resulting in a new reboot. The solution is to add the following parameter to your kernel (into the line )
acpi_sleep=nonvs
Your grub kernel entry should look like this
linux /boot/vmlinuz-linux-sony root=/dev/dm-1 acpi_sleep=nonvs
DTS/AC3 Over HDMI with ALSA
Make sure you installed ALSA.
$ aplay -l
**** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC275 Analog [ALC275 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC275 Digital [ALC275 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0
The right ALSA device to use to get a working sound over HDMI is the device 7.
To get mplayer to use it,
mplayer -ao alsa:device=hw=1.7 -channels 8 -ac hwdts,hwac3, <file>
The comma after hwac3 is not a typo.
DTS/AC3 Over HDMI with PULSE
After installing pulseaudio, you will need to edit
/etc/pulse/default.pa
and add the following line
load-module module-alsa-sink device=hw:1,7 channels=8
Put channels to the highest number of channels supported by the combination of your hardware (computer + receiver/TV).
Sources
https://code.google.com/p/vaio-f11-linux/w/list?q=label:State-Solution