User:Ctag/Dell Precision 7710

From ArchWiki
< User:Ctag
Revision as of 17:32, 1 February 2017 by Ctag (talk | contribs) (→‎Trackpoint: Now working)
Jump to navigation Jump to search

Power Management

Status: works pretty well

Audio

$ cat /etc/modprobe.d/snd-hda-intel.conf
options snd-hda-intel power_save=1

Video

Enabling switchable graphics and installing bumblebee had a huge impact on battery life.

Backlight

Function keys aren't automatically recognized. The xf86 keypresses are recognized by i3-wm which runs corresponding xbacklight commands.

$ cat ~/.i3/config
# Backlight
bindsym XF86MonBrightnessUp exec xbacklight -inc 10
bindsym XF86MonBrightnessDown exec xbacklight -dec 10

NMI Watchdog

$ cat /etc/sysctl.d/disable_watchdog.conf
kernel.nmi_watchdog = 0

Dirty Writeback

$ cat /etc/sysctl.d/dirty_writeback.conf
vm.dirty_writeback_centisecs = 6000

Laptop config

$ cat /etc/sysctl.d/laptop.conf
vm.laptop_mode = 5

iwlwifi

$ cat /etc/modprobe.d/iwlwifi.conf
options iwlwifi power_save=1 d0i3_disable=0 uapsd_disable=0

Trackpoint

Status: Works well!

https://bbs.archlinux.org/viewtopic.php?id=221570

It looks like as of libinput 1.6.0 the trackpoint and touchpad are recognized separately and have sane defaults.

External Screens

Enabling an external monitor causes trouble because Xorg can only handle one DPI, and right now that's set to work with the hiDPI internal screen.

Activate the external monitor with arandr, if the gui is too large:

xrandr --output eDP-1 --auto --output HDMI-2 --auto --panning 3840x2160+3840+0 --scale 1.5x1.5 --right-of eDP-1

HiDPI / High DPI / Retina / 4k

The nitpicky details for getting a hidpi screen on a Dell Precision 7710 working.

I have bumblebee set up. The NVIDIA video driver is installed, but the intel graphics driver is not. This is because recent versions of xorg server can get by without i915 or whatever.

I'm using i3 with no DE.

General X info

$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
eDP1 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 380mm x 210mm
   3840x2160     60.02*+  48.02  
   3200x1800     60.00  
   2880x1620     60.00  
   2560x1440     60.00  
   2048x1536     60.00  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   2048x1152     60.00  
   1920x1080     60.00  
   1600x1200     60.00  
   1400x1050     59.98  
   1600x900      60.00  
   1280x1024     60.02  
   1280x960      60.00  
   1368x768      60.00  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GM204GLM [Quadro M3000M] (rev ff)

X11 DPI

Status: works

HiDPI#X_Server

With the intel video driver (bumblebee) the screen dpi is not automatically discovered, so I set it manually (by physically measuring the screen).

$ cat /etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
    Identifier "eDP1"
	DisplaySize 380 210 # in mm     <-- THIS LINE
    Option "DPMS" "true"
EndSection
[...]

Restart X, and then check the configuration:

$ xdpyinfo
screen #0:
  dimensions:    3840x2160 pixels (380x210 millimeters)
  resolution:    257x261 dots per inch

Once this is configured properly several programs (such as Chromium) will automatically begin resizing properly (or at least a little better).

Xft / Xresources

Status: Holy Grail

https://keithp.com/~keithp/talks/xtc2001/xft.pdf (page 8, table 3)

https://keithp.com/~keithp/render/Xft.tutorial

Even after making sure X knows what the screen DPI is, a lot of tertiary fonts still render too small. These are things like context menus on terminals, or menus on taskbar icons. Setting the Xft DPI appears to help with most of them.

$ cat ~/.Xresources
XTerm*renderFont: true
XTerm*faceName: VeraMono
XTerm*faceSize: 10

Xft.dpi: 261            # <-- Corrects font size
Xft.autohint: 0
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault

tty / console font

Status: works

https://wiki.archlinux.org/index.php/Fonts#Console_fonts

This affects TTY virtual terminal fonts, as well as a few GUI programs (XTerm).

My config:

/etc/vconsole.conf
KEYMAP=us
FONT=ter-v32n
FONT_MAP=8859-1

i3 window manager / i3wm

Status: works

https://www.reddit.com/r/linux/comments/31d0wp/i3_and_hidpi_display_everything_is_to_tiny/cq1x33k/

https://github.com/i3/i3/issues/1198

It looks like i3 properly handles the X server DPI, but you have to set a Pango font.

$ cat ~/.i3/config
[...]

# font for window titles. ISO 10646 = Unicode
#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 # <-- Old font
font pango: Ubuntu Mono 10 # <-- HiDPI font

[...]

LightDM (GTK)

Status: works
/etc/lightdm/lightdm-gtk-greeter.conf
[greeter]
[...]
xft-dpi=261
[...]

Blender

Status: works

http://blender.stackexchange.com/questions/27016/make-blender-usable-on-high-resolution-screen

I followed the selected answer on the above link step by step.

Chromium

Status: works

https://wiki.archlinux.org/index.php/HiDPI#Chromium_.2F_Google_Chrome

Chromium actually works out of the box once the X server DPI is properly configured. But it actually appears to over-compensate in my case, and the UI is uncomfortably large. To fix this, follow the instructions below.

Edit the desktop file to include a parameter that isn't listed in the man page. The '2' in this case can be replaced with whatever real number suites your needs (e.g. --force-device-scale-factor=1.75).

/usr/share/applications/chromium.desktop
Exec=chromium --force-device-scale-factor=2 %U

Brackets

Status: works, but is a kludge

https://github.com/adobe/brackets/issues/8059#issuecomment-182322189

Install the theme/plugin and it'll warp the window into looking OK.

Slack

Status: works

Worked completely out of the box.

Dunst / Send-Notify

Status: Works

Dunst doesn't automatically respect DPI, but the config file can manually specify a larger font.

~/.config/dunst/dunstrc
[global]
    #font = Monospace 10
    font = Ubuntu Mono 16
[...]

Arduino IDE

Status: Works

https://github.com/arduino/Arduino/pull/4376

As of version 1.8.0:

Go to File>Preferences>Interface Scale and set it to whatever you want.

GRUB

Status: mostly works

https://wiki.archlinux.org/index.php/HiDPI#GRUB

I followed the wiki section step for step. It works well, except that text before the Grub menu (dm-crypt prompt) and early boot (before kms?) is still small. See: https://bbs.archlinux.org/viewtopic.php?id=219426

Terminator

Status: works (with Xft configured)

With Xft (everything just works)

User:Ctag#Xft_.2F_Xresources

Without Xft (ui elements too small)

Change the font in Preferences>Profiles>General. Other UI elements are not properly resized.

Inkscape

Status: partially works (in version 0.92)

Go to Preferences>Interface and set the icons to 'Larger'. Only affects most icons, not all of them.

PCmanFM

Status: works, but looks awful

The interface just looks bad, with some text resizing appropriately, and some buttons/ui elements not resizing. Also, the largest thumbnail setting is tiny.

Evince / Document Viewer

Status: works (mostly)

With the Xft DPI workaround, UI text is properly displayed. Buttons are still too small, but it's survivable.

Gimp

Status: almost works

http://www.gimp-forum.net/Thread-GIMP-2-8-Large-size-Icons-Themes

This icon theme works, but the next time gimp is run, it segfaults until the theme is removed from ~/.gimp-2.8/gimprc

Eclipse

Status: somewhat works

https://www.eclipse.org/eclipse/news/4.6/platform.php#swt-autoscale-tweaks

http://askubuntu.com/questions/777411/eclipse-neon-icon-size-in-ubuntu-16-04-hidpi

Eclipse Neon is touted as supporting hidpi, but it doesn't work on my system.

To fix icons

/usr/lib/eclipse/eclipse.ini
[...]
-Dswt.autoScale=200

To fix fonts

Open Window>Preferences and edit the fonts in General>Appearance>Colors and Fonts.

UI fonts

Most UI fonts resize with the User:Ctag#Xft_.2F_Xresources workaround.

Code::Blocks

Status: somewhat works

with the User:Ctag#Xft_.2F_Xresources workaround, text is displayed well in most areas of the UI. Buttons are still too small.

Fontconfig

Status: unknown

https://eev.ee/blog/2015/05/20/i-stared-into-the-fontconfig-and-the-fontconfig-stared-back-at-me/

https://bbs.archlinux.org/viewtopic.php?id=212533

http://www.jaysonrowe.com/2013/04/font-configuration-in-arch-linux.html

I don't know if this helps, but here's my config:

$ cat ~/.config/fontconfig/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
	<edit name="dpi" mode="assign">
		<double>261</double>
    </edit>
</match>
<match target="font">
  
<edit mode="assign" name="rgba">
	<const>rgb</const>
</edit>
<edit mode="assign" name="hinting">
	<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
	<const>hintslight</const>
</edit>
<edit mode="assign" name="antialias">
	<bool>true</bool>
</edit>
<edit mode="assign" name="lcdfilter">
	<const>lcddefault</const>
</edit>

</match>
</fontconfig>

Infinality

Status: not used

Infinality

It looks like there's no progress on either Infinality or the bohoomil patches.

Troubleshooting

Sound card

Sometimes the sound card cuts out (usually after a suspend/resume cycle) and only a dummy device is listed in the pulseaudio mixer.

Here's one workaround: https://bbs.archlinux.org/viewtopic.php?pid=1201242#p1201242