Browse Source

Update multimonitor package

master
Pekka Helenius 5 years ago
parent
commit
71b2f47d88
8 changed files with 252 additions and 21 deletions
  1. +1
    -0
      multimonitor_and_desktop/xf86-intel-multimonitor/10-intel.conf
  2. +37
    -0
      multimonitor_and_desktop/xf86-intel-multimonitor/20-nvidia.conf
  3. +25
    -8
      multimonitor_and_desktop/xf86-intel-multimonitor/PKGBUILD
  4. +23
    -12
      multimonitor_and_desktop/xf86-intel-multimonitor/README.md
  5. +109
    -0
      multimonitor_and_desktop/xf86-intel-multimonitor/extra/xorg.conf
  6. +38
    -0
      multimonitor_and_desktop/xf86-intel-multimonitor/nvidia-xorg.conf
  7. +18
    -0
      multimonitor_and_desktop/xf86-intel-multimonitor/xorg.conf.nouveau.bumblebee
  8. +1
    -1
      multimonitor_and_desktop/xf86-intel-multimonitor/xorg.conf.nvidia.bumblebee

multimonitor_and_desktop/xf86-intel-multimonitor/20-intel.conf → multimonitor_and_desktop/xf86-intel-multimonitor/10-intel.conf View File

@ -3,6 +3,7 @@ Section "Device"
Driver "intel"
BusID "PCI:0:2:0"
Option "VirtualHeads" "2"
Option "Backlight" "intel_backlight"
EndSection
Section "Monitor"

+ 37
- 0
multimonitor_and_desktop/xf86-intel-multimonitor/20-nvidia.conf View File

@ -0,0 +1,37 @@
#Section "ServerLayout"
# Identifier "Layout0"
#EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "SWcursor" # [<bool>]
#Option "HWcursor" # [<bool>]
#Option "NoAccel" # [<bool>]
#Option "ShadowFB" # [<bool>]
#Option "UseFBDev" # [<bool>]
#Option "Rotate" # [<str>]
#Option "VideoKey" # <i>
#Option "FlatPanel" # [<bool>]
#Option "FPDither" # [<bool>]
#Option "CrtcNumber" # <i>
#Option "FPScale" # [<bool>]
#Option "FPTweak" # <i>
#Option "DualHead" # [<bool>]
Identifier "Card1"
Driver "nvidia"
BusID "PCI:1:0:0"
# Option "ConnectedMonitor" "DFP"
# Option "NoLogo" "true"
VendorName "NVIDIA Corporation"
EndSection
#For the configuration with bumblebee installed
#Section that follows come from archlinux adapt it from your distro if necessary.
Section "Files"
ModulePath "/usr/lib/nvidia/xorg/"
ModulePath "/usr/lib/xorg/modules/"
EndSection

+ 25
- 8
multimonitor_and_desktop/xf86-intel-multimonitor/PKGBUILD View File

@ -8,12 +8,22 @@ arch=('any')
#url=""
license=('GPL')
depends=('xf86-video-intel' 'libglvnd' 'libgl' 'xorg-server' 'bumblebee') #'nvidia' 'nvidia-dkms'
source=(20-intel.conf
xorg.conf.nvidia
clevo-multimonitor-on.desktop
clevo-multimonitor-off.desktop)
md5sums=('e637d2a74b7efe0a3dcc846f50292e4c'
'9ba150ba73cd97747531862aae03edcf'
source=(
nvidia-xorg.conf
10-intel.conf
20-nvidia.conf
xorg.conf.nvidia.bumblebee
xorg.conf.nouveau.bumblebee
clevo-multimonitor-on.desktop
clevo-multimonitor-off.desktop
)
md5sums=('85de608633c71bee5462333ab720fe4e'
'd0dd2e4b7b7db2ed43b972b558a05ba7'
'0e8b9dced2fcf7d027d8505e8e72f209'
'186a7dab0c24ec6b60c0ead10881ed95'
'e45198dfa8b038e17369a9120076c771'
'70fc2ea9f62ae5e7df5286e9bf3ba9f5'
'436ada85ff846c4d5e38a32e9567730c')
@ -21,8 +31,15 @@ package() {
mkdir -p ${pkgdir}/etc/X11/xorg.conf.d
mkdir -p ${pkgdir}/etc/bumblebee
mkdir -p ${pkgdir}/usr/share/applications/
install -m 644 ${srcdir}/20-intel.conf ${pkgdir}/etc/X11/xorg.conf.d/20-intel.conf
install -m 644 ${srcdir}/xorg.conf.nvidia ${pkgdir}/etc/bumblebee/xorg.conf.nvidia
# X11 configurations
install -m 644 ${srcdir}/10-intel.conf ${pkgdir}/etc/X11/xorg.conf.d/10-intel.conf
install -m 644 ${srcdir}/20-nvidia.conf ${pkgdir}/etc/X11/xorg.conf.d/20-nvidia.conf
install -m 644 ${srcdir}/nvidia-xorg.conf ${pkgdir}/etc/X11/nvidia-xorg.conf #Must not be in a *.d dir
# Bumblebee configurations
install -m 644 ${srcdir}/xorg.conf.nouveau.bumblebee ${pkgdir}/etc/bumblebee/xorg.conf.nouveau
install -m 644 ${srcdir}/xorg.conf.nvidia.bumblebee ${pkgdir}/etc/bumblebee/xorg.conf.nvidia
install -m 755 ${srcdir}/clevo-multimonitor-on.desktop ${pkgdir}/usr/share/applications/clevo-multimonitor-on.desktop
install -m 755 ${srcdir}/clevo-multimonitor-off.desktop ${pkgdir}/usr/share/applications/clevo-multimonitor-off.desktop


+ 23
- 12
multimonitor_and_desktop/xf86-intel-multimonitor/README.md View File

@ -1,38 +1,49 @@
### Add the following boot parameters for syslinux/grub for correct GPU handling (Clevo N950TP6)
## Required boot parameters
Add these to your boot parameters, either `/boot/syslinux/syslinux.cfg` OR `/boot/grub/grub.cfg` (GRUB configuration file `/etc/default/grub` preferred!):
The following kernel parameters are for correct GPU handling (Clevo N950TP6) on older Linux kernels. Without this setting you _may_ be unable to boot on Linux desktop on Clevo N950TP6 laptop.
Add these to your syslinux or GRUB boot parameters, either `/boot/syslinux/syslinux.cfg` OR `/boot/grub/grub.cfg` (GRUB configuration file `/etc/default/grub` preferred):
```
acpi_osi="!Windows 2015" acpi_osi=Linux nogpumanager
```
**NOTE:** Without this setting you may be unable to boot on Linux desktop on Clevo N950TP6 laptop.
-------------------------
This `multimonitor` package creates two desktop entries to turn on/off `intel-virtual-output` executable (can be run as daemon, too). When enabled, the program creates new VirtualGL devices for `xrandr`. These devices are referring to your external monitors you use with Clevo N950TP6 laptop. Thus, you can set up all needed configuration for these external monitors in your desktop settings.
## About
This `multimonitor` package creates two desktop entries to turn on/off `intel-virtual-output` executable (can be run as daemon, too). When enabled, the program creates new VirtualGL devices which is seen by issuing `xrandr` command. These devices are referring to your external monitors you use with Clevo N950TP6 laptop. Thus, you can set up all needed configuration for these external monitors in your desktop settings.
Only downside with setting up new VirtualGL devices is that discrete Nvidia card must be enabled as well. At least on Linux, all external graphics output goes through Nvidia chipset on Clevo N950TP6. However, if you have your laptop plugged in to AC power adapter, you don't need to worry about Nvidia/Intel dilemma. Temperature of Nvidia card stays at ~47-53 while idle. It is higher on load, of course.
**NOTE:**
Please read a personal usage story below for additional information.
This package overrides the following bumblebee file:
## Overriding configuration files
This package overrides the following bumblebee files:
```
/etc/bumblebee/xorg.conf.nvidia
/etc/bumblebee/xorg.conf.nouveau
```
and adds the following configuration file:
and adds the following X11 configuration files:
```
/etc/X11/xorg.conf.d/20-intel.conf
/etc/X11/xorg.conf.d/10-intel.conf
/etc/X11/xorg.conf.d/20-nvidia.conf
/etc/X11/nvidia-xorg.conf
```
Therefore, you MUST install this package AFTER you have installed bumblebee. And you need to force installation with pacman parameter `--force` (`sudo pacman -U --force package.tar.xz`)
Therefore, you MUST install this package AFTER you have installed bumblebee. And you need to force installation with pacman parameter `--force` (`sudo pacman -U --force package.tar.xz`). Proper way to install these overriding files would be patching the corresponding packages.
## Extra
Subfolder extra contains the default `xorg.conf` (`/etc/X11/xorg.conf`) file I personally use on Clevo N950TP6. You can use it if you find it useful.
-------------------------
## Usage - personal story
## Multimonitor - Personal Story
There are two ways I personally use Nvidia card on my Clevo laptop. They are as follows:
@ -48,4 +59,4 @@ I use mode 1) for basic desktop tasks, and mode 2) for gaming (Steam, GOG, etc.)
Sometimes `intel-virtual-output` can complain about not finding bumblebee. You can try checking your `/etc/X11` conf files.
About role of bumblebee: it is required by `intel-virtual-output` binary. Practically, I don't use it for *anything* else.
About role of bumblebee: it is required by `intel-virtual-output` binary. Practically, I don't use bumblebee for *anything* else.

+ 109
- 0
multimonitor_and_desktop/xf86-intel-multimonitor/extra/xorg.conf View File

@ -0,0 +1,109 @@
# File location on Linux system: /etc/X11/
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" LeftOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules/"
ModulePath "/usr/lib/xorg/modules/extensions/"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/OTF/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/75dpi/"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSectionSub "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
SubSectionSub "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSectionSub "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

+ 38
- 0
multimonitor_and_desktop/xf86-intel-multimonitor/nvidia-xorg.conf View File

@ -0,0 +1,38 @@
Section "Files"
ModulePath "/usr/lib/nvidia"
ModulePath "/usr/lib32/nvidia"
ModulePath "/usr/lib32/nvidia/xorg/modules"
ModulePath "/usr/lib32/xorg/modules"
ModulePath "/usr/lib64/nvidia/xorg/modules"
ModulePath "/usr/lib64/xorg/modules"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen 1 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
# Option "AllowEmptyInitialConfiguration" "Yes"
# Option "UseDisplayDevice" "none"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
Option "AccelMethod" "none"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection

+ 18
- 0
multimonitor_and_desktop/xf86-intel-multimonitor/xorg.conf.nouveau.bumblebee View File

@ -0,0 +1,18 @@
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "false"
Option "AutoAddGPU" "false"
EndSection
Section "Device"
Identifier "DiscreteNvidia"
Driver "nouveau"
# If the X server does not automatically detect your VGA device,
# you can manually set it here.
# To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
# as you see in the commented example.
# This Setting is needed on Ubuntu 13.04.
# BusID "PCI:01:00:0"
EndSection

multimonitor_and_desktop/xf86-intel-multimonitor/xorg.conf.nvidia → multimonitor_and_desktop/xf86-intel-multimonitor/xorg.conf.nvidia.bumblebee View File

@ -43,7 +43,7 @@ Section "Device"
EndSection
Section "ServerFlags"
Option "IgnoreABI" "1"
Option "IgnoreABI" "1"
EndSection
Section "Screen"

Loading…
Cancel
Save