viernes, 2 de noviembre de 2018


Last update: 13-Jul-2019

Working: ALL

* Keyboard (Backlight with akbl)
* Video
* Microphone
* Headphones
* Sound
* WIFI
* SD Card
* USB Ports
* Ethernet
* HDMI
* Touchpad (Synaptics)
* Webcam
* Bluetooth
* Display port
* HDMI port (attached to GeForce GT 335M graphic card)
* NVIDIA GeForce GT 335M graphic card (with Nouveau open-source driver)

POSTINSTALL:

Wifi (Broadcom BCM43224 802.11a/b/g/n)

Open a terminal and type:

$ cd /
$ sudo pluma /etc/apt/sources.list

Add contrib and non-free at the end of each line. Example:















Save and exit.

$ sudo apt-get update
$ sudo apt-get install firmware-brcm80211
$ systemctl reboot

Login. Then configure your connection using NetworkManager.

That's all.

Bluetooth

Open a terminal and type:

$ sudo apt-get install bluetooth blueman obexftp obexpushd pulseaudio pulseaudio-module-bluetooth pavucontrol bluez-firmware

$ systemctl status bluetooth
$ sudo systemctl start bluetooth
$ sudo killall pulseaudio
$ sudo systemctl restart bluetooth

Post-installation:

$ cd /
$ cd etc/bluetooth/
$ sudo pluma input.conf

Uncomment this lines:

IdleTimeout=0
UserspaceHID=true

Save and exit.

$ sudo pluma main.conf

Uncomment this lines:

Name =  BlueZ
Class = 0x000100
DiscoverableTimeout = 0
PairableTimeout = 0
AutoConnectTimeout = 60
DeviceID = bluetooth:1234:5678:abcd
ReverseServiceDiscovery = true
NameResolving = true
DebugKeys = false
ControllerMode = dual
MultiProfile = multiple
FastConnectable = true
Privacy = off
ReconnectAttempts=7
ReconnectIntervals=1,2,4,8,16,32,64
AutoEnable=true

Save and exit.

$ sudo pluma network.conf

Uncomment this lines:

DisableSecurity=true

Save and exit.

$ sudo pluma proximity.conf

Uncomment this lines:

Disable=PathLoss

Save and exit.

$ cd ..
$ sudo pluma default/bluetooth

Uncomment this lines:

BLUETOOTH_ENABLED=1
HID2HCI_ENABLED=0
HID2HCI_UNDO=0

Save and exit.

$ sudo reboot

Configure your bluetooth devices using blueman.

To receive files from devices, go to Bluetooth icon (MATE Panel) > Local services > Transfer > and check "Accept files from trusted devices". That's all.





















Touchpad (Synaptics)

Open a terminal and type:

$ egrep -i 'synap|alps|etps|elan' /proc/bus/input/devices















Mmm! My touchpad is Synaptics. Then:

$ sudo apt-get install xserver-xorg-input-synaptics
$ systemctl reboot

Login. Then go to System > Preferences > Mouse















In the open box, select "Touchpad" and check "Enable touchpad"



That's all.

akbl (Alienware Keyboard Lights)

I don't like turn-on keyboard lights but sometimes is necessary, especially when I'm working at the night or drinking a cup of coffee in a dark place, for example, a romantic coffeeshop.

Open a terminal and type:

sudo apt-get install systemd libgtk-3-0 libgtk-3-dev gir1.2-appindicator3-0.1 gir1.2-appindicator3 python3 python3-gi python3-cairo python3-usb python3-serpent python3-pyro4

Then go to System > Preferences > Startup applications.















Add.



























In the new box, write the following:

Name: Whatever you want
Command: akbl --start-indicator
Comment: Whatever you want















Save and leave.

Sometimes AKBL icon appear like off (akbl daemon off). To fix this, just go to System > Preferences > startup applications. Add.

In the new box, type:

Name: Whatever you want
Command: killall mate-panel
Comment: Whatever you want












Save and exit. Reboot

Login. When you return, you'll see alienware-kbl indicator on the panel.















Then configure your keyboard lights starting the GUI.



Creating shortcuts for AlienFX and Alien Command Center

Go to System > Preferences > Shortcuts. Add. 

For AlienFX fill this fields:

Name: AlienFX
Command: akbl --change

Press mod4 (Windows Key) + Print (AlienFX)

For Alien Command Center fill this fields:

Name: Alienware Command Center
Command: akbl

Press mod4 (Windows Key) + Pause (Alien Command Center)


That's all.

NOTE 13-Jul-2019: akbl is buggy :-( Power button and power button eyes are blinking and can't be fixed. A ugly fix is edit with your favorite text editor M11XR2.ini (located in /usr/share/AKBL/computers) and erase all the lines related to REGION POWER_BUTON_EYES and change all the lines related to REGION POWER_BUTON to:

[REGION POWER_BUTON]
ID=PB
DESCRIPTION=Power Buton
BLOCK=24576
SUPPORTED_COMMANDS=3
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

Example:


This workaround will fix power button eyes. That's all.

Enable NVIDIA GeForce GT 335M with nouveau open-source driver.

I'm not a gamer, but I would like run some programs with NVIDIA graphic card instead Intel graphic card like GIMP and Inkscape.

Open a terminal and type:

$ cd /
$ sudo pluma /usr/share/X11/xorg.conf.d/20-intel.conf

Add this lines:

Section "Device"
       Identifier  "Intel Graphics"
       Driver      "Intel"
       Option      "AccelMethod"  "sna"
EndSection

Section "Device"
       Identifier  "NVIDIA Graphics"
       Driver      "nouveau"
       Option      "AccelMethod"  "EXA"
       Option      "GLXVBlank" "true"
EndSection

Save and exit.

$ systemctl reboot

Login. Open a terminal and type:

$ xrandr --listproviders


Now you'll see two providers. "0" for Intel graphic card and "1" for NVIDIA graphic card (Nouveau driver)

To use NVIDIA graphic card, run this command:

$ xrandr --setprovideroffloadsink nouveau Intel

And run a test:

$ DRI_PRIME=0 glxinfo | grep "OpenGL vendor string"















and other:

$ DRI_PRIME=1 glxinfo | grep "OpenGL vendor string"















The outputs are:

1. OpenGL vendor string: Intel Open Source Technology Center (Intel graphic card)
2. OpenGL vendor string: nouveau (NVIDIA graphic card)















or

$ DRI_PRIME=1 glxgears -info

Gears are running? If they are running, then you are using NVIDIA card without issues.















If they aren't, then you'll see a black screen.















To fix this, you must enable windows compositor. Then go to System > Preferences > Windows.


In General tab, mark "Enable windows compositor by software".















And do a test again:

$ DRI_PRIME=1 glxgears -info

 













You can run games or apps on NVIDIA card with this command:

$ DRI_PRIME=1 <nameofprogram>

Example:

$ DRI_PRIME=1 inkscape %F

If you turnoff or reboot your system, this setting will be lost and you must setup again. There is a way to establish this at system startup: a bash script. Open your favorite text editor and write this lines:

#!/bin/bash

# Enable NVIDIA GeForce GT 335M graphic card instead of Intel GMA 4500MHD graphic card

sleep 1
xrandr --setprovideroffloadsink nouveau Intel

# Use output video (HDMI or Display Port) of NVIDIA GeForce GT 335M graphic card instead of Intel GMA 4500MHD graphic card

sleep 1
xrandr --setprovideroutputsource nouveau Intel

# Use HDMI port of NVIDIA GeForce GT 335 graphic card instead of Intel GMA 4500MHD graphic card

sleep 1
xrandr --output HDMI-1 --auto --above LVDS1

# Use Display Port of NVIDIA GeForce GT 335 graphic card instead of Intel GMA 4500MHD graphic card

sleep 1
xrandr --output DP-1 --auto --above LVDS1
# exit 0

Save it as you prefer and exit.
















Now, move the bash script in wherever you want.















Dont' forget to set privileges. For example:

$ cd /
$ sudo chmod +x /home/blackout/optimus-prime <-- path to bash script

or

Right click on the bash script > Properties















> permissions and check "Run this file like a program"















Finally, go to System > Preferences > Startup applications.















Add.



























In the new box, write the following. For example:

Name: Whatever you want
Command: sh /home/blackout/optimus-prime <-- path to bash script
Comment: Whatever you want















Restart.

When you return, NVIDIA graphic card will be setup and ready for run any game or program.

Creating launchers for run programs with NVIDIA GeForce GT 335M.

If you want run any program with NVIDIA graphic card, you must open a terminal and type:

DRI_PRIME=1 gimp-2.8

This method is very annoying, because you must type the entire command on a terminal always. Fortunately, in GNU/Linux exist env command. To do this, you must modify the shortcut of a program. Just go to System > Preferences > Principal Menu.






 








For example, I want run Inkscape with NVIDIA card, always. Then I go to Graphics and select Inkscape. Right click > Properties















In the open box, in command section, I write:

Command: env DRI_PRIME=1 inkscape %F
















That's all.

Disable screens phantom (VGA outputs) of NVIDIA GeForce GT 335M.

When you connect Alienware M11X R2 to other display (Monitor, TV or video projector) through HDMI or Display port and run xrandr command, you'll see VGA outputs activated:















Alienware M11X R2 does not have VGA ports and those outputs are known as "phantoms". To disable those video outputs, you must edit GRUB file. Then open a terminal and type:

$ cd /
$ sudo pluma /etc/default/grub

Just add video=VGA-1:d video=VGA-2:d in GRUB_CMDLINE_LINUX. Example:
















Save and exit.

$ sudo update-grub
$ sudo update-grub2
$ systemctl reboot

When you return, those VGA outputs will have disappeared. You can check the changes, opening a terminal and typing:

$ xrandr
















Now VGA outputs are missed.

Overclock nVIDIA GeForce GT 335M with nouveau open-source driver.

Open a terminal and type:

$ cd /
$ sudo pluma etc/default/grub

Add nouveau.config=NvClkMode=15 in GRUB_CMDLINE_LINUX_DEFAULT

Example:















Save and exit.

$ sudo update-grub
$ sudo update-grub2
$ sudo reboot

Login. You can check your clocks, opening a terminal and typing:

# su

Type your password

# cd /
# cat /sys/kernel/debug/dri/1/pstate

If you see highlighted "0f: core 450 MHz shader 1080 MHz memory 790 MHz AC DC *" with an asterisk, then overclock is successful.















Connecting nVIDIA GeForce 335M to TV flat screen (Mirroring screen)

Sometimes, when you connect Alienware M11XR2 to TV flat screen (through HDMI port) using nouveau open-source driver, the screen of the laptop is not reflected on the TV, and then you have two displays (one for the laptop and other for the TV screen). This is annoying because you want the same screen of the laptop into the TV. To fix this, let's go to create two shortcuts on the task bar; one for mirror the screen of the laptop into the TV, and other to turn off the laptop screen after connect to TV for power saving.

Right click on the tasks bar > Add to panel















Custom launcher > Add.























In the new box, we type:

Name: Whatever you want
Command: xrandr --output LVDS1 --mode 1366x768 --scale 1x1 --output HDMI1 --same-as LVDS1 --mode 1920x1080 --scale 0.711x0.711
Comment: Whatever you want.

I want 1920x1080 because my TV is Full HD. If you want other resolution, try to change the xrandr  commands parameters (there are intuitives). Example:














To turn off the laptop screen after connect to TV, the launcher is:

Name: Whatever you want
Command: xrandr --output LVDS1 --off --output HDMI1 --mode 1920x1080 --scale 0.711x0.711
Comment: Whatever you want















Now when you connect the laptop to TV, you can do one single left click on the icons to mirror screen and turn off laptop screen. That's all.

WORKAROUNDS

NOTE 1-FEB-2019: I've disabled overclocking because is unstable. To disable this feature, turn-on the machine and press F2 key. In the BIOS, go to Advance tab and select CPU Over-clock. Just mark "Disabled". Save changes and exit. That's all.

When you start your system, you can see a lot of annoying messages during boot. The dmesg command is a good tool to detect these annoying messages and to set workarounds to fix them. The next steps requires edit grub file (/etc/default/grub) or create new files (/etc/modprobe.d/) to ignore some kernel modules on boot.

COMRESET failed (errno=16)

Due to AHCI (SSD kingston UV400)

Open a terminal and type:

$ cd /
$ sudo pluma /etc/default/grub

Add libahci.skip_host_reset=1 to GRUB_CMDLINE_LINUX_DEFAULT. Example:

GRUB_CMDLINE_LINUX_DEFAULT="quiet libahci.skip_host_reset=1"

Save and exit.

$ sudo update-grub
$ systemctl reboot

brcms_ops_bss_info_changed: qos enabled: false (implement)

Due to buggy driver of WIFI card (Broadcom BCM43224 802.11a/b/g/n)

Open a terminal and type:

$ cd /
$ sudo pluma /etc/default/grub

Add loglevel=3 to GRUB_CMDLINE_LINUX_DEFAULT. Example:

GRUB_CMDLINE_LINUX_DEFAULT="quiet loglevel=3"

Save and exit.

$ sudo update-grub
$ systemctl reboot

NOTE: This workaround only hide messages on boot, but will appear if you open a terminal and type dmesg command. Just ignore them. Sad but true! :-(

Support for cores revisions 0x17 and 0x18 disabled by module param allhwsupport=0. Try b43.allhwsupport=1

Due to buggy drivers b43 and SSB (Broadcom BCM43224 802.11a/b/g/n)

Open a terminal and type:

$ sudo apt-get install firmware-b43-installer
$ cd /
$ sudo pluma /etc/modprobe.d/blacklist.conf

Add this lines:

blacklist b43
blacklist ssb
# options b43 allhwsupport=1

Save and exit.

$ systemctl reboot

ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Due lpc_ich and gpio-ich

Open a terminal and type:

$ cd /
$ sudo pluma /etc/modprobe.d/blacklist.conf

Add this lines:

blacklist lpc_ich
blacklist gpio-ich

Save and exit.

$ systemctl reboot

*ERROR* atomic update failure on a pipe A

Due to power saving on Intel graphic card.

Open a terminal and type:

$ cd /
$ sudo pluma /etc/default/grub

Add i915.enable_rc6=0 to GRUB_CMDLINE_LINUX_DEFAULT. Example:

GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.enable_rc6=0"

Save and exit.

$ sudo update-grub
$ systemctl reboot

NOTE: If you enable this option and check your system with dmesg command again, you'll see a new message like this:

Setting dangerous option enable_rc6 - tainting kernel

It sounds scary because the kernel is tainted, but this option is safe, I promise you.

intel_backlight (Brightness control)

Due to ACPI.

If you go to /sys/class/backlight you will see this:

acpi_video0
acpi_video1
intel_backlight

We need disable ACPI and enable intel_backlight. To do this, open a terminal and type:

$ cd /
$ sudo pluma /etc/default/grub

Add acpi_backlight=none acpi_backlight=video acpi_backlight=vendor acpi_backlight=native to GRUB_CMDLINE_LINUX. Example:















Save and exit.

$ sudo update-grub
$ systemctl reboot

Login. To check the changes, open a terminal and type:

$ cd /
$ cd /sys/class/backlight
$ ls















Now, intel_backlight is working. Use your FN keys to reduce or increase the brightness.

NOTE 3-May-2019: If FN Keys are not working, try with xbacklight. Open a terminal and type:

$ sudo apt-get install xbacklight

Then go to System > Preferences > Shortcuts > Add. And define your shortcuts: one for increase and other for reduce the brightness. Examples:

Increase:

Name: Brightness Up
Command: xbacklight -time 100 -inc 20















And set a combination of keys, for example: Windows Key (Mod4) + F4















Reduce:

Name: Brightness Down
Command: xbacklight -time 100 -dec 20















And set a combination of keys, for example: Windows Key (Mod4) + F5















That's all. Enjoy it!

























Tuxkernel...

SOURCES: