https://wiki.archlinux.org/api.php?action=feedcontributions&user=WhitleyStriber&feedformat=atomArchWiki - User contributions [en]2024-03-28T23:34:55ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Talk:Dell_XPS_15&diff=558544Talk:Dell XPS 152018-12-07T12:00:31Z<p>WhitleyStriber: /* Issues with suspend/resume/flickering (9550 Skylake) */ Removed unnecessary information</p>
<hr />
<div>I believe the entire multihead section is far more complex than necessary for a 9350 model XPS 15 w/ hidpi display. HDMI, DP->DVI, and the internal monitor all "just work" at the same time with a mundane arandr configuration (nvidia card off, intel only)<br />
<br />
Since I've not tested plain display port, nor DP->VGA yet, want to see if anyone has wildly different experiences with that model before I do any edits?<br />
<br />
[[User:Thomasam|Thomasam]] ([[User talk:Thomasam|talk]]) 00:41, 3 January 2015 (UTC)<br />
<br />
I agree with Thomasam. I have the newer 9550 model (Skylake) and both, the HDMI as well as using a USB 3.1 Type C/Tunderbolt 3 to HDMI adapter just work (all at the same time and perfectly fine if plugged/unplugged at runtime). I even don't have any X11 configs. Just make sure you apply all the recent BIOS and Thunderbolt firmware updates and use a HDMI cable that is known to work (I had a rather frustrating few days with a brand new but broken cable which sent me down many misleading rabbit holes including this wiki page).<br />
<br />
[[User:Oceansailor|Oceansailor]] ([[User talk:Oceansailor|talk]]) 22:49, 13 March 2016 (UTC)<br />
<br />
== Issues with sound (9550 Skylake ALC3266) ==<br />
<br />
I wrote the section regarding sound. I will attempt to clean it up and conform it to the guidelines.</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=CUPS/Printer_sharing&diff=520025CUPS/Printer sharing2018-05-03T06:10:08Z<p>WhitleyStriber: Grammar fix</p>
<hr />
<div>[[Category:Printers]]<br />
[[ja:CUPS/プリンター共有]]<br />
[[ru:CUPS/Printer sharing]]<br />
[[zh-hans:CUPS/Printer sharing]]<br />
{{Related articles start}}<br />
{{Related|Samba}}<br />
{{Related|CUPS}}<br />
{{Related articles end}}<br />
<br />
This article contains instruction on sharing printers between systems, be it between two GNU/Linux systems or between a GNU/Linux system and Microsoft Windows. <br />
<br />
==Between GNU/Linux systems==<br />
<br />
The server can be configured using either the web interface or by manually editing {{ic|/etc/cups/cupsd.conf}}.<br />
To configure the client, see [[CUPS#Network 2]].<br />
<br />
===Using the web interface===<br />
<br />
Open up the web interface to the server, select the ''Administration'' tab, look under the ''Server'' heading, and enable the "Share printers connected to this system" option. Save your change by clicking on the ''Change Settings'' button. The server will automatically restart.<br />
<br />
For more complex configurations, you can directly edit the {{ic|/etc/cups/cupsd.conf}} file by selecting ''Edit Configuration File''. See [[#Manual setup]] for more information.<br />
<br />
===Manual setup===<br />
<br />
On the server computer (the one directly connected to the printer), allow access to the server by modifying the location directive. For instance:<br />
{{hc|/etc/cups/cupsd.conf|<br />
<Location /><br />
Order allow,deny<br />
Allow localhost<br />
Allow 192.168.0.*<br />
</Location><br />
...<br />
}}<br />
<br />
Also make sure the server is listening on the IP address the client will use:<br />
{{hc|/etc/cups/cupsd.conf|<br />
...<br />
Listen <hostname>:631<br />
...<br />
}}<br />
<br />
There are more configuration possibilities, including automatic methods, which are described in detail in [https://www.cups.org/doc/network.html Using Network Printers] and {{man|5|cupsd.conf}}.<br />
<br />
After making any modifications, [[restart]] the {{ic|org.cups.cupsd}} service.<br />
<br />
If CUPS is started using socket activation, create a [[drop-in snippet]] for {{ic|org.cups.cupsd.socket}} so that socket activation also works for remote connections:<br />
{{hc|/etc/systemd/system/org.cups.cupsd.socket.d/override.conf|<nowiki><br />
[Socket]<br />
ListenStream=631<br />
</nowiki>}}<br />
<br />
===Enabling browsing===<br />
<br />
To enable browsing (shared printer discovery), [[Avahi]] must be installed and running on the server.<br />
If you do not need printer discovery, Avahi is not required on either the server or the client.<br />
<br />
To enable browsing, either select ''Share printers connected to this system'' in the web interface, or manually turn on Browsing and set the BrowseAddress:<br />
{{hc|/etc/cups/cupsd.conf|<br />
...<br />
Browsing On<br />
BrowseAddress 192.168.0.*:631<br />
...<br />
}}<br />
and [[restart]] the {{ic|org.cups.cupsd}} service.<br />
<br />
Note that "browsing" at the print server is a different thing from "browsing" at a remote networked host. On the print server, {{ic|cupsd}} provides the DNS-SD protocol support which the {{ic|avahi-daemon}} broadcasts. The {{ic|cups-browsed}} service is unnecessary on the print server, unless also broadcasting the old CUPS protocol, or the print server is also "browsing" for other networked printers. On the remote networked host, the {{ic|cups-browsed}} service is ''required'' to "browse" for network broadcasts of print services, and running {{ic|cups-browsed}} will also automatically start {{ic|cupsd}}.<br />
<br />
The {{ic|org.cups.cupsd.service}} service will be automatically started when a USB printer is plugged in, however this may not be the case for other connection types. If {{ic|cupsd}} is not running, {{ic|avahi-daemon}} does not broadcast the print services, so in that case the systemd unit service file must be modified to start on boot, and then the service must again be "enabled/installed" with the new dependency. To do this, [[edit]] the service file {{ic|[Install]}} section to add a {{ic|1=WantedBy=default.target}} dependency, and then [[enable]] and [[start]] the {{ic|org.cups.cupsd.service}} service.<br />
<br />
==Between GNU/Linux and Windows==<br />
<br />
===Linux server - Windows client===<br />
<br />
====Sharing via IPP====<br />
<br />
The '''preferred way''' to connect a Windows client to a Linux print server is using [[wikipedia:Internet_Printing_Protocol|IPP]], as the configuration is simpler than using Samba. It is a standard printer protocol based on HTTP, allowing you to use port forwarding, tunneling etc.<br />
IPP has been natively supported by Windows since Windows 2000.<br />
{{Note|You may have to add the Internet Printing Client to Windows (''Control Panel > Programs > Turn Windows features on or off > Print and Document Services'')}}<br />
<br />
First, configure the server as described in the section [[#Between GNU/Linux systems]].<br />
<br />
On the Windows computer, go to ''Control Panel > Devices and Printers'' and choose 'Add a printer'. If on Windows 10, click "The printer that I want isn't listed". Next, choose 'Select a shared printer by name' and type in the location of the printer:<br />
<br />
http://''hostname'':631/printers/''printer_name''<br />
<br />
(where ''hostname'' is the GNU/Linux server's hostname or IP address and ''printer_name'' is the name of the print queue being connected to. You can also use the server's fully qualified domain name, if it has one, but you may need to set {{ic|ServerAlias my_fully_qualified_domain_name}} in {{ic|/etc/cups/cupsd.conf}} for this to work).<br />
<br />
{{Note|<br />
* The 'Add Printer' dialog in Windows suggests the format {{ic|<nowiki>http://computername/printers/printername/.printer</nowiki>}}, which it will not accept. Instead, use the syntax suggested above.<br />
* If you are using a proxy carefully check any used proxy '''exclusions'''. A wrong setting here may result in you being unable to add a printer until the next reboot even if you disable the proxy afterwards (at least on Windows 7).}}<br />
<br />
After this, install the native printer drivers for your printer on the Windows computer. If the CUPS server's print queue is set up to use its own printer drivers instead of as a {{ic|raw}} queue, you can just select a generic postscript printer driver for the Windows client (e.g. 'HP Color LaserJet 8500 PS' or 'Xerox DocuTech 135 PS2').<br />
<br />
====Sharing via Samba====<br />
<br />
If your client's Windows version is below Windows 2000 or if you experienced troubles with IPP you can also use Samba for sharing.<br />
Note of course that with Samba this involves another complex piece of software. This makes this way '''more difficult to configure''' and thus sometimes also '''more error-prone''', mostly due to authentication problems.<br />
<br />
To configure Samba on the Linux server, edit {{ic|/etc/samba/smb.conf}} file to allow access to printers. File {{ic|smb.conf}} can look something like this:<br />
{{hc|/etc/samba/smb.conf|2=<br />
[global]<br />
workgroup=Heroes<br />
server string=Arch Linux Print Server<br />
security=user<br />
<br />
[printers]<br />
comment=All Printers<br />
path=/var/spool/samba<br />
browseable=yes<br />
# to allow user 'guest account' to print.<br />
guest ok=no<br />
writable=no<br />
printable=yes<br />
create mode=0700<br />
write list=@adm root yourusername<br />
}}<br />
<br />
That should be enough to share the printer, yet adding an individual printer entry may be desirable:<br />
{{hc|/etc/samba/smb.conf|2=<br />
[ML1250]<br />
comment=Samsung ML-1250 Laser Printer<br />
printer=ml1250<br />
path=/var/spool/samba<br />
printing=cups<br />
printable=yes<br />
printer admin=@admin root yourusername<br />
user client driver=yes<br />
# to allow user 'guest account' to print.<br />
guest ok=no<br />
writable=no<br />
write list=@adm root yourusername<br />
valid users=@adm root yourusername<br />
}}<br />
<br />
Please note that this assumes configuration was made so that users must have a valid account to access the printer. To have a public printer, set ''guest ok'' to ''yes'', and remove the ''valid users'' line. To add accounts, set up a regular GNU/Linux account and then set up a Samba password on the server. For instance:<br />
# useradd yourusername<br />
# smbpasswd -a yourusername<br />
<br />
<!--<br />
After setting up all the needed user accounts, the samba spool directory also needs configuration:<br />
{{bc|<br />
# mkdir /var/spool/samba<br />
# chmod 777 /var/spool/samba<br />
}}<br />
<br />
The next items that need changing are {{ic|/etc/cups/mime.convs}} and {{ic|/etc/cups/mime.types}}:<br />
<br />
{{ic|mime.convs}}:<br />
{{bc|<br />
# The following line is found at near the end of the file. Uncomment it.<br />
application/octet-stream application/vnd.cups-raw 0 -<br />
}}<br />
<br />
{{ic|mime.types}}:<br />
{{bc|<br />
# Again near the end of the file.<br />
application/octet-stream<br />
}}<br />
<br />
The changes to {{ic|mime.convs}} and {{ic|mime.types}} are needed to make CUPS print Microsoft Office document files. Many users seem to need that.<br />
--><br />
<br />
After this, restart the Samba daemon.<br />
<br />
Obviously, there are a lot of tweaks and customizations that can be done with setting up a Samba print server, so it is advised to look at the Samba and CUPS documentation for more help. The {{ic|smb.conf.example}} file also has some good samples that might warrant imitating.<br />
<br />
===Windows server - Linux client===<br />
{{Warning|Any special characters in the printer URIs need to be appropriately quoted, or, if your Windows printer name or user passwords have spaces, CUPS will throw a "lpadmin: Bad device-uri" error.<br />
For example:<br />
<code>smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6</code><br />
<br />
becomes:<br />
<br />
<code>smb://BEN-DESKTOP/HP%20Color%20LaserJet%20CP1510%20series%20PCL6</code><br />
<br />
This result string can be obtained by running the following command:<br />
$ python -c 'from urllib.parse import quote; print("smb://" + quote("BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6"))'<br />
}}<br />
<br />
====Sharing via LPD====<br />
<br />
Windows 7, 8 and 10 have a built-in LPD server - using it will probably be the easiest approach as it does neither require an installation of ''Samba'' on the client nor heavy configuration on the server. It can be activated in the ''Control Panel'' under ''Programs'' -> ''Activate Windows functions'' in the section ''Print services''. The printer must have ''shared'' activated in its properties. Use a share name without any special characters like spaces, commas, etc.<br />
<br />
Then the printer can be added in CUPS, choosing LPD protocol. The printer address will look like this:<br />
<br />
# lpd://windowspc/printersharename<br />
<br />
Before adding the printer, you will most likely have to install an appropriate printer driver depending on your printer model. Generic PostScript or RAW drivers might also work.<br />
<br />
====Sharing via IPP====<br />
<br />
As above, IPP is also the '''preferred''' protocol for printer sharing although it '''only works with Windows Server versions'''. Windows Server versions (e.g. Server 2016) include IPP support ("Print and Document Services" role, "Internet Printing" service). Client versions (e.g. Windows 10), only include the IPP client, and '''do not support sharing through IPP'''.<br />
<br />
====Sharing via Samba====<br />
<br />
A '''much simpler way''' is using Window's native printer sharing via Samba. There is almost no configuration needed, and all of it can be done from the CUPS Backend. As above noted, if there are any problems the reason is mostly related to authentication trouble and Windows access restrictions.<br />
<br />
On the server side enable sharing for your desired printer and ensure that the user on the client machine has the right to access the printer.<br />
<br />
The following section describes how to set up the client, assuming that both daemons (cupsd and smbd) are running.<br />
<br />
=====Configuration using the web interface=====<br />
<br />
The Samba CUPS back-end is enabled by default, if for any reason it is not activate it by entering the following command and restarting CUPS.<br />
# ln -s $(which smbspool) /usr/lib/cups/backend/smb<br />
<br />
Next, simply log in on the CUPS web interface and choose to add a new printer. As a device choose "Windows Printer via SAMBA".<br />
<br />
For the device location, enter:<br />
smb://username:password@hostname/printer_name<br />
<br />
Or without a password:<br />
smb://username@hostname/printer_name<br />
<br />
Make sure that the user actually has access to the printer on the Windows computer and select the appropriate drivers. If the computer is located on a domain, make sure the URI includes the domain: <br />
smb://username:password@domain/hostname/printer_name<br />
<br />
=====Manual configuration=====<br />
<br />
{{Accuracy|This should probably use lpadmin instead of editing the config file}}<br />
<br />
For manual configuration stop the CUPS daemon and add your printer to {{ic|/etc/cups/printers.conf}}, which might for example look like this<br />
{{hc|/etc/cups/printers.conf|2=<br />
<DefaultPrinter MyPrinter><br />
AuthInfoRequired username,password<br />
Info My printer via SAMBA<br />
Location In my Office<br />
MakeModel Samsung ML-1250 - CUPS+Gutenprint v5.2.7 # <= use 'lpinfo -m' to list available models<br />
DeviceURI smb://username:password@hostname/printer_name # <= server URI as described in previous section<br />
State Idle<br />
Type 4<br />
Accepting Yes<br />
Shared No<br />
JobSheets none none<br />
QuotaPeriod 0<br />
PageLimit 0<br />
KLimit 0<br />
AllowUser yourusername # <= do not forget to change this<br />
OpPolicy default<br />
ErrorPolicy stop-printer<br />
</Printer><br />
}}<br />
<br />
Then restart the CUPS daemon and try to print a test page.<br />
<br />
=====Finding URIs for Windows print servers=====<br />
<br />
Sometimes Windows is a little less than forthcoming about exact device URIs (device locations). If having trouble specifying the correct device location in CUPS, run the following command to list all shares available to a certain windows username:<br />
$ smbtree -U ''windowsusername''<br />
This will list every share available to a certain Windows username on the local area network subnet, as long as Samba is set up and running properly. It should return something like this:<br />
{{bc| WORKGROUP<br />
\\REGULATOR-PC <br />
\\REGULATOR-PC\Z <br />
\\REGULATOR-PC\Public <br />
\\REGULATOR-PC\print$ Printer Drivers<br />
\\REGULATOR-PC\G <br />
\\REGULATOR-PC\EPSON Stylus CX8400 Series EPSON Stylus CX8400 Series}}<br />
What is needed here is first part of the last line, the resource matching the printer description. So to print to the EPSON Stylus printer, one would enter:<br />
smb://username.password@REGULATOR-PC/EPSON Stylus CX8400 Series<br />
as the URI into CUPS.<br />
<br />
==Remote administration==<br />
<br />
Once the server is set up as described in [[#Between GNU/Linux systems]], it can also be configured so that it can be remotely administered. Add the allowed hosts to the {{ic|<Location /admin>}} block in {{ic|/etc/cups/cupsd.conf}}, using the same syntax as described in [[#Manual setup]]. Note that three levels of access can be granted:<br />
<br />
<Location /> #access to the server<br />
<Location /admin> #access to the admin pages<br />
<Location /admin/conf> #access to configuration files<br />
<br />
To give remote hosts access to one of these levels, add an {{ic|Allow}} statement to that level's section. An {{ic|Allow}} statement can take one or more of the forms listed below:<br />
Allow from all<br />
Allow from host.domain.com<br />
Allow from *.domain.com<br />
Allow from ip-address<br />
Allow from ip-address/netmask<br />
Allow from @LOCAL<br />
<br />
Deny statements can also be used. For example, to give full access to all hosts on your local network interfaces, edit {{ic|/etc/cups/cupsd.conf}} to include this:<br />
# Restrict access to the server...<br />
# By default only localhost connections are possible<br />
<Location /><br />
Order allow,deny<br />
'''Allow from @LOCAL'''<br />
</Location><br />
<br />
# Restrict access to the admin pages...<br />
<Location /admin><br />
Order allow,deny<br />
'''Allow from @LOCAL'''<br />
</Location><br />
<br />
# Restrict access to configuration files...<br />
<Location /admin/conf><br />
AuthType Basic<br />
Require user @SYSTEM<br />
Order allow,deny<br />
'''Allow from @LOCAL'''<br />
</Location><br />
<br />
{{Accuracy|CUPS generates a certificate automatically so this should not be an issue}}<br />
<br />
You might also need to add:<br />
<br />
DefaultEncryption Never<br />
<br />
This should avoid the error: 426 - Upgrade Required when using the CUPS web interface from a remote machine.<br />
<br />
=== Kerberos ===<br />
<br />
[[Kerberos]] can be used to authenticate users accessing a remote CUPS server. This assumes that your machine has a keytab and it will need a ticket for "HTTP". Instead of using {{ic|<nowiki>http://localhost:631</nowiki>}} you must use {{ic|<nowiki>https://host.example.co.uk:631</nowiki>}} - encryption is required for auth (hence https) and the full hostname is needed so that Kerberos/Negotiate can work. In addition, the server must be configured in {{ic|/etc/cups/cupsd.conf}} to use a {{ic|DefaultAuthType}} of {{ic|Negotiate}}.<br />
<br />
If you are using [[Samba]]'s winbind NSS support, you can add an AD group name to {{ic|/etc/cups/cups-files.conf}} - in the following example {{ic|sysadmin}} might be an AD group: <br />
SystemGroup sys root sysadmin<br />
<br />
==Troubleshooting==<br />
<br />
See [[CUPS/Troubleshooting]] for general troubleshooting tips.<br />
<br />
===Cannot print with GTK applications===<br />
If you get a ''getting printer information failed'' message when you try to print from GTK applications, add this line to your {{ic|/etc/hosts}}:<br />
# serverip some.name.org ServersHostname<br />
<br />
=== Permission errors on Windows ===<br />
<br />
Some users fixed 'NT_STATUS_ACCESS_DENIED' (Windows clients) errors by using a slightly different syntax:<br />
smb://workgroup/username:password@hostname/printer_name<br />
<br />
==Other operating systems==<br />
More information on interfacing CUPS with other printing systems can be found in the CUPS manual, e.g. on http://localhost:631/help/network.html</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=HiDPI&diff=495895HiDPI2017-11-09T22:16:25Z<p>WhitleyStriber: Removed dead link</p>
<hr />
<div>[[Category:Graphics]]<br />
[[ja:HiDPI]]<br />
{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related articles end}}<br />
HiDPI (High Dots Per Inch) displays, also known by Apple's "[[wikipedia:Retina Display|Retina Display]]" marketing name, are screens with a high resolution in a relatively small format. They are mostly found in high-end laptops and monitors.<br />
<br />
Not all software behaves well in high-resolution mode yet. Here are listed most common tweaks which make work on a HiDPI screen more pleasant.<br />
<br />
== Desktop environments ==<br />
<br />
=== GNOME ===<br />
<br />
To enable HiDPI, use gsettings:<br />
<br />
$ gsettings set org.gnome.desktop.interface scaling-factor 2<br />
<br />
{{Note|1={{ic|scaling-factor}} only allows whole numbers to be set. 1 = 100%, 2 = 200%, etc...}}<br />
<br />
A setting of {{ic|2, 3, etc}}, which is all you can do with {{ic|scaling-factor}}, may not be ideal for certain HiDPI displays and smaller screens (e.g. small tablets). <br />
<br />
You can achieve any non-integer scale factor by using a combination of GNOME's {{ic|scaling-factor}} and [[xrandr]]. This combination keeps the TTF fonts properly scaled so that they do not become blurry if using {{ic|xrandr}} alone. You specify zoom-in factor with {{ic|gsettings}} and zoom-out factor with [[xrandr]].<br />
<br />
First scale GNOME up to the minimum size which is too big. Usually "2" is already too big, otherwise try "3" etc. Then start scaling down by setting zoom-out factor with [[xrandr]]. First get the relevant output name, the examples below use {{ic|eDP1}}. Start e.g. with zoom-out 1.25 times. If the UI is still too big, increase the scale factor; if it is too small decrease the scale factor.<br />
$ xrandr --output eDP1 --scale 1.25x1.25<br />
<br />
{{Note|To allow the mouse to reach the whole screen, you may need to use the {{ic|--panning}} option as explained in [[#Side display]].}}<br />
<br />
{{Accuracy|The following was initially added under [[#X Resources]]. Clarify how it integrates with the info there or that above for GNOME.|section=GNOME ignores X settings}}<br />
<br />
GNOME ignores X settings due to its xsettings Plugin in Gnome Settings Daemon, where DPI setting is hard coded.<br />
There is blog entry for [http://blog.drtebi.com/2012/12/changing-dpi-setting-on-gnome-34.html recompiling Gnome Settings Daemon].<br />
In the source documentation there is another way mentioned to set X settings DPI:<br />
<br />
You can use the dconf Editor and navigate to key <br />
<br />
/org/gnome/settings-daemon/plugins/xsettings/overrides<br />
<br />
and complement the entry with the value<br />
<br />
'Xft/DPI': <153600><br />
<br />
From README.xsettings<br />
<br />
Noting that variants must be specified in the usual way (wrapped in <>).<br />
<br />
Note also that DPI in the above example is expressed in 1024ths of an inch.<br />
<br />
=== KDE ===<br />
<br />
KDE plasma 5 provides excellent support for HiDPI screens out of the box.<br />
You can set the correct DPI by [[#Using KDE system settings]]. Alternatives are to use [[SDDM#DPI settings]] or the [[#X Server]]. However, it seems that Gtk+ applications ignore both SDDM and X settings. You can fix this by creating a custom login session as follows:<br />
<br />
{{Style|Comply with [[Help:Style#File editing requests]] (i.e. do not use ''sed'').}}<br />
<br />
# cp /usr/share/xsessions/plasma.desktop /usr/share/xsessions/plasma-custom.desktop<br />
# sed -i 's/\/usr\/bin\/startkde/\/usr\/bin\/startkde-custom/g' /usr/share/xsessions/plasma-custom.desktop<br />
# sed -i 's/Plasma/Plasma (custom)/g' /usr/share/xsessions/plasma-custom.desktop<br />
<br />
Create {{ic|/usr/bin/startkde-custom}} with the following contents:<br />
<br />
#!/bin/bash<br />
export GDK_SCALE=2<br />
export GDK_DPI_SCALE=-1<br />
export XCURSOR_SIZE=48<br />
/usr/bin/startkde "$@"<br />
<br />
The negative dpi scale ensures that the text is sized correctly on a 15" Retina Macbook Pro. You may need to adjust these values depending on your display.<br />
<br />
Do not forget to ensure that the script can be executed ({{ic|# chmod +x /usr/bin/startkde-custom}}). Logout and choose your new custom session (you may need to restart your display manager for it to show up) and GTK+ applications should be scaled correctly.<br />
<br />
==== Using KDE system settings ====<br />
<br />
You can use KDE's settings to fine tune font, icon, and widget scaling. This solution affects both Qt and Gtk+ applications.<br />
<br />
To adjust font, widget, and icon scaling together:<br />
<br />
# System Settings → Display and Monitor → Display Configuration → Scale Display (note: if you set a not integer value it may create issue with the font render in some application )<br />
# Drag the slider to the desired size<br />
# Restart for the settings to take effect<br />
<br />
To adjust only font scaling:<br />
<br />
# System Settings → Fonts<br />
# Check "Force fonts DPI" and adjust the DPI level to the desired value. This setting should take effect immediately for newly started applications. You will have to logout and login for it to take effect on Plasma desktop.<br />
<br />
To adjust only icon scaling:<br />
<br />
# System Settings → Icons → Advanced<br />
# Choose the desired icon size for each category listed. This should take effect immediately.<br />
<br />
==== Tray icons with fixed size ====<br />
<br />
If the tray icons are not scaled with the rest of the desktop, the size can be set in the Plasma configuration. System-wide configuration is located in the file {{ic|/usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/config/main.xml}}, where the dimension of icons can be controlled by editing the default value for ''iconSize'' (a value of 2 should be fine):<br />
{{hc|/usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/config/main.xml|<nowiki><br />
<entry name="iconSize" type="Int"><br />
<label>Default icon size for the systray icons, it's an enum which values mean, <br />
Small, SmallMedium, Medium, Large, Huge, Enormous respectively. On low <br />
DPI systems they correspond to 16, 22, 32, 48, 64, 128 pixels. On high<br />
DPI systems those values would be scaled up, depending on the DPI.</label> <br />
<default></nowiki>'''2'''<nowiki></default><br />
</entry><br />
</nowiki>}}<br />
User configuration is located in the file {{ic|~/.config/plasma-org.kde.plasma.desktop-appletsrc}}. The section containing the settings for the tray bar should look similar to this; if the {{ic|iconSize}} field is not present, add it.<br />
{{hc|head=~/.config/plasma-org.kde.plasma.desktop-appletsrc|output=<nowiki><br />
[Containments][47][General]<br />
extraItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.printmanager,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.notifications,org.kde.plasma.networkmanagement,org.kde.plasma.devicenotifier<br />
hiddenItems=org.kde.ktp-contactlist,org.kde.plasma.battery<br />
knownItems=org.kde.plasma.mediacontroller,org.kde.plasma.battery,org.kde.plasma.printmanager,org.kde.plasma.bluetooth,org.kde.plasma.clipboard,org.kde.plasma.notifications,org.kde.plasma.networkmanagement,org.kde.plasma.devicenotifier<br />
shownItems=org.kde.plasma.notifications,org.kde.plasma.clipboard<br />
</nowiki>'''iconSize=2'''<nowiki><br />
</nowiki>}}<br />
<br />
=== Xfce ===<br />
<br />
Go to Settings Manager → Appearance → Fonts, and change the DPI parameter. The value of 180 or 192 seems to work well on Retina screens. To get a more precise number, you can use {{ic|<nowiki>xdpyinfo | grep resolution</nowiki>}}, and then double it.<br />
<br />
To enlarge icons in system tray, right-click on it (aim for empty space / top pixels / bottom pixels, so that you will not activate icons themselves) → “Properties” → set “Maximum icon size” to 32, 48 or 64.<br />
<br />
=== Cinnamon ===<br />
<br />
Has good support out of the box.<br />
<br />
=== Enlightenment ===<br />
<br />
For E18, go to the E Setting panel. In Look → Scaling, you can control the UI scaling ratios. A ratio of 1.2 seems to work well for the native resolution of the MBPr 15" screen.<br />
<br />
== X Server ==<br />
<br />
Some programs use the DPI given by the X server. Examples are i3 ([https://github.com/i3/i3/blob/next/libi3/dpi.c source]) and Chromium ([https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/widget/desktop_aura/desktop_screen_x11.cc source]).<br />
<br />
To verify that the X Server has properly detected the physical dimensions of your monitor, use the ''xdpyinfo'' utility from the {{Pkg|xorg-xdpyinfo}} package:<br />
<br />
$ xdpyinfo | grep -B 2 resolution<br />
screen #0:<br />
dimensions: 3200x1800 pixels (423x238 millimeters)<br />
resolution: 192x192 dots per inch<br />
<br />
This example uses inaccurate dimensions (423mm x 328mm, even though the Dell XPS 9530 has 346mm x 194mm) to have a clean multiple of 96 dpi, in this case 192 dpi. This tends to work better than using the correct DPI — Pango renders fonts crisper in i3 for example.<br />
<br />
If the DPI displayed by xdpyinfo is not correct, see [[Xorg#Display size and DPI]] for how to fix it.<br />
<br />
== X Resources ==<br />
<br />
If you are not using a desktop environment such as KDE, Xfce, or other that manipulates the X settings for you, you can set the desired DPI setting manually via the {{ic|Xft.dpi}} variable in [[Xresources]]:<br />
<br />
{{hc|~/.Xresources|<nowiki><br />
Xft.dpi: 180<br />
Xft.autohint: 0<br />
Xft.lcdfilter: lcddefault<br />
Xft.hintstyle: hintfull<br />
Xft.hinting: 1<br />
Xft.antialias: 1<br />
Xft.rgba: rgb<br />
</nowiki>}}<br />
<br />
Make sure the settings are loaded properly when X starts, for instance in your {{ic|~/.xinitrc}} with {{ic|xrdb -merge ~/.Xresources}} (see [[Xresources]] for more information).<br />
<br />
This will make the font render properly in most toolkits and applications, it will however not affect things such as icon size!<br />
Setting {{ic|Xft.dpi}} at the same time as toolkit scale (e.g. {{ic|GDK_SCALE}}) may cause interface elements to be much larger than intended in some programs like firefox.<br />
<br />
== GUI toolkits ==<br />
<br />
=== Qt 5 ===<br />
<br />
Since Qt 5.6, Qt 5 applications can be instructed to honor screen DPI by setting the {{ic|QT_AUTO_SCREEN_SCALE_FACTOR}} environment variable:<br />
<br />
export QT_AUTO_SCREEN_SCALE_FACTOR=1<br />
<br />
If automatic detection of DPI does not produce the desired effect, scaling can be set manually per-screen ({{ic|QT_SCREEN_SCALE_FACTORS}}) or globally ({{ic|QT_SCALE_FACTOR}}). For more details see the [https://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/ Qt blog post].<br />
<br />
{{Note|<br />
* If you manually set the screen factor, it is important to set {{ic|1=QT_AUTO_SCREEN_SCALE_FACTOR=0}} otherwise some applications which explicitly force high DPI enabling get scaled twice.<br />
* {{ic|QT_SCALE_FACTOR}} scales fonts, but {{ic|QT_SCREEN_SCALE_FACTORS}} does not scale fonts.<br />
* If you also set the font DPI manually in ''xrdb'' to support other toolkits, {{ic|QT_SCALE_FACTORS}} will give you huge fonts.<br />
}}<br />
<br />
=== GDK 3 (GTK+ 3) ===<br />
<br />
To scale UI elements by a factor of two:<br />
<br />
export GDK_SCALE=2<br />
<br />
To undo scaling of text:<br />
<br />
export GDK_DPI_SCALE=0.5<br />
<br />
=== GTK+ 2 ===<br />
<br />
Scaling of UI elements is not supported by the toolkit itself, however it's possible to generate a theme with elements pre-scaled for HiDPI display using {{AUR|oomox-git}}.<br />
<br />
=== Elementary (EFL) ===<br />
<br />
To scale UI elements by a factor of 1.5:<br />
<br />
export ELM_SCALE=1.5<br />
<br />
For more details see https://phab.enlightenment.org/w/elementary/<br />
<br />
== Boot managers ==<br />
<br />
=== GRUB ===<br />
<br />
Set a lower resolution for the framebuffer as explained in [[GRUB/Tips and tricks#Setting the framebuffer resolution]].<br />
<br />
== Applications ==<br />
<br />
=== Browsers ===<br />
<br />
==== Firefox ====<br />
<br />
Firefox should use the [[#GDK 3 (GTK+ 3)]] settings.<br />
<br />
To override those, open Firefox advanced preferences page ({{ic|about:config}}) and set parameter {{ic|layout.css.devPixelsPerPx}} to {{ic|2}} (or find the one that suits you better; {{ic|2}} is a good choice for Retina screens).<br />
<br />
If you use a HiDPI monitor such as Retina display together with another monitor, you can use [https://addons.mozilla.org/en-US/firefox/addon/autohidpi/ AutoHiDPI] add-on in order to automatically adjust {{ic|layout.css.devPixelsPerPx}} setting for the active screen. Also, since Firefox version 49, it auto-scales based on your screen resolution, making it easier to deal with 2 or more screens.<br />
<br />
==== Chromium / Google Chrome ====<br />
<br />
Chromium should use the [[#GDK 3 (GTK+ 3)]] settings.<br />
<br />
To override those, use the {{ic|1=--force-device-scale-factor}} flag with a scaling value. This will scale all content and ui, including tab and font size. For example {{ic|1=chromium --force-device-scale-factor=2}}.<br />
<br />
Using this option, a scaling factor of 1 would be normal scaling. Floating point values can be used. To make the change permanent, for Chromium, you can add it to {{ic|~/.config/chromium-flags.conf}}:<br />
<br />
{{hc|~/.config/chromium-flags.conf|2=--force-device-scale-factor=2}}<br />
<br />
If you use a HiDPI monitor such as Retina display together with another monitor, you can use the [https://chrome.google.com/webstore/detail/resolution-zoom/enjjhajnmggdgofagbokhmifgnaophmh reszoom] extension in order to automatically adjust the zoom level for the active screen.<br />
<br />
==== Opera ====<br />
<br />
Opera should use the [[#GDK 3 (GTK+ 3)]] settings.<br />
<br />
To override those, use the {{ic|1=--alt-high-dpi-setting=X}} command line option, where X is the desired DPI. For example, with {{ic|1=--alt-high-dpi-setting=144}} Opera will assume that DPI is 144. Newer versions of opera will auto detect the DPI using the font DPI setting (in KDE: the force font DPI setting.)<br />
<br />
=== Thunderbird ===<br />
<br />
See [[#Firefox]]. To access {{ic|about:config}}, go to Edit → Preferences → Advanced → Config editor.<br />
<br />
=== Wine applications ===<br />
<br />
Run<br />
$ winecfg<br />
and change the "dpi" setting found in the "Graphics" tab. This only affects the font size.<br />
<br />
=== Skype ===<br />
<br />
The new Skype for Linux with the {{AUR|skypeforlinux-bin}} package uses [[#GTK+ 2]].<br />
<br />
The old legacy Skype ({{AUR|skype}}) uses Qt 4, and needs to be configured separately. You cannot change the DPI setting for it, but at least you can change font size. Install {{Pkg|qt4}} and run {{ic|qtconfig-qt4}} to do it.<br />
<br />
=== Spotify ===<br />
<br />
Spotify can be launched with a custom scaling factor, for example<br />
$ spotify --force-device-scale-factor=1.5<br />
<br />
=== Zathura document viewer ===<br />
<br />
No modifications required for document viewing.<br />
<br />
UI text scaling is specified via [https://pwmt.org/projects/zathura/documentation/ configuration file] (note that "font" is a [https://pwmt.org/projects/girara/options/ girara option]):<br />
<br />
set font "monospace normal 20"<br />
<br />
=== Sublime Text 3 ===<br />
Sublime Text 3 has full support for display scaling. Go to Preferences > Settings > User Settings and add {{ic|"dpi_scale": 2.0}} to your settings [http://blog.wxm.be/2014/08/30/sublime-text-3-and-high-dpi-on-linux.html (source)].<br />
<br />
=== IntelliJ IDEA ===<br />
<br />
IntelliJ IDEA 15 and above should include HiDPI support.[http://blog.jetbrains.com/idea/2015/07/intellij-idea-15-eap-comes-with-true-hidpi-support-for-windows-and-linux/] If it does not work, the most convenient way to fix the problem in this case seems to be changing the Override Default Fonts setting:<br />
<br />
:''File -> Settings -> Behaviour & Appearance -> Appearance''<br />
<br />
The addition of {{ic|1=-Dhidpi=true}} to the vmoptions file in either {{ic|$HOME/.IdeaC14/}} or {{ic|/usr/share/intelligj-idea-ultimate-edition/bin/}} of [https://youtrack.jetbrains.com/issue/IDEA-114944 release 14] should not be required anymore.<br />
<br />
=== NetBeans ===<br />
<br />
NetBeans allows the font size of its interface to be controlled using the {{ic|1=--fontsize}} parameter during startup. To make this change permanent edit the {{ic|1=/usr/share/netbeans/etc/netbeans.conf}} file and append the {{ic|1=--fontsize}} parameter to the {{ic|1=netbeans_default_options}} property.[http://wiki.netbeans.org/FaqFontSize]<br />
<br />
The editor fontsize can be controlled from Tools → Option → Fonts & Colors.<br />
<br />
The output window fontsize can be controlled from Tools → Options → Miscelaneous → Output<br />
<br />
=== Gimp 2.8 ===<br />
<br />
Use a high DPI theme, or adjust {{ic|1=gtkrc}} of an existing theme. (Change all occurrences of the size {{ic|1=button}} to {{ic|1=dialog}}, for example {{ic|1=GimpToolPalette::tool-icon-size}}.)<br />
<br />
There is also the [https://github.com/jedireza/gimp-hidpi gimp-hidpi].<br />
<br />
=== Steam ===<br />
<br />
The [https://github.com/MoriTanosuke/HiDPI-Steam-Skin HiDPI-Steam-Skin] can be installed to increase the font size of the interface. While not perfect, it does improve usability. <br />
<br />
{{Note|The README for the HiDPI skin lists several possible locations for where to place the skin. The correct folder out of these can be identified by the presence of a file named {{ic|1=skins_readme.txt}}.}}<br />
<br />
[http://steamcommunity.com/groups/metroskin/discussions/0/517142253861033946/ MetroSkin Unofficial Patch] also helps with HiDPI on Steam with Linux.<br />
<br />
=== Java applications ===<br />
<br />
Java applications using the AWT/Swing framework can be scaled by defining the sun.java2d.uiScale variable when invoking java. For example,<br />
<br />
java -Dsun.java2d.uiScale=2 -jar some_application.jar<br />
<br />
=== Mono applications ===<br />
<br />
According to [https://bugzilla.xamarin.com/show_bug.cgi?id=35870], Mono applications should be scalable like [[#GDK 3 (GTK+ 3)|GTK3]] applications.<br />
<br />
=== MATLAB ===<br />
<br />
Recent versions (R2017b) of [[Matlab|MATLAB]] allow to set the scale factor:<br />
>> s = settings;s.matlab.desktop.DisplayScaleFactor<br />
>> s.matlab.desktop.DisplayScaleFactor.PersonalValue = 2<br />
The settings take effect after MATLAB is restarted.<br />
<br />
=== Unsupported applications ===<br />
<br />
{{AUR|run_scaled-git}} can be used to scale applications (which uses {{AUR|xpra}} internally).<br />
<br />
Another approach is to run the application full screen and without decoration in its own VNC desktop. Then scale the viewer. With Vncdesk ({{AUR|vncdesk-git}} from the [[AUR]]) you can set up a desktop per application, then start server and client with a simple command such as {{ic|vncdesk 2}}.<br />
<br />
[[x11vnc]] has an experimental option {{ic|-appshare}}, which opens one viewer per application window. Perhaps something could be hacked up with that.<br />
<br />
== Multiple displays ==<br />
The HiDPI setting applies to the whole desktop, so non-HiDPI external displays show everything too large.<br />
<br />
=== Side display ===<br />
One workaround is to use [[xrandr]]'s scale option. To have a non-HiDPI monitor (on DP1) right of an internal HiDPI display (eDP1), one could run:<br />
<br />
xrandr --output eDP-1 --auto --output DP-1 --auto --scale 2x2 --right-of eDP-1<br />
<br />
When extending above the internal display, you may see part of the internal display on the external monitor. In that case, specify the position manually, e.g. using [https://gist.github.com/wvengen/178642bbc8236c1bdb67 this script].<br />
<br />
You may run into problems with your mouse not being able to reach the whole screen. That is a [https://bugs.freedesktop.org/show_bug.cgi?id=39949 known bug] with an xserver-org patch (or try the panning option, but that might cause other problems).<br />
<br />
An example of the panning syntax for a 4k laptop with an external 1920x1080 monitor to the right:<br />
<br />
xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP-1<br />
<br />
Generically if your HiDPI monitor is AxB pixels and your regular monitor is CxD and you are scaling by [ExF], the commandline for right-of is:<br />
<br />
xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1<br />
<br />
If panning is not a solution for you it may be better to set position of monitors and fix manually the total display screen.<br />
<br />
An example of the syntax for a 2560x1440 WQHD 210 DPI laptop monitor (eDP1) using native resolution placed below a 1920x1080 FHD 96 DPI external monitor (HDMI) scaled to match global DPI settings:<br />
<br />
xrandr --output eDP-1 --auto --pos 0x1458 --output HDMI-1 --scale 1.35x1.35 --auto --pos 0x0 --fb 2592x2898<br />
<br />
The total screen size (--fb) and positioning (--pos) are to be calculated taking into account the scaling factor.<br />
<br />
In this case laptop monitor (eDP1) has no scaling and uses native mode for resolution so it will total 2560x1440, but external monitor (HDMI) is scaled and it has to be considered a larger screen so (1920*1.35)x(1080*1.35) from where the eDP1 Y position came 1080*1.35=1458 and the total screen size: since one on top of the other X=(greater between eDP1 and HDMI, so 1920*1.35=2592) and Y=(sum of the calculated heights of eDP1 and HDMI, so 1440+(1080*1.35)=2898).<br />
<br />
Generically if your hidpi monitor is AxB pixels and your regular monitor is CxD and you are scaling by [ExF] and hidpi is placed below regular one, the commandline for right-of is:<br />
<br />
xrandr --output eDP-1 --auto --pos 0x(DxF) --output HDMI-1 --auto --scale [E]x[F] --pos 0x0 --fb [greater between A and (C*E)]x[B+(D*F)]<br />
<br />
You may adjust the "sharpness" parameter on your monitor settings to adjust the blur level introduced with scaling.<br />
<br />
{{Note|1=Above solution with {{ic|--scale 2x2}} does not work on some Nvidia cards. No solution is currently available.[https://bbs.archlinux.org/viewtopic.php?pid=1670840]}}<br />
<br />
=== Mirroring ===<br />
<br />
If all you want is to mirror ("unify") displays, this is easy as well:<br />
<br />
With AxB your native HiDPI resolution (for ex 3200x1800) and CxD your external screen resolution (for ex 1920x1200)<br />
<br />
xrandr --output HDMI --scale [A/C]x[B/D]<br />
<br />
In this example which is QHD (3200/1920 = 1.66 and 1800/1200 = 1.5)<br />
<br />
xrandr --output HDMI --scale 1.66x1.5<br />
<br />
For UHD to 1080p (3840/1920=2 2160/1080=2)<br />
<br />
xrandr --output HDMI --scale 2x2<br />
<br />
You may adjust the "sharpness" parameter on your monitor settings to adjust the blur level introduced with scaling.<br />
<br />
== Linux console ==<br />
<br />
The default [[w:Linux console|Linux console]] font will be very small on hidpi displays, the largest font present in the {{Pkg|kbd}} package is {{ic|latarcyrheb-sun32}} and other packages like {{Pkg|terminus-font}} contain further alternatives, such as {{ic|ter-132n}}(normal) and {{ic|ter-132b}}(bold). See [[Fonts#Console fonts]] for configuration details.<br />
<br />
After changing the font, it is often garbled and unreadable when changing to other virtual consoles ({{ic|tty2-6}}). To fix this you can [[Kernel_mode_setting#Forcing_modes_and_EDID|force specific mode]] for KMS, such as {{ic|1=video=2560x1600@60}} (substitute in the native resolution of your HiDPI display), and reboot.<br />
<br />
== See also ==<br />
<br />
* [http://www.phoronix.com/scan.php?page=article&item=linux_uhd4k_gpus Ultra HD 4K Linux Graphics Card Testing] (Nov 2013)<br />
* [http://www.eizo.com/library/basics/pixel_density_4k/ Understanding pixel density]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=472887Dell XPS 152017-04-03T15:32:33Z<p>WhitleyStriber: Added Chromium touchpad gesture issue.</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the [[Dell_XPS_15_(9550)|XPS 9550]] variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
* Connect external sound card via USB<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]]. See also [[Hybrid graphics]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
To fix screen flickering issues add {{ic|1=i915.edp_vswing=2}} [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ to your boot parameters].<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
The Display Port can be accessed with a USB-C to Display Port adaptor, it should be a adaptor that works via "alternate mode" such as the plugable cable [http://plugable.com/products/usbc-dp/] (known to work), there are other adaptors that did not work (KiWiBiRD USB 3.1 Type C THUNDERBOLT 3 to DisplayPort 4K Adapter), though why it didn't is unknown.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [[i3wm]])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br>• Battery will not charge beyond 60%. The fix is to download and flash [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe 1.2.14 BIOS or later] Flashing 01.02.00 will be pointless after, as the issue carries over to this version of BIOS.<br />
<br />
'''01.02.14''' ''[http://downloads.dell.com/FOLDER03906910M/1/Precision_5510_1.2.14.exe Download]''<br />
<br>• User [https://www.reddit.com/r/Dell/comments/51wr31/dell_xps15_9550_bios_1214_fixes_battery_at_60/ report] that the issue with the battery is fixed<br />
<br>• Still has black screen upon resume issue. To turn screen on, increase brightness to maximum using keyboard. It is not possible to decrease brightness after resume, either maximum or off.<br />
<br>• Increasing the brightness (eg, with xbacklight) by less than 9% does not have any effect. Decreasing by less than 9% always results in a decrease of 9%.<br />
<br />
'''1.02.16''' ''[http://downloads.dell.com/FOLDER04030973M/1/XPS_9550_1.2.16.exe Download]''<br />
<br>• "Black screen upon resume" issue appears to have been fixed!<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
Closing the lid causes the system to shutdown. This can be fixed by writing this into {{ic|/etc/systemd/sleep.conf}}:<br />
[Sleep]<br />
HibernateState=disk<br />
HibernateMode=shutdown<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=204739 Source]<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
The 1.2.21 BIOS update has caused many users to lose mouse scrolling in Chromium. [https://bugs.chromium.org/p/chromium/issues/detail?id=647038 A bug report has been opened about the issue.] A workaround would be to disable Smooth Scrolling in chrome://flags<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos & Helpful Info ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]<br />
* [https://bbs.archlinux.org/viewtopic.php?id=204739 Arch on New XPS 15 (Late 2015)]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Laptop_Mode_Tools&diff=467482Laptop Mode Tools2017-02-02T20:27:58Z<p>WhitleyStriber: Removed 404 sup tag</p>
<hr />
<div>[[Category:Laptops]]<br />
[[Category:Power management]]<br />
[[de:Laptop Mode Tools]]<br />
[[fr:Laptop Mode Tools]]<br />
[[it:Laptop Mode Tools]]<br />
[[ja:Laptop Mode Tools]]<br />
[[ru:Laptop Mode Tools]]<br />
[[zh-hans:Laptop Mode Tools]]<br />
{{Related articles start}}<br />
{{Related|acpid}}<br />
{{Related|systemd}}<br />
{{Related|cpufrequtils}}<br />
{{Related|pm-utils}}<br />
{{Related|Laptop}}<br />
{{Related|Powertop}}<br />
{{Related|TLP}}<br />
{{Related articles end}}<br />
<br />
[https://github.com/rickysarraf/laptop-mode-tools Laptop Mode Tools] is a laptop power saving package for Linux systems. It is the primary way to enable the Laptop Mode feature of the Linux kernel, which lets your hard drive spin down. In addition, it allows you to tweak a number of other power-related settings using a simple configuration file.<br />
<br />
Combined with [[acpid]] and [[CPU frequency scaling]], LMT provides most users with a complete notebook power management suite.<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{AUR|laptop-mode-tools}} package or the {{AUR|laptop-mode-tools-git}} package.<br />
<br />
== Configuration ==<br />
<br />
Configuration is handled through:<br />
<br />
* {{ic|/etc/laptop-mode/laptop-mode.conf}} - primary configuration file.<br />
* {{ic|/etc/laptop-mode/conf.d/*}} - dozens of feature-specific "modules". <br />
<br />
Each module can be explicitly {{ic|enabled}}, {{ic|disabled}}, or set to {{ic|auto}} by changing the {{ic|CONTROL_*}} argument of any file in {{ic|conf.d/}}. LMT will attempt enable any modules where {{ic|CONTROL_*}} is set to {{ic|auto}} if {{ic|ENABLE_AUTO_MODULES}} is set in {{ic|/etc/laptop-mode/laptop-mode.conf}}. There are two exceptions to the above rule: {{ic|auto-hibernate.conf}} and {{ic|battery-level-polling.conf}} use an {{ic|ENABLE_*}} variable instead of {{ic|CONTROL_*}}.<br />
<br />
To quickly check which modules are enabled, disabled or auto, run:<br />
<br />
$ grep -r '^\(CONTROL\&#124;ENABLE\)_' /etc/laptop-mode/conf.d<br />
<br />
Finally, [[enable]] {{ic|laptop-mode.service}}.<br />
<br />
=== Hard disks ===<br />
<br />
For this you need to have ''hdparm'' and/or ''sdparm'' installed. See [[Hdparm]].<br />
<br />
Spinning down the hard drive through {{Ic|hdparm -S}} values saves power and makes everything a lot more quiet. By using the readahead function you can allow the drives to spin down more often even though you are using the computer. LMT can also establish {{Ic|hdparm -B}} values. The maximum hard drive power saving is 1 and the minimum is 254. For example, set this value to 254 when on AC and 20 when on battery. If you find that normal activity hangs often while waiting for the disk to spin up, it might be a good idea to set it to a higher value (e.g. 128) which will make it spin down less often. {{Ic|hdparm -S}} and {{Ic|hdparm -B}} values are configured in {{ic|/etc/laptop-mode/laptop-mode.conf}}.<br />
<br />
{{Warning|Spinning down a hard drive too frequently can shorten its lifespan. Take care when choosing a proper value.}}<br />
<br />
With the {{ic|CONTROL_MOUNT_OPTIONS}} variable (default on), laptop-mode-tools automatically remounts your partitions, appending {{ic|1=commit=600,noatime}} in the mount options. This keeps the journaling program jbd2 from accessing your disk every few seconds, instead the disk journal gets updated every 10 minutes.<br />
<br />
{{Warning|With this setting you could lose up to 10 minutes of work. Also be sure not to use the {{Ic|atime}} mount option. Use {{Ic|noatime}} or {{Ic|relatime}} instead.}}<br />
<br />
{{Note|1={{ic|CONTROL_MOUNT_OPTIONS}} should not be turned on with nilfs2 partitions. Refer to this thread on the forum: https://bbs.archlinux.org/viewtopic.php?id=134656}}<br />
<br />
==== Solid state drives ====<br />
<br />
From the [http://samwel.tk/laptop_mode/faq official, upstream FAQ]:<br />
<br />
'''Question:''' I have a solid-state disk (SSD) in my machine. Should I enable any of the disk-related parts of laptop-mode-tools, or are they irrelevant?<br />
<br />
'''Answer:''' They may be relevant, because (a) laptop mode will reduce the number of writes, which improves the lifetime of an SSD, and (b) laptop mode makes writes bursty, which enables power saving mechanisms like ALPM to kick in. However, your mileage may vary depending on the specific hardware involved. For some hardware, you will get no gain at all, for some the gain may be substantial.<br />
<br />
=== CPU frequency ===<br />
<br />
For this you need to have a CPU frequency driver installed. See [[CPU frequency scaling]].<br />
<br />
# cpufreq.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
CONTROL_CPU_FREQUENCY=1<br />
BATT_CPU_MAXFREQ=fastest<br />
BATT_CPU_MINFREQ=slowest<br />
BATT_CPU_GOVERNOR=ondemand<br />
BATT_CPU_IGNORE_NICE_LOAD=1<br />
LM_AC_CPU_MAXFREQ=fastest<br />
LM_AC_CPU_MINFREQ=slowest<br />
LM_AC_CPU_GOVERNOR=ondemand<br />
LM_AC_CPU_IGNORE_NICE_LOAD=1<br />
NOLM_AC_CPU_MAXFREQ=fastest<br />
NOLM_AC_CPU_MINFREQ=slowest<br />
NOLM_AC_CPU_GOVERNOR=ondemand<br />
NOLM_AC_CPU_IGNORE_NICE_LOAD=0<br />
CONTROL_CPU_THROTTLING=0<br />
<br />
=== Device and bus ===<br />
<br />
==== Intel SATA ====<br />
<br />
* Enable the Intel SATA AHCI controller Aggressive Link Power Management feature to set the disk link into a very low power mode in the absence of disk IO.<br />
<br />
# intel-sata-powermgmt.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_SATA_POWER=1<br />
BATT_ACTIVATE_SATA_POWER=1<br />
LM_AC_ACTIVATE_SATA_POWER=1<br />
NOLM_AC_ACTIVATE_SATA_POWER=0<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf}} file for additional configuration details.}}<br />
<br />
==== USB autosuspend ====<br />
<br />
{{Tip|USB autosuspend functionality has been moved from the ''usb-autosuspend'' module to the ''runtime-pm'' module. Make sure to replace usb-autosuspend with runtime-pm on /lib/udev/rules.d/99-laptop-mode.rules.}}<br />
<br />
# runtime-pm.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_RUNTIME_AUTOSUSPEND=1<br />
BATT_SUSPEND_RUNTIME=1<br />
LM_AC_SUSPEND_RUNTIME=1<br />
NOLM_AC_SUSPEND_RUNTIME=1<br />
AUTOSUSPEND_TIMEOUT=2<br />
<br />
{{Note|Review the {{ic|/etc/laptop-mode/conf.d/runtime-pm.conf}} file for additional configuration details. If you have an USB tool you always use (like an USB mouse), blacklisting them would stop them from suspending.}}<br />
<br />
=== Display and graphics ===<br />
<br />
==== LCD brightness ====<br />
<br />
* Available brightness values for certain laptops can be obtained by running following command:<br />
<br />
$ cat /proc/acpi/video/VID/LCD/brightness<br />
<br />
===== ThinkPad T40/T42 =====<br />
<br />
For [[wikipedia:ThinkPad|ThinkPad]] T40/T42 notebooks, minimum and maximum brightness values can be obtained by running:<br />
<br />
$ cat /sys/class/backlight/acpi_video0/brightness<br />
$ cat /sys/class/backlight/acpi_video0/max_brightness<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T40/T42 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/thinkpad_screen/brightness"<br />
<br />
===== ThinkPad T60 =====<br />
<br />
* For [[wikipedia:ThinkPad|ThinkPad]] T60 notebooks, minimum and maximum brightness values can be obtained by running:<br />
<br />
$ cat /sys/class/backlight/thinkpad_screen/max_brightness<br />
$ cat /sys/class/backlight/thinkpad_screen/brightness<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/lcd-brightness.conf}} file for additional configuration details.}}<br />
<br />
==== Terminal blanking ====<br />
<br />
# terminal-blanking.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_TERMINAL=1<br />
TERMINALS="/dev/tty1"<br />
BATT_TERMINAL_BLANK_MINUTES=1<br />
BATT_TERMINAL_POWERDOWN_MINUTES=2<br />
LM_AC_TERMINAL_BLANK_MINUTES=10<br />
LM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
NOLM_AC_TERMINAL_BLANK_MINUTES=10<br />
NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/terminal-blanking.conf}} file for additional configuration details.}}<br />
<br />
=== Networking ===<br />
<br />
==== Ethernet ====<br />
<br />
# ethernet.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_ETHERNET=1<br />
LM_AC_THROTTLE_ETHERNET=0<br />
NOLM_AC_THROTTLE_ETHERNET=0<br />
DISABLE_WAKEUP_ON_LAN=1<br />
DISABLE_ETHERNET_ON_BATTERY=1<br />
ETHERNET_DEVICES="eth0"<br />
<br />
==== Wireless LAN ====<br />
<br />
Wireless interface power management settings are hardware-dependent, and thus a bit trickier to configure. Depending on the wireless chipset, the settings are managed in one of the following three files:<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-power.conf}} for a generic method of saving power (using "iwconfig wlan0 power on/off"). This applies to most chipsets (that is, anything but Intel chipsets listed below).<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-ipw-power.conf}} for Intel chipsets driven by the old ipw driver. This apply to IPW3945, IPW2200 and IPW2100. It currently (as of LMT 1.55-1) uses iwpriv for IPW3945, and a combination of iwconfig and iwpriv settings for IPW2100 and IPW220. See {{ic|/usr/share/laptop-mode-tools/modules/wireless-ipw-power}} for details. (note that the ipw3945 is not used anymore, see below)<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}} for Intel chipsets driven by modules iwl4965, iwl3945 and iwlagn (this latter supports chipsets 4965, 5100, 5300, 5350, 5150, 1000, and 6000)<br />
Note that activating the three of them should not be much of a problem, since LMT detects the module used by the interface and acts accordingly.<br />
<br />
The supported modules for each configuration file, indicated above, are taken directly from LMT. However, this seems to be a bit out-of-date, since the current 2.6.34 kernel does not provide the ipw3945 and iwl4965 modules anymore (3945 chipset uses iwl3945 instead, and 4965 uses the generic module iwlagn). This is only brought here for information, as this does not (or should not) affect the way LMT works.<br />
<br />
There is a known issue with some chipsets running with the iwlagn module (namely, the 5300 chipset, and maybe others). On those chipsets, the following settings of {{ic|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}}:<br />
<br />
IWL_AC_POWER<br />
IWL_BATT_POWER<br />
<br />
are ignored, because the {{ic|/sys/class/net/wlan*/device/power_level}} file does not exist. Instead, the standard method (with "iwconfig wlan0 power on/off") is automatically used.<br />
<br />
=== Audio ===<br />
<br />
==== AC97 ====<br />
<br />
# ac97-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_AC97_POWER=1<br />
<br />
==== Intel HDA ====<br />
<br />
# intel-hda-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_HDA_POWER=1<br />
BATT_INTEL_HDA_POWERSAVE=1<br />
LM_AC_INTEL_HDA_POWERSAVE=1<br />
NOLM_AC_INTEL_HDA_POWERSAVE=0<br />
INTEL_HDA_DEVICE_TIMEOUT=10<br />
INTEL_HDA_DEVICE_CONTROLLER=0<br />
<br />
== Tips and tricks ==<br />
<br />
=== Aliases ===<br />
<br />
=== lm-profiler ===<br />
<br />
=== Disabling ===<br />
<br />
== Troubleshooting ==<br />
<br />
=== Laptop-mode-tools is not picking up events ===<br />
<br />
Install {{Pkg|acpid}} and enable its [[systemd]] service {{ic|acpid.service}}.<br />
<br />
If that does not help, go through the laptop-mode configuration files and make sure that the service you want to enable is set to 1. Many services (including cpufreq control) are by default set to "auto", which may not enable them.<br />
<br />
I have experienced issues with bluetooth not working if I boot up with battery, and I fixed it with disabling runtime-pm.<br />
<br />
=== Laptop-mode-tools does not disable on AC ===<br />
<br />
It is possible if you have both laptop-mode-tools and pm-utils installed, they can conflict with each other, causing laptop-mode-tools to not properly set its state.<br />
<br />
This can be fixed by disabling scripts with duplicate functionality in pm-utils. The main cause of this particular issue is the laptop-mode script located in {{ic|/usr/lib/pm-utils/power.d}}. You can stop any unwanted hooks from running by creating a dummy file in {{ic|/etc/pm/power.d}} with the same name as the corresponding {{ic|/usr/lib/pm-utils/power.d}} hook. For example if you want to disable the laptop-mode hook:<br />
<br />
# touch /etc/pm/power.d/laptop-mode<br />
<br />
{{Note|Do not set the executable bit on that dummy-hook.}}<br />
<br />
Its recommended to disable any hook that has equivalent functionality in LMT.<br />
<br />
=== USB Mouse sleeping after 5 seconds when on battery ===<br />
<br />
First find the ID of you device (it sould look like {{ic|046d:c534}}):<br />
<br />
$ lsusb<br />
<br />
Put this value into the {{ic|AUTOSUSPEND_DEVID_BLACKLIST}} variable in {{ic|/etc/laptop-mode/conf.d/runtime-pm.conf}}, for example:<br />
<br />
{{hc|/etc/laptop-mode/conf.d/runtime-pm.conf|2=<br />
...<br />
AUTOSUSPEND_DEVID_BLACKLIST="046d:c534"<br />
...<br />
}}<br />
<br />
Multiple IDs can be seperated with spaces.<br />
{{Note|Don't forget to [[restart]] the laptop-mode service. You might also need to reconnect the USB device.}}<br />
<br />
== See also ==<br />
<br />
* [http://samwel.tk/laptop_mode/ Laptop Mode Tools]<sup>[Broken link: 404]</sup><br />
* [http://mailman.samwel.tk/pipermail/laptop-mode/ Mailing List Archives]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Laptop_Mode_Tools&diff=467481Laptop Mode Tools2017-02-02T20:27:29Z<p>WhitleyStriber: Changed broken home link to the official GitHub repo.</p>
<hr />
<div>[[Category:Laptops]]<br />
[[Category:Power management]]<br />
[[de:Laptop Mode Tools]]<br />
[[fr:Laptop Mode Tools]]<br />
[[it:Laptop Mode Tools]]<br />
[[ja:Laptop Mode Tools]]<br />
[[ru:Laptop Mode Tools]]<br />
[[zh-hans:Laptop Mode Tools]]<br />
{{Related articles start}}<br />
{{Related|acpid}}<br />
{{Related|systemd}}<br />
{{Related|cpufrequtils}}<br />
{{Related|pm-utils}}<br />
{{Related|Laptop}}<br />
{{Related|Powertop}}<br />
{{Related|TLP}}<br />
{{Related articles end}}<br />
<br />
[https://github.com/rickysarraf/laptop-mode-tools Laptop Mode Tools]<sup>[Broken link: 404]</sup> is a laptop power saving package for Linux systems. It is the primary way to enable the Laptop Mode feature of the Linux kernel, which lets your hard drive spin down. In addition, it allows you to tweak a number of other power-related settings using a simple configuration file.<br />
<br />
Combined with [[acpid]] and [[CPU frequency scaling]], LMT provides most users with a complete notebook power management suite.<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{AUR|laptop-mode-tools}} package or the {{AUR|laptop-mode-tools-git}} package.<br />
<br />
== Configuration ==<br />
<br />
Configuration is handled through:<br />
<br />
* {{ic|/etc/laptop-mode/laptop-mode.conf}} - primary configuration file.<br />
* {{ic|/etc/laptop-mode/conf.d/*}} - dozens of feature-specific "modules". <br />
<br />
Each module can be explicitly {{ic|enabled}}, {{ic|disabled}}, or set to {{ic|auto}} by changing the {{ic|CONTROL_*}} argument of any file in {{ic|conf.d/}}. LMT will attempt enable any modules where {{ic|CONTROL_*}} is set to {{ic|auto}} if {{ic|ENABLE_AUTO_MODULES}} is set in {{ic|/etc/laptop-mode/laptop-mode.conf}}. There are two exceptions to the above rule: {{ic|auto-hibernate.conf}} and {{ic|battery-level-polling.conf}} use an {{ic|ENABLE_*}} variable instead of {{ic|CONTROL_*}}.<br />
<br />
To quickly check which modules are enabled, disabled or auto, run:<br />
<br />
$ grep -r '^\(CONTROL\&#124;ENABLE\)_' /etc/laptop-mode/conf.d<br />
<br />
Finally, [[enable]] {{ic|laptop-mode.service}}.<br />
<br />
=== Hard disks ===<br />
<br />
For this you need to have ''hdparm'' and/or ''sdparm'' installed. See [[Hdparm]].<br />
<br />
Spinning down the hard drive through {{Ic|hdparm -S}} values saves power and makes everything a lot more quiet. By using the readahead function you can allow the drives to spin down more often even though you are using the computer. LMT can also establish {{Ic|hdparm -B}} values. The maximum hard drive power saving is 1 and the minimum is 254. For example, set this value to 254 when on AC and 20 when on battery. If you find that normal activity hangs often while waiting for the disk to spin up, it might be a good idea to set it to a higher value (e.g. 128) which will make it spin down less often. {{Ic|hdparm -S}} and {{Ic|hdparm -B}} values are configured in {{ic|/etc/laptop-mode/laptop-mode.conf}}.<br />
<br />
{{Warning|Spinning down a hard drive too frequently can shorten its lifespan. Take care when choosing a proper value.}}<br />
<br />
With the {{ic|CONTROL_MOUNT_OPTIONS}} variable (default on), laptop-mode-tools automatically remounts your partitions, appending {{ic|1=commit=600,noatime}} in the mount options. This keeps the journaling program jbd2 from accessing your disk every few seconds, instead the disk journal gets updated every 10 minutes.<br />
<br />
{{Warning|With this setting you could lose up to 10 minutes of work. Also be sure not to use the {{Ic|atime}} mount option. Use {{Ic|noatime}} or {{Ic|relatime}} instead.}}<br />
<br />
{{Note|1={{ic|CONTROL_MOUNT_OPTIONS}} should not be turned on with nilfs2 partitions. Refer to this thread on the forum: https://bbs.archlinux.org/viewtopic.php?id=134656}}<br />
<br />
==== Solid state drives ====<br />
<br />
From the [http://samwel.tk/laptop_mode/faq official, upstream FAQ]:<br />
<br />
'''Question:''' I have a solid-state disk (SSD) in my machine. Should I enable any of the disk-related parts of laptop-mode-tools, or are they irrelevant?<br />
<br />
'''Answer:''' They may be relevant, because (a) laptop mode will reduce the number of writes, which improves the lifetime of an SSD, and (b) laptop mode makes writes bursty, which enables power saving mechanisms like ALPM to kick in. However, your mileage may vary depending on the specific hardware involved. For some hardware, you will get no gain at all, for some the gain may be substantial.<br />
<br />
=== CPU frequency ===<br />
<br />
For this you need to have a CPU frequency driver installed. See [[CPU frequency scaling]].<br />
<br />
# cpufreq.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
CONTROL_CPU_FREQUENCY=1<br />
BATT_CPU_MAXFREQ=fastest<br />
BATT_CPU_MINFREQ=slowest<br />
BATT_CPU_GOVERNOR=ondemand<br />
BATT_CPU_IGNORE_NICE_LOAD=1<br />
LM_AC_CPU_MAXFREQ=fastest<br />
LM_AC_CPU_MINFREQ=slowest<br />
LM_AC_CPU_GOVERNOR=ondemand<br />
LM_AC_CPU_IGNORE_NICE_LOAD=1<br />
NOLM_AC_CPU_MAXFREQ=fastest<br />
NOLM_AC_CPU_MINFREQ=slowest<br />
NOLM_AC_CPU_GOVERNOR=ondemand<br />
NOLM_AC_CPU_IGNORE_NICE_LOAD=0<br />
CONTROL_CPU_THROTTLING=0<br />
<br />
=== Device and bus ===<br />
<br />
==== Intel SATA ====<br />
<br />
* Enable the Intel SATA AHCI controller Aggressive Link Power Management feature to set the disk link into a very low power mode in the absence of disk IO.<br />
<br />
# intel-sata-powermgmt.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_SATA_POWER=1<br />
BATT_ACTIVATE_SATA_POWER=1<br />
LM_AC_ACTIVATE_SATA_POWER=1<br />
NOLM_AC_ACTIVATE_SATA_POWER=0<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/intel-sata-powermgmt.conf}} file for additional configuration details.}}<br />
<br />
==== USB autosuspend ====<br />
<br />
{{Tip|USB autosuspend functionality has been moved from the ''usb-autosuspend'' module to the ''runtime-pm'' module. Make sure to replace usb-autosuspend with runtime-pm on /lib/udev/rules.d/99-laptop-mode.rules.}}<br />
<br />
# runtime-pm.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_RUNTIME_AUTOSUSPEND=1<br />
BATT_SUSPEND_RUNTIME=1<br />
LM_AC_SUSPEND_RUNTIME=1<br />
NOLM_AC_SUSPEND_RUNTIME=1<br />
AUTOSUSPEND_TIMEOUT=2<br />
<br />
{{Note|Review the {{ic|/etc/laptop-mode/conf.d/runtime-pm.conf}} file for additional configuration details. If you have an USB tool you always use (like an USB mouse), blacklisting them would stop them from suspending.}}<br />
<br />
=== Display and graphics ===<br />
<br />
==== LCD brightness ====<br />
<br />
* Available brightness values for certain laptops can be obtained by running following command:<br />
<br />
$ cat /proc/acpi/video/VID/LCD/brightness<br />
<br />
===== ThinkPad T40/T42 =====<br />
<br />
For [[wikipedia:ThinkPad|ThinkPad]] T40/T42 notebooks, minimum and maximum brightness values can be obtained by running:<br />
<br />
$ cat /sys/class/backlight/acpi_video0/brightness<br />
$ cat /sys/class/backlight/acpi_video0/max_brightness<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T40/T42 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/thinkpad_screen/brightness"<br />
<br />
===== ThinkPad T60 =====<br />
<br />
* For [[wikipedia:ThinkPad|ThinkPad]] T60 notebooks, minimum and maximum brightness values can be obtained by running:<br />
<br />
$ cat /sys/class/backlight/thinkpad_screen/max_brightness<br />
$ cat /sys/class/backlight/thinkpad_screen/brightness<br />
<br />
# lcd-brightness.conf<br />
# ThinkPad T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_BRIGHTNESS=1<br />
BATT_BRIGHTNESS_COMMAND="echo 0"<br />
LM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"<br />
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/lcd-brightness.conf}} file for additional configuration details.}}<br />
<br />
==== Terminal blanking ====<br />
<br />
# terminal-blanking.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_TERMINAL=1<br />
TERMINALS="/dev/tty1"<br />
BATT_TERMINAL_BLANK_MINUTES=1<br />
BATT_TERMINAL_POWERDOWN_MINUTES=2<br />
LM_AC_TERMINAL_BLANK_MINUTES=10<br />
LM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
NOLM_AC_TERMINAL_BLANK_MINUTES=10<br />
NOLM_AC_TERMINAL_POWERDOWN_MINUTES=10<br />
<br />
{{Note|Review the well-documented {{ic|/etc/laptop-mode/conf.d/terminal-blanking.conf}} file for additional configuration details.}}<br />
<br />
=== Networking ===<br />
<br />
==== Ethernet ====<br />
<br />
# ethernet.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_ETHERNET=1<br />
LM_AC_THROTTLE_ETHERNET=0<br />
NOLM_AC_THROTTLE_ETHERNET=0<br />
DISABLE_WAKEUP_ON_LAN=1<br />
DISABLE_ETHERNET_ON_BATTERY=1<br />
ETHERNET_DEVICES="eth0"<br />
<br />
==== Wireless LAN ====<br />
<br />
Wireless interface power management settings are hardware-dependent, and thus a bit trickier to configure. Depending on the wireless chipset, the settings are managed in one of the following three files:<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-power.conf}} for a generic method of saving power (using "iwconfig wlan0 power on/off"). This applies to most chipsets (that is, anything but Intel chipsets listed below).<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-ipw-power.conf}} for Intel chipsets driven by the old ipw driver. This apply to IPW3945, IPW2200 and IPW2100. It currently (as of LMT 1.55-1) uses iwpriv for IPW3945, and a combination of iwconfig and iwpriv settings for IPW2100 and IPW220. See {{ic|/usr/share/laptop-mode-tools/modules/wireless-ipw-power}} for details. (note that the ipw3945 is not used anymore, see below)<br />
#{{ic|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}} for Intel chipsets driven by modules iwl4965, iwl3945 and iwlagn (this latter supports chipsets 4965, 5100, 5300, 5350, 5150, 1000, and 6000)<br />
Note that activating the three of them should not be much of a problem, since LMT detects the module used by the interface and acts accordingly.<br />
<br />
The supported modules for each configuration file, indicated above, are taken directly from LMT. However, this seems to be a bit out-of-date, since the current 2.6.34 kernel does not provide the ipw3945 and iwl4965 modules anymore (3945 chipset uses iwl3945 instead, and 4965 uses the generic module iwlagn). This is only brought here for information, as this does not (or should not) affect the way LMT works.<br />
<br />
There is a known issue with some chipsets running with the iwlagn module (namely, the 5300 chipset, and maybe others). On those chipsets, the following settings of {{ic|/etc/laptop-mode/conf.d/wireless-iwl-power.conf}}:<br />
<br />
IWL_AC_POWER<br />
IWL_BATT_POWER<br />
<br />
are ignored, because the {{ic|/sys/class/net/wlan*/device/power_level}} file does not exist. Instead, the standard method (with "iwconfig wlan0 power on/off") is automatically used.<br />
<br />
=== Audio ===<br />
<br />
==== AC97 ====<br />
<br />
# ac97-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_AC97_POWER=1<br />
<br />
==== Intel HDA ====<br />
<br />
# intel-hda-powersave.conf<br />
# ThinkPad T40/T42/T60 Example<br />
#<br />
DEBUG=0<br />
CONTROL_INTEL_HDA_POWER=1<br />
BATT_INTEL_HDA_POWERSAVE=1<br />
LM_AC_INTEL_HDA_POWERSAVE=1<br />
NOLM_AC_INTEL_HDA_POWERSAVE=0<br />
INTEL_HDA_DEVICE_TIMEOUT=10<br />
INTEL_HDA_DEVICE_CONTROLLER=0<br />
<br />
== Tips and tricks ==<br />
<br />
=== Aliases ===<br />
<br />
=== lm-profiler ===<br />
<br />
=== Disabling ===<br />
<br />
== Troubleshooting ==<br />
<br />
=== Laptop-mode-tools is not picking up events ===<br />
<br />
Install {{Pkg|acpid}} and enable its [[systemd]] service {{ic|acpid.service}}.<br />
<br />
If that does not help, go through the laptop-mode configuration files and make sure that the service you want to enable is set to 1. Many services (including cpufreq control) are by default set to "auto", which may not enable them.<br />
<br />
I have experienced issues with bluetooth not working if I boot up with battery, and I fixed it with disabling runtime-pm.<br />
<br />
=== Laptop-mode-tools does not disable on AC ===<br />
<br />
It is possible if you have both laptop-mode-tools and pm-utils installed, they can conflict with each other, causing laptop-mode-tools to not properly set its state.<br />
<br />
This can be fixed by disabling scripts with duplicate functionality in pm-utils. The main cause of this particular issue is the laptop-mode script located in {{ic|/usr/lib/pm-utils/power.d}}. You can stop any unwanted hooks from running by creating a dummy file in {{ic|/etc/pm/power.d}} with the same name as the corresponding {{ic|/usr/lib/pm-utils/power.d}} hook. For example if you want to disable the laptop-mode hook:<br />
<br />
# touch /etc/pm/power.d/laptop-mode<br />
<br />
{{Note|Do not set the executable bit on that dummy-hook.}}<br />
<br />
Its recommended to disable any hook that has equivalent functionality in LMT.<br />
<br />
=== USB Mouse sleeping after 5 seconds when on battery ===<br />
<br />
First find the ID of you device (it sould look like {{ic|046d:c534}}):<br />
<br />
$ lsusb<br />
<br />
Put this value into the {{ic|AUTOSUSPEND_DEVID_BLACKLIST}} variable in {{ic|/etc/laptop-mode/conf.d/runtime-pm.conf}}, for example:<br />
<br />
{{hc|/etc/laptop-mode/conf.d/runtime-pm.conf|2=<br />
...<br />
AUTOSUSPEND_DEVID_BLACKLIST="046d:c534"<br />
...<br />
}}<br />
<br />
Multiple IDs can be seperated with spaces.<br />
{{Note|Don't forget to [[restart]] the laptop-mode service. You might also need to reconnect the USB device.}}<br />
<br />
== See also ==<br />
<br />
* [http://samwel.tk/laptop_mode/ Laptop Mode Tools]<sup>[Broken link: 404]</sup><br />
* [http://mailman.samwel.tk/pipermail/laptop-mode/ Mailing List Archives]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=459835Dell XPS 152016-12-22T14:54:03Z<p>WhitleyStriber: /* BIOS */ Updated battery BIOS fix</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the 9550 variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
* Connect external sound card via USB<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]]. See also [[Hybrid_graphics]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
To fix screen flickering issues add {{ic|1=i915.edp_vswing=2}} [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ to your boot parameters].<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br>• Battery will not charge beyond 60%. The fix is to download and flash [http://downloads.dell.com/FOLDER03906323M/1/XPS_9550_1.2.14.exe 1.2.14 BIOS or later] Flashing 01.02.00 will be pointless after, as the issue carries over to this version of BIOS.<br />
<br />
'''01.02.14''' ''[http://downloads.dell.com/FOLDER03906910M/1/Precision_5510_1.2.14.exe Download]''<br />
<br>• User [https://www.reddit.com/r/Dell/comments/51wr31/dell_xps15_9550_bios_1214_fixes_battery_at_60/ report] that the issue with the battery is fixed<br />
<br>• Still has black screen upon resume issue. To turn screen on, increase brightness to maximum using keyboard. It is not possible to decrease brightness after resume, either maximum or off.<br />
<br>• Increasing the brightness (eg, with xbacklight) by less than 9% does not have any effect. Decreasing by less than 9% always results in a decrease of 9%.<br />
<br />
'''1.02.16''' ''[http://downloads.dell.com/FOLDER04030973M/1/XPS_9550_1.2.16.exe Download]''<br />
<br>• "Black screen upon resume" issue appears to have been fixed!<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
Closing the lid causes the system to shutdown. This can be fixed by writing this into {{ic|/etc/systemd/sleep.conf}}:<br />
[Sleep]<br />
HibernateState=disk<br />
HibernateMode=shutdown<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=204739 Source]<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos & Helpful Info ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]<br />
* [https://bbs.archlinux.org/viewtopic.php?id=204739 Arch on New XPS 15 (Late 2015)]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=HiDPI&diff=453840HiDPI2016-10-13T17:46:06Z<p>WhitleyStriber: Added method to keep DPI persistant after restarts for GDK</p>
<hr />
<div>[[Category:Graphics]]<br />
[[ja:HiDPI]]<br />
{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related articles end}}<br />
HiDPI (High Dots Per Inch) displays, also known by Apple's "[[wikipedia:Retina Display|Retina Display]]" marketing name, are screens with a high resolution in a relatively small format. They are mostly found in high-end laptops and monitors.<br />
<br />
Not all software behaves well in high-resolution mode yet. Here are listed most common tweaks which make work on a HiDPI screen more pleasant.<br />
<br />
== Desktop environments ==<br />
<br />
=== GNOME ===<br />
<br />
To enable HiDPI, use gsettings:<br />
<br />
gsettings set org.gnome.desktop.interface scaling-factor 2<br />
<br />
{{Note|1={{ic|scaling-factor}} only allows whole numbers to be set. 1 = 100%, 2 = 200%, etc...}}<br />
<br />
==== How to use non-whole numbers ====<br />
<br />
A setting of {{ic|2, 3, etc}}, which is all you can do with {{ic|scaling-factor}}, may not be ideal for certain HiDPI displays and smaller screens (e.g. small tablets). <br />
<br />
Alternatively, you can achieve any non-integer scale factor by using a combination of {{ic|scaling-factor}} and {{ic|xrandr}}. This combination keeps the TTF fonts properly scaled so that they do not become blurry if using {{ic|xrandr}} alone. You specify zoom-in factor with {{ic|gsettings}} and zoom-out factor with {{ic|xrandr}}.<br />
<br />
{{Style|This is not a script, so comments belong to wikitext and not the code blocks.}}<br />
<br />
Here is a method to find a comfortable scale factor for your screen:<br />
<br />
# First scale Gnome up to the minimum size which is too big.<br />
# Usually "2" is already too big, but if "2" is still small for you, try "3", etc.<br />
gsettings set org.gnome.desktop.interface scaling-factor 2<br />
# Now start scaling down by setting zoom-out factor with xrandr.<br />
# First get the output name:<br />
xrandr | grep -v disconnected | grep connected | cut -d' ' -f1<br />
# eDP1<br />
#<br />
# Use this value to specify --output further on.<br />
# If you have two or more screens you can set their scale independently.<br />
# Now, to zoom-out 1.2 times, run the following:<br />
xrandr --output eDP1 --scale 1.2x1.2<br />
# If the UI is still too big, increase the scale:<br />
xrandr --output eDP1 --scale 1.25x1.25<br />
# If UI becomes too small, decrease the scale factor a bit.<br />
# Repeat until you find a value which works best for your screen and your eyes.<br />
# Finally, you need to allow the mouse to navigate the whole screen.<br />
# To do this you need to get the current scaled resolution:<br />
xrandr | grep eDP1<br />
# eDP1 connected primary 2304x1296+0+0 (normal left inverted right x axis y axis) 239mm x 134mm<br />
#<br />
# Now use the acquired resolution value to set correct panning:<br />
xrandr --output eDP1 --panning 2304x1296<br />
<br />
=== KDE ===<br />
<br />
KDE plasma 5 provides decent support for HiDPI screens.<br />
<br />
Please follow these guidelines for HiDPI support in KDE plasma 5 <br />
<br />
# System Settings → Display and Monitor → Display Configuration → Scale Display<br />
# Then drag the slider to 2<br />
# Log out and back in for all applications to take the new setting into account<br />
<br />
=== Xfce ===<br />
<br />
Go to Settings Manager → Appearance → Fonts, and change the DPI parameter. The value of 180 or 192 seems to work well on Retina screens. To get a more precise number, you can use <code>xdpyinfo | grep resolution</code>, and then double it.<br />
<br />
To enlarge icons in system tray, right-click on it (aim for empty space / top pixels / bottom pixels, so that you will not activate icons themselves) → “Properties” → set “Maximum icon size” to 32, 48 or 64.<br />
<br />
=== Cinnamon ===<br />
<br />
Supports HiDPI since 2.2. The support is pretty good (e.g. window borders are correctly sized, which is not the case under Xfce).<br />
<br />
=== Enlightenment ===<br />
<br />
For E18, go to the E Setting panel. In Look → Scaling, you can control the UI scaling ratios. A ratio of 1.2 seems to work well for the native resolution of the MBPr 15" screen.<br />
<br />
== X Server ==<br />
<br />
Some programs use the DPI given by the X server. Examples are i3 ([https://github.com/i3/i3/blob/next/libi3/dpi.c source]) and Chromium ([https://code.google.com/p/chromium/codesearch#chromium/src/ui/views/widget/desktop_aura/desktop_screen_x11.cc source]).<br />
<br />
To verify that the X Server has properly detected the physical dimensions of your monitor, use the ''xdpyinfo'' utility from the {{Pkg|xorg-xdpyinfo}} package:<br />
<br />
$ xdpyinfo | grep -B 2 resolution<br />
screen #0:<br />
dimensions: 3200x1800 pixels (423x238 millimeters)<br />
resolution: 192x192 dots per inch<br />
<br />
This examples uses inaccurate dimensions (423mm x 328mm, even though the Dell XPS 9530 has 346mm x 194mm) to have a clean multiple of 96 dpi, in this case 192 dpi. This tends to work better than using the correct DPI — Pango renders fonts crisper in i3 for example.<br />
<br />
If the DPI displayed by xdpyinfo is not correct, see [[Xorg#Display size and DPI]] for how to fix it.<br />
<br />
== X Resources ==<br />
<br />
If you are not using a desktop environment such as GNOME, KDE, Xfce, or other that manipulates the X settings for you, you can set the desired DPI setting manually via the {{ic|Xft.dpi}} variable in {{ic|~/.Xresources}}:<br />
<br />
{{hc|~/.Xresources|<nowiki><br />
Xft.dpi: 180<br />
Xft.autohint: 0<br />
Xft.lcdfilter: lcddefault<br />
Xft.hintstyle: hintfull<br />
Xft.hinting: 1<br />
Xft.antialias: 1<br />
Xft.rgba: rgb<br />
</nowiki>}}<br />
<br />
Make sure the settings are loaded properly when X starts, for instance in your {{ic|~/.xinitrc}} with {{ic|xrdb -merge ~/.Xresources}} (see [[Xresources]] for more information).<br />
<br />
This will make the font render properly in most toolkits and applications, it will however not affect things such as icon size!<br />
Setting {{ic|Xft.dpi}} at the same time as toolkit scale (e.g. {{ic|GDK_SCALE}}) may cause interface elements to be much larger than intended in some programs like firefox.<br />
<br />
== GUI toolkits ==<br />
<br />
=== Qt 5 ===<br />
<br />
Since Qt 5.6, Qt 5 applications can be instructed to honor screen DPI by setting the {{ic|QT_AUTO_SCREEN_SCALE_FACTOR}} environment variable, for example by creating a file {{ic|/etc/profile.d/qt-hidpi.sh}}<br />
<br />
export QT_AUTO_SCREEN_SCALE_FACTOR=1<br />
<br />
And set the executable bit on it.<br />
<br />
If automatic detection of DPI does not produce the desired effect, scaling can be set manually per-screen ({{ic|QT_SCREEN_SCALE_FACTORS}}) or globally ({{ic|QT_SCALE_FACTOR}}). For more details see the [https://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/ Qt blog post].<br />
<br />
Note if you manually set the screen factor, it's important to set QT_AUTO_SCREEN_SCALE_FACTOR=0 otherwise some applications which explicitly force high DPI enabling get scaled twice.<br />
<br />
QT_SCALE_FACTOR will scale fonts<br />
QT_SCREEN_SCALE_FACTORS will *not* scale fonts<br />
<br />
If you also set the font DPI manually in xrdb to support other toolkits - QT_SCALE_FACTORS will give you a huge fonts.<br />
<br />
=== GDK 3 (GTK+ 3) ===<br />
<br />
To scale UI elements by a factor of two, enter the command below. If you want to keep the DPI persistent after restarts, create the file {{ic|/etc/profile.d/gdk-hidpi.sh}} and enter the following:<br />
<br />
export GDK_SCALE=2<br />
<br />
To undo scaling of text:<br />
<br />
export GDK_DPI_SCALE=0.5<br />
<br />
=== GTK+ 2 ===<br />
<br />
Scaling of UI elements is not supported by the toolkit itself, however it's possible to generate a theme with elements pre-scaled for HiDPI display using {{AUR|oomox-git}}.<br />
<br />
=== Elementary (EFL) ===<br />
<br />
To scale UI elements by a factor of 1.5:<br />
<br />
export ELM_SCALE=1.5<br />
<br />
For more details see https://phab.enlightenment.org/w/elementary/<br />
<br />
== Display managers ==<br />
<br />
=== SDDM ===<br />
<br />
{{Accuracy|General issue, see [[HiDPI#X_Server]]}}<br />
<br />
To scale SDDM you have to change the following properties in {{ic|/etc/sddm.conf}}.<br />
It is recommended to make a backup of your config before editing it.<br />
<br />
[XDisplay]<br />
# X server arguments<br />
ServerArguments=-nolisten tcp -dpi 144<br />
<br />
==== Alternative way using Xrandr ====<br />
<br />
If setting ServerArguments fails, it is possible to directly change the DPI setting via xrandr.<br />
Modify {{ic|/etc/sddm.conf}} and add the following section into file:<br />
<br />
[XDisplay]<br />
# script to execute when starting the display server<br />
# default to /usr/share/sddm/scripts/Xsetup<br />
DisplayCommand=/etc/sddm/Xsetup<br />
<br />
Then copy {{ic|/usr/share/sddm/scripts/Xsetup}} into {{ic|/etc/sddm/Xsetup}} with the following<br />
lines:<br />
<br />
#!/bin/sh<br />
# Xsetup - run as root before the login dialog appears<br />
/usr/bin/xrandr --dpi 144<br />
<br />
Please read {{ic|sddm.conf(5)}} for detailed configuration parameters.<br />
<br />
== Boot managers ==<br />
<br />
=== GRUB ===<br />
<br />
A possible solution is to use a big size font. Generate a GRUB font of custom size, e.g. using the font DejaVu Sans Mono and size 36:<br />
<br />
# grub-mkfont --output=/boot/grub/fonts/DejaVuSansMono36.pf2 --size=36 /usr/share/fonts/TTF/DejaVuSansMono.ttf<br />
<br />
then set GRUB to use it, adding the {{ic|1=GRUB_FONT}} line to {{ic|1=/etc/default/grub}}<br />
<br />
{{hc|1=/etc/default/grub|2=GRUB_FONT=/boot/grub/fonts/DejaVuSansMono36.pf2}}<br />
<br />
and finally update GRUB configuration with<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
== Applications ==<br />
<br />
=== Browsers ===<br />
<br />
==== Firefox ====<br />
<br />
Open Firefox advanced preferences page ({{ic|about:config}}) and set parameter {{ic|layout.css.devPixelsPerPx}} to {{ic|2}} (or find the one that suits you better; {{ic|2}} is a good choice for Retina screens).<br />
<br />
If you use a HiDPI monitor such as Retina display together with another monitor, you can use [https://addons.mozilla.org/en-US/firefox/addon/autohidpi/ AutoHiDPI] add-on in order to automatically adjust {{ic|layout.css.devPixelsPerPx}} setting for the active screen.<br />
<br />
From Firefox version 38 onwards, your system (GTK+ 3.10) settings should be taken into account.[https://bugzilla.mozilla.org/show_bug.cgi?id=975919]<br />
<br />
==== Chromium / Google Chrome ====<br />
<br />
Full out of the box HiDPI support is available in {{Pkg|chromium}} and {{AUR|google-chrome}} as tested (with google-chrome) on Gnome and Cinnamon. Additionally, for environments where out of the box support does not work, the browser can be launched with the command line flag {{ic|--force-device-scale-factor}} and a scaling value. This will scale all content and ui, including tab and font size. For example:<br />
<br />
{{bc|1=chromium --force-device-scale-factor=2}}<br />
<br />
Using this option, a scaling factor of 1 would be normal scaling. Floating point values can be used.<br />
<br />
If you use a HiDPI monitor such as Retina display together with another monitor, you can use the [https://chrome.google.com/webstore/detail/resolution-zoom/enjjhajnmggdgofagbokhmifgnaophmh reszoom] extension in order to automatically adjust the zoom level for the active screen.<br />
<br />
==== Opera ====<br />
<br />
Since version 24 one can alter Opera's DPI by starting it with the {{ic|1=--alt-high-dpi-setting=X}} command line option, where X is the desired DPI. For example, with {{ic|1=--alt-high-dpi-setting=144}} Opera will assume that DPI is 144. Newer versions of opera will auto detect the DPI using the font DPI setting (in KDE: the force font DPI setting.)<br />
<br />
Generally speaking, Opera's HiDPI support is excellent. Since it is also built using Chromium's blink renderer, and has an extension which runs most Chrome extensions, it is a very viable alternative to Chromium/Chrome.<br />
<br />
=== Thunderbird ===<br />
<br />
See [[#Firefox]]. To access {{ic|about:config}}, go to Edit → Preferences → Advanced → Config editor.<br />
<br />
=== Wine applications ===<br />
<br />
Run<br />
$ winecfg<br />
and change the "dpi" setting found in the "Graphics" tab. This only affects the font size.<br />
<br />
=== Skype ===<br />
<br />
Skype is a Qt program, and needs to be configured separately. You cannot change the DPI setting for it, but at least you can change font size. Install {{Pkg|qt4}} and run {{ic|qtconfig-qt4}} to do it.<br />
<br />
=== Spotify ===<br />
<br />
Spotify can be launched with a custom scaling factor, for example<br />
$ spotify --force-device-scale-factor=1.5<br />
<br />
=== Zathura document viewer ===<br />
<br />
No modifications required for document viewing.<br />
<br />
UI text scaling is specified via [https://pwmt.org/projects/zathura/documentation/ configuration file] (note that "font" is a [https://pwmt.org/projects/girara/options/ girara option]):<br />
<br />
set font "monospace normal 20"<br />
<br />
=== IntelliJ IDEA ===<br />
<br />
IntelliJ IDEA 15 and above should include HiDPI support.[http://blog.jetbrains.com/idea/2015/07/intellij-idea-15-eap-comes-with-true-hidpi-support-for-windows-and-linux/] If it does not work, the most convenient way to fix the problem in this case seems to be changing the Override Default Fonts setting:<br />
<br />
:''File -> Settings -> Behaviour & Appearance -> Appearance''<br />
<br />
The addition of {{ic|1=-Dhidpi=true}} to the vmoptions file in either {{ic|$HOME/.IdeaC14/}} or {{ic|/usr/share/intelligj-idea-ultimate-edition/bin/}} of [https://youtrack.jetbrains.com/issue/IDEA-114944 release 14] should not be required anymore.<br />
<br />
=== NetBeans ===<br />
<br />
NetBeans allows the font size of its interface to be controlled using the {{ic|1=--fontsize}} parameter during startup. To make this change permanent edit the {{ic|1=/usr/share/netbeans/etc/netbeans.conf}} file and append the {{ic|1=--fontsize}} parameter to the {{ic|1=netbeans_default_options}} property.[http://wiki.netbeans.org/FaqFontSize]<br />
<br />
The editor fontsize can be controlled from Tools → Option → Fonts & Colors.<br />
<br />
The output window fontsize can be controlled from Tools → Options → Miscelaneous → Output<br />
<br />
=== Gimp 2.8 ===<br />
<br />
Use a high DPI theme, or [http://gimpforums.com/thread-increase-all-icons-on-hidpi-screen?pid=39113#pid39113 adjust] {{ic|1=gtkrc}} of an existing theme. (Change all occurrences of the size {{ic|1=button}} to {{ic|1=dialog}}, for example {{ic|1=GimpToolPalette::tool-icon-size}}.)<br />
<br />
There's also the [https://github.com/jedireza/gimp-hidpi gimp-hidpi].<br />
<br />
=== VLC ===<br />
<br />
As of May 2015, the git version {{AUR|vlc-git}} seems to solve some of the problems.<br />
<br />
=== Steam ===<br />
<br />
The [https://github.com/MoriTanosuke/HiDPI-Steam-Skin HiDPI-Steam-Skin] can be installed to increase the font size of the interface. While not perfect, it does improve usability. <br />
<br />
{{Note|The skin must be downloaded to {{ic|1=~/.local/share/Steam/skins}}, not {{ic|1=~/.steam/skins/}} as the README says.}}<br />
<br />
=== Unsupported applications ===<br />
<br />
One approach is to run the application full screen and without decoration in its own VNC desktop. Then scale the viewer. With Vncdesk ({{AUR|vncdesk-git}} from the [[AUR]]) you can set up a desktop per application, then start server and client with a simple command such as {{ic|vncdesk 2}}.<br />
<br />
[[x11vnc]] has an experimental option {{ic|-appshare}}, which opens one viewer per application window. Perhaps something could be hacked up with that.<br />
<br />
== Multiple displays ==<br />
The HiDPI setting applies to the whole desktop, so non-HiDPI external displays show everything too large.<br />
<br />
=== Side display ===<br />
One workaround is to using [[xrandr]]'s scale option. To have a non-HiDPI monitor (on DP1) right of an internal HiDPI display (eDP1), one could run:<br />
<br />
xrandr --output eDP1 --auto --output DP1 --auto --scale 2x2 --right-of eDP1<br />
<br />
When extending above the internal display, you may see part of the internal display on the external monitor. In that case, specify the position manually, e.g. using [https://gist.github.com/wvengen/178642bbc8236c1bdb67 this script].<br />
<br />
You may run into problems with your mouse not being able to reach the whole screen. That is a [https://bugs.freedesktop.org/show_bug.cgi?id=39949 known bug] with an xserver-org patch (or try the panning option, but that might cause other problems).<br />
<br />
An example of the panning syntax for a 4k laptop with an external 1920x1080 monitor to the right:<br />
<br />
xrandr --output eDP1 --auto --output HDMI1 --auto --panning 3840x2160+3840+0 --scale 2x2 --right-of eDP1<br />
<br />
Generically if your hidpi monitor is AxB pixels and your regular monitor is CxD and you are scaling by [ExF], the commandline for right-of is:<br />
<br />
xrandr --output eDP1 --auto --output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1<br />
<br />
<br />
If panning is not a solution for you it may be better to set position of monitors and fix manually the total display screen.<br />
<br />
An example of the syntax for a 2560x1440 WQHD 210 DPI laptop monitor (eDP1) using native resolution placed below a 1920x1080 FHD 96 DPI external monitor (HDMI) scaled to match global DPI settings:<br />
<br />
xrandr --output eDP1 --auto --pos 0x1458 --output HDMI --scale 1.35x1.35 --auto --pos 0x0 --fb 2592x2898<br />
<br />
The total screen size (--fb) and positioning (--pos) are to be calculated taking into account the scaling factor.<br />
<br />
In this case laptop monitor (eDP1) has no scaling and uses native mode for resolution so it will total 2560x1440, but external monitor (HDMI) is scaled and it has to be considered a larger screen so (1920*1.35)x(1080*1.35) from where the eDP1 Y position came 1080*1.35=1458 and the total screen size: since one on top of the other X=(greater between eDP1 and HDMI, so 1920*1.35=2592) and Y=(sum of the calculated heights of eDP1 and HDMI, so 1440+(1080*1.35)=2898).<br />
<br />
Generically if your hidpi monitor is AxB pixels and your regular monitor is CxD and you are scaling by [ExF] and hidpi is placed below regular one, the commandline for right-of is:<br />
<br />
xrandr --output eDP1 --auto --pos 0x(DxF) --output HDMI --auto --scale [E]x[F] --pos 0x0 --fb [greater between A and (C*E)]x[B+(D*F)]<br />
<br />
You may adjust the "sharpness" parameter on your monitor settings to adjust the blur level introduced with scaling.<br />
<br />
=== Mirroring ===<br />
<br />
If all you want is to mirror ("unify") displays, this is easy as well:<br />
<br />
With AxB your native HiDPI resolution (for ex 3200x1800) and CxD your external screen resolution (for ex 1920x1200)<br />
<br />
xrandr --output HDMI --scale [A/C]x[B/D]<br />
<br />
In this example which is QHD (3200/1920 = 1.66 and 1800/1200 = 1.5)<br />
<br />
xrandr --output HDMI --scale 1.66x1.5<br />
<br />
For UHD to 1080p (3840/1920=2 2160/1080=1.98)<br />
<br />
xrandr --output HDMI --scale 2x1.98<br />
<br />
You may adjust the "sharpness" parameter on your monitor settings to adjust the blur level introduced with scaling.<br />
<br />
== Linux console ==<br />
<br />
The default [[w:Linux console|Linux console]] font will be very small on hidpi displays, the largest font present in the {{Pkg|kbd}} package is {{ic|latarcyrheb-sun32}} and other packages like {{Pkg|terminus-font}} contain further alternatives, such as {{ic|ter-132n}}(normal) and {{ic|ter-132b}}(bold). See [[Fonts#Console fonts]] for configuration details.<br />
<br />
== See also ==<br />
<br />
* [http://www.phoronix.com/scan.php?page=article&item=linux_uhd4k_gpus Ultra HD 4K Linux Graphics Card Testing] (Nov 2013)<br />
* [http://www.eizo.com/library/basics/pixel_density_4k/ Understanding pixel density]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=448445Dell XPS 152016-08-28T04:20:33Z<p>WhitleyStriber: /* BIOS */ Added more details about 01.02.00</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the 9550 variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br>• Battery will not charge beyond 60%. The fix is to download and flash the [http://downloads.dell.com/FOLDER03486977M/1/XPS_9550_1.1.15.exe 1.1.15 BIOS.] Flashing 01.02.00 will be pointless after, as the issue carries over to this verison of BIOS. <br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=447955Dell XPS 152016-08-26T02:56:04Z<p>WhitleyStriber: /* BIOS */ Added fix for battery below 60%</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the 9550 variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br>• Battery will not charge beyond 60%. The fix is to download and flash the [http://downloads.dell.com/FOLDER03486977M/1/XPS_9550_1.1.15.exe 1.1.15 BIOS.]<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=447945Dell XPS 152016-08-26T02:06:22Z<p>WhitleyStriber: Added "battery will not charge" section because it's important for users not to update to the latest BIOS</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the 9550 variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br>• Battery will not charge beyond 60%. This update will brick your battery, even after downgrading to 01.02.00. There is still no fix for this as of 8/25/2016.<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=447743Dell XPS 152016-08-24T20:15:51Z<p>WhitleyStriber: Moved the precision statement to it's own section because it looked strange being at the top of the page.</p>
<hr />
<div>[[Category:Dell]]<br />
<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
lspci for model Precision 5510:<br />
00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation HD Graphics P530 (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H Serial IO I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107GLM [Quadro M1000M] (rev a2)<br />
02:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)<br />
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller (rev 01)<br />
<br />
== Differences between XPS 9550 & Precision 5510==<br />
<br />
The Precision 5510 is essentially identical to the 9550 variant, with the exception of an Intel Wireless NIC & Quadro 1000M Graphics Chip. Compared to the 9550's Broadcom NIC & 960M graphics chip.<br />
<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 with InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=447623Dell XPS 152016-08-24T04:34:54Z<p>WhitleyStriber: Changed formatting and cleaned up area</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
'''XPS 9550 w/ InfinityEdge 4K'''<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
'''01.02.00'''<br />
<br>• Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
<br>• Sleep resume working around 80% of the time<br />
<br>• Resume from sleep restarts the laptop<br />
<br />
'''01.02.10+'''<br />
<br>• Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
<br>• Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
<br>• Brightness flickers/stutters when dimming or increasing the brightness (demonstrated in [https://wiki.archlinux.org/index.php/I3 i3wm])<br />
<br>• Screen flickers on low brightness settings<br />
<br>• Possible poor fan behavior (not confirmed)<br />
<br />
Many users have recommend the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=447622Dell XPS 152016-08-24T04:28:33Z<p>WhitleyStriber: Added BIOS section with descriptions of each version.</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== BIOS ===<br />
<br />
XPS 9550 w/ InfinityDisplay (4K)<br />
<br />
The XPS 9550 4K, with its current state, is unstable due to it's young age. A majority of the bugs stem from Dell's BIOS.<br />
<br />
Listed below are you may encounter with the XPS 9550 4K:<br />
<br />
BIOS Version<br />
<br />
01.02.00<br />
+ Brightness works with slow fade (XF86MonBrightnessUp / xbacklight -inc:-dec)<br />
+ Sleep resume working around 80% of the time<br />
- Resume from sleep restarts the laptop<br />
<br />
01.02.10+<br />
<br />
+ Increased speeds (faster boot, applications feel snappier when loading, especially in 01.02.13)<br />
- Black screen upon resume (the computer will operate as if it's on, to get display to work, set brightness to max using keyboard shortcut)<br />
- Brightness flickers/stutters when dimming or increasing the brightness<br />
- Screen flickers on low brightness settings<br />
o Possible poor fan behavior (not confirmed)<br />
<br />
Many users have recommened the 01.02.00 BIOS, as it proves to be the most balanced out of all of the updates.<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Talk:Dell_XPS_15&diff=447621Talk:Dell XPS 152016-08-24T04:07:19Z<p>WhitleyStriber: Added future changes</p>
<hr />
<div>I believe the entire multihead section is far more complex than necessary for a 9350 model XPS 15 w/ hidpi display. HDMI, DP->DVI, and the internal monitor all "just work" at the same time with a mundane arandr configuration (nvidia card off, intel only)<br />
<br />
Since I've not tested plain display port, nor DP->VGA yet, want to see if anyone has wildly different experiences with that model before I do any edits?<br />
<br />
[[User:Thomasam|Thomasam]] ([[User talk:Thomasam|talk]]) 00:41, 3 January 2015 (UTC)<br />
<br />
I agree with Thomasam. I have the newer 9550 model (Skylake) and both, the HDMI as well as using a USB 3.1 Type C/Tunderbolt 3 to HDMI adapter just work (all at the same time and perfectly fine if plugged/unplugged at runtime). I even don't have any X11 configs. Just make sure you apply all the recent BIOS and Thunderbolt firmware updates and use a HDMI cable that is known to work (I had a rather frustrating few days with a brand new but broken cable which sent me down many misleading rabbit holes including this wiki page).<br />
<br />
[[User:Oceansailor|Oceansailor]] ([[User talk:Oceansailor|talk]]) 22:49, 13 March 2016 (UTC)<br />
<br />
== Issues with sound (9550 Skylake ALC3266) ==<br />
<br />
I wrote the section regarding sound. I will attempt to clean it up and conform it to the guidelines.<br />
<br />
== Issues with suspend/resume/flickering (9550 Skylake) ==<br />
<br />
I submitted a bug report to Dell about the A10 BIOS update that breaks suspend/resume. (reference #934603967) I also mentioned about the screen flickering issue in the report. I will keep this talk updated when I receive a response back from Dell.<br />
<br />
EDIT: Here is a gist of the response. Regular corpo Dell zombie response...<br />
<br />
https://gist.github.com/WhitleyStriber/94084c356a995b3e52b806aa714e38dc<br />
<br />
I will test it in BIOS to see if the flickering persists (which, I believe, still does)<br />
<br />
We cannot point towards a faulty cable/LCD because EVERYONE is experiencing the same issues. Unless if they just shipped out faulty LCD/GPU/LVDS components?<br />
<br />
Future additions/changes I will be applying:<br />
<br />
- BIOS updates issues/caveats<br />
- i3wm base config file (due to 4k screen, looking to save other people some time and get a base config available)</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=446971Dell XPS 152016-08-18T16:45:27Z<p>WhitleyStriber: /* Sound */ Re-added fix for sound that was accidentally deleted</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
* Disable sound BIOS, powerboot into Arch, enable sound in BIOS, start Arch with sound back<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=446893Dell XPS 152016-08-17T15:45:55Z<p>WhitleyStriber: /* Sound */ Added a better workaround for the sound issue</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Workarounds:<br />
* Suspend and resume your computer [https://www.reddit.com/r/Dell/comments/4y1svp/gnulinux_on_xps_9550_questions_arch/ (thank you spheenik)]<br />
* Restart your computer<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=446759Dell XPS 152016-08-16T00:00:29Z<p>WhitleyStriber: /* Screen */ added link for help/reference with fix</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Things you can try ():<br />
<br />
Restart your computer until you get it back.<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
'''9550 Flickering Screen:'''<br />
<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information: [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend] (thank you Spirotot)<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Dell_XPS_15&diff=446758Dell XPS 152016-08-15T23:57:20Z<p>WhitleyStriber: /* Screen */ Added section about flickering screen on 9550</p>
<hr />
<div>[[Category:Dell]]<br />
This page is a work in progress! More info coming soon.<br />
{{Style|Headers messed up, useless shell dumps}}<br />
<br />
{| class="wikitable" style="float: right;"<br />
! width="160" style="border-bottom: 2px solid;" | Device<br />
! width="120" style="border-bottom: 2px solid" | Status<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Network<br />
! style="background: #228B22; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Wireless<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Sound<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Bluetooth<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Graphics<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | USB 3.0<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Webcam<br />
! style="background: green; border-bottom: 1px solid" | Works<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | System info<br />
! style="background: #FFFFFF; border-bottom: 1px solid" | Not tested<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Power management<br />
! style="background: yellow; border-bottom: 1px solid" | Buggy<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | WiDi<br />
! style="background: red; border-bottom: 1px solid" | Not working<br />
|-<br />
! style="border-bottom: 1px solid; border-right: 1px solid" | Touchpad gestures<br />
! style="background: #FF4F00; border-bottom: 1px solid" | Modify<br />
<br />
|}<br />
<br />
* Works - Works out-of-the-box<br />
* Modify - Works with modifications<br />
* Not tested<br />
* Not working<br />
<br />
== System Settings ==<br />
Hardware settings om January 2011 model<br />
<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)<br />
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)<br />
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: nVidia Corporation Device 0df1 (rev a1)<br />
02:00.1 Audio device: nVidia Corporation GF108 High Definition Audio Controller (rev a1)<br />
04:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000<br />
05:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)<br />
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)<br />
<br />
For Sandy Bridge model (L502X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)<br />
00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5)<br />
00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5)<br />
00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5)<br />
00:1c.4 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 5 (rev b5)<br />
00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5)<br />
00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)<br />
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)<br />
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 (rev 34)<br />
04:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)<br />
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)<br />
<br />
For 2012 Model (L521X)<br />
<br />
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)<br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)<br />
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)<br />
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)<br />
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)<br />
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)<br />
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)<br />
00:1c.2 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 3 (rev c4)<br />
00:1c.3 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 4 (rev c4)<br />
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)<br />
00:1f.0 ISA bridge: Intel Corporation HM77 Express Chipset LPC Controller (rev 04)<br />
00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev 04)<br />
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)<br />
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GT 640M] (rev ff)<br />
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 07)<br />
08:00.0 Network controller: Atheros Communications Inc. AR9462 Wireless Network Adapter (rev 01)<br />
09:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
09:00.1 SD Host controller: Realtek Semiconductor Co., Ltd. RTS5209 PCI Express Card Reader (rev 01)<br />
<br />
For 2013 Model (9350)<br />
<br />
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06) <br />
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)<br />
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)<br />
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)<br />
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)<br />
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)<br />
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)<br />
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)<br />
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)<br />
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)<br />
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)<br />
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)<br />
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)<br />
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)<br />
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)<br />
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)<br />
02:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev ff)<br />
06:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)<br />
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5249 (rev 01)<br />
<br />
lspci for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)<br />
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)<br />
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)<br />
00:04.0 Signal processing controller: Intel Corporation Device 1903 (rev 07)<br />
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)<br />
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)<br />
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #0 (rev 31)<br />
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-H LPSS I2C Controller #1 (rev 31)<br />
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)<br />
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)<br />
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)<br />
00:1c.1 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)<br />
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #9 (rev f1)<br />
00:1d.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #13 (rev f1)<br />
00:1d.6 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #15 (rev f1)<br />
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)<br />
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)<br />
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)<br />
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)<br />
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)<br />
02:00.0 Network controller: Broadcom Corporation BCM43602 802.11ac Wireless LAN SoC (rev 01)<br />
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)<br />
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)<br />
<br />
lsusb for model 9550 (variant with touchscreen & PCIe m.2 ssd):<br />
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub<br />
Bus 001 Device 004: ID 04f3:21d5 Elan Microelectronics Corp. <br />
Bus 001 Device 003: ID 0a5c:6410 Broadcom Corp. <br />
Bus 001 Device 005: ID 1bcf:2b95 Sunplus Innovation Technology Inc. <br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
== System Setup ==<br />
<br />
=== Power Management ===<br />
For the Sandy Bridge model (L502X): Suspend works; hibernation does not (it gets hung on a flashing cursor in text mode and does not even switch video modes).<br />
<br />
=== Sound ===<br />
{{Style|Does not conform to [[Help:Style]] (use of sudo, not using prompt, not using inline code, contractions, etc.)}}<br />
For the XPS 9550 variant, sound works out of the box with the linux kernel. If you try to plug in headphones, you won't hear any output from them. Upon restart, you'll receive a '''Dummy Output''' as your sound card. <br />
<br />
dmesg gives you this output:<br />
snd_hda_intel 0000:00:1f.3: CORB reset timeout#1, CORBRP = 0<br />
snd_hda_intel 0000:00:1f.3: no codecs found!<br />
<br />
aplay -l should give you this output if Arch can detect your soundcard:<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: PCH [HDA Intel PCH], device 0: ALC3266 Analog [ALC3266 Analog]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
aplay -l will give you this output if Arch cannot detect your soundcard:<br />
aplay: device_list:268: no soundcards found...<br />
You may or may not get sound back after a few restarts. This is a bug and has been documented here: [https://bugs.archlinux.org/task/49157]<br />
<br />
Things you can try ():<br />
<br />
Restart your computer until you get it back.<br />
<br />
Regardless, for now, it is recommended that you don't/reduce hot-plugging headphones as it makes ALSA/PulseAudio break/very unstable.<br />
<br />
=== Graphics ===<br />
By default, both Intel and NVidia cards are active, which can consume a lot of power. Using the Intel-only setup below, you can reduce your battery usage due to disabling the Nvidia card. The Intel and Nvidia setup describes how to utilize both cards and save power using [[Bumblebee]].<br />
<br />
==== Intel only ====<br />
If your model comes with an nVidia card which you don't use then you can try to disable it with an ACPI command. Depending on the model, this can have a small to ''profound'' effect on the laptop's temperature and battery life (it can more than ''double'' battery life!)<br />
<br />
* Install the Intel video driver using the {{Pkg|xf86-video-intel}} package.<br />
<br />
* To make sure nVidia module will not load into your system:<br />
** Remove nouveau and/or nvidia drivers<br />
** Use acpi_call (compile [http://github.com/mkottman/acpi_call acpi_call] or use one of the [https://aur.archlinux.org/packages/?K=acpi_call AUR packages]) to disable the nVidia card<br />
<br />
===== acpi_call usage =====<br />
modprobe acpi_call<br />
test_off.sh<br />
<br />
If you have a positive value then do:<br />
echo '\_SB.<YOUR>.<POSITIVE>.<VALUE>._OFF' > /proc/acpi/call<br />
<br />
Else your can test the other script m11xr2.sh (it worked for me):<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
For the XPS 15 9550 the correct command seems to be:<br />
<br />
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call<br />
<br />
You can use this command ''before'' and ''after'' to see how the battery consumption change (you need to disconnect sector first):<br />
<br />
cat /sys/class/power_supply/BAT0/current_now<br />
<br />
To make this permanent, just add your working command in {{ic|/etc/rc.local}}. Example:<br />
modprobe acpi_call<br />
/usr/share/acpi_call/m11xr2.sh off<br />
<br />
==== Intel with Nvidia ====<br />
The [[Optimus]] setup consists of the integrated Intel chip connected to the laptop screen and the Nvidia card runs through this. As such, the Nvidia chip cannot be used without the Intel chip (some other laptops have the option in BIOS to turn Intel off and use just Nvidia, but not this laptop).<br />
<br />
See the [[Bumblebee]] page [[Bumblebee#Installation|set of instructions]], particularly the Intel/Nvidia section which has been tested. The main thing to note is that installing both the Intel and Nvidia packages at once tends to avoid dependency issues.<br />
<br />
=== Screen ===<br />
<br />
9550 Flickering Screen:<br />
As of 08/2016, the A10 BIOS causes the screen to flicker even worse then the A06 BIOS. The '''best''' fix is to downgrade to the A06 BIOS. A10 BIOS also breaks suspend/resume, unless if you have your brightness set to max. Please take a read here for more information:<br />
<br />
=== External Display ===<br />
Since the Display Port is controlled by the Intel driver, it tends to work quite well and will usually mirror the laptop display without configuration. Getting both the HDMI and DP adapters to display separate requires additional setup.<br />
<br />
==== Multihead ====<br />
The following instructions should help configure the laptop to display separate output on two external monitors. These instructions are similar in nature to the [[Bumblebee#xf86-video-intel-virtual-crtc_and_hybrid-screenclone|instructions]]{{Broken section link}} on the [[Bumblebee]] page, though recent advancements in virtual displays on Intel reduce the number of steps and packages needed.<br />
<br />
* First, follow the instructions in the previous section to install drivers for both Intel and Nvidia with Bumblebee.<br />
* Run {{ic|Xorg -configure}} to generate a {{ic|xorg.conf}} file. It may have a different filename, so watch the output and regardless of where it generates it, copy it to {{ic|/etc/X11/xorg.conf}}. This should generate something like the following (for two external monitors):<br />
{{hc|/etc/X11/xorg.conf|2=<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
Screen 1 "Screen1" RightOf "Screen0"<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/misc/"<br />
FontPath "/usr/share/fonts/TTF/"<br />
FontPath "/usr/share/fonts/OTF/"<br />
FontPath "/usr/share/fonts/Type1/"<br />
FontPath "/usr/share/fonts/100dpi/"<br />
FontPath "/usr/share/fonts/75dpi/"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor1"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
Driver "nvidia"<br />
BusID "PCI:1:0:0"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Card1"<br />
Driver "intel"<br />
BusID "PCI:0:2:0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen1"<br />
Device "Card1"<br />
Monitor "Monitor1"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
}}<br />
* Change the {{ic|bumblebee.conf}} file to the following settings (these are scattered throughout the conf file):<br />
{{hc|/etc/bumblebee/bumblebee.conf|2=<br />
KeepUnusedXServer=true<br />
Driver=nvidia<br />
# In the [driver-nvidia] section,<br />
XorgConfFile=/etc/X11/xorg.conf<br />
}}<br />
* Add the following to your {{ic|.xinitrc}} file.<br />
{{hc|~/.xinitrc|2=<br />
# Start Bumblebee, create VIRTUAL display, and configure monitors.<br />
optirun true<br />
intel-virtual-output<br />
xrandr --output VIRTUAL2 --left-of HDMI1 --mode 1920x1080 --auto<br />
<br />
# Turn off the laptop display (optional of course, leave out if you want triple display).<br />
xrandr --output LVDS1 --off<br />
<br />
# Execute a window manager or desktop environment here.<br />
# ex: exec awesome<br />
}}<br />
* Run {{ic|startx}} and check that your displays are working.<br />
<br />
The modifications to {{ic|.xinitrc}} automate the configuration of the displays. First, {{ic|optirun}} is launched to run [[Bumblebee]]. Then, the {{ic|intel-virtual-output}} utility (included with {{Pkg|xf86-video-intel}} versions 2.99+) creates a few {{ic|VIRTUAL}} displays; {{ic|VIRTUAL2}} was the display mapping to my HDMI port, run {{ic|xrandr}} to double check this for yourself. The remaining commands may vary for your configuration, note that {{ic|LVDS1}} is the laptop screen and {{ic|HDMI1}} is actually the Display Port.<br />
<br />
=== WLAN ===<br />
Some users will need to install the {{Pkg|rfkill}} package in order to switch on the wireless adapter with the fn+F2 key. <br />
Remember that {{Pkg|wireless_tools}} will be needed for using a network manager such as [[NetworkManager]], see [[Wireless network configuration]] for more information.<br />
<br />
====Note====<br />
It seems that {{Pkg|rfkill}} used in conjunction with [[NetworkManager]] will cause a normal shutdown to result in reboot when Wlan is powered off. To avoid this DO NOT install both together.<br />
<br />
=== Bluetooth ===<br />
Some users may need to run <br />
hciconfig hci0 reset<br />
to get blueman working<br />
<br />
=== Webcam ===<br />
If the camera seems that it does not work (black image), try to enable/disable auto-exposure (for example in Skype, the option is in the Video Settings and in guc). In reality, the camera tries to record at 0.5 fps and this is why it seems not to work, even if everything seems normal.<br />
<br />
=== Power management ===<br />
<br />
=== Special Touch Keys ===<br />
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, make this new file:<br />
<br />
{{hc|/opt/dell_touchkeys_keymap|<nowiki><br />
0x90 previoussong # Previous song<br />
0xA2 playpause # Play/Pause<br />
0x99 nextsong # Next song<br />
0xDB computer # First touch key, Dell apparently uses a key sequence here where 0xDB is a modifer, 0x2D stands for the touch key and 0x19 for the monitor toggle<br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /opt/dell_touchkeys_keymap<br />
</nowiki>}}<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?id=131886 Source]<br />
<br />
==== Alternative method ====<br />
For L502x model the above method can be improved:<br />
# No need to remap Play/Pause, Previous song, Next song keys as they are mapped correctly by default.<br />
# For the first (leftmost) touch key: it's wired in a weird way on the hardware level. It seems to be wired to both Super_L and x. Your best bet would be to remap this using your DE or something like xbindkeys. You may want to double-check with {{ic|xev}} or {{ic|xbindkeys -mk}} to see exactly what keys it is producing.<br />
Thus the keymap file should be (I prefer standard location):<br />
{{hc|/usr/lib/udev/keymaps/dell-xps-l502x|<nowiki><br />
0x85 prog1 # Second touch key<br />
0x84 media # Third touch key<br />
</nowiki>}}<br />
<br />
and add this to /etc/rc.local:<br />
{{hc|/etc/rc.local|<nowiki><br />
…<br />
# Fix touch keys<br />
/usr/lib/udev/keymap input/event0 /usr/lib/udev/keymaps/dell-xps-l502x<br />
</nowiki>}}<br />
<br />
OR make a udev rule (the former remaps keys on boot, this lets udev take care of the remapping):<br />
{{hc|/etc/udev/rules.d/99-local.rules|<nowiki><br />
…<br />
# Keymap Dell Touch keys<br />
SUBSYSTEM=="input", KERNEL=="event0", RUN+="keymap $name dell-xps-l502x"<br />
</nowiki>}}<br />
<br />
=== Hidden Keyboard Keys ===<br />
For L502X model: there are additional Fn+<Key> (sequences) that are not marked at all on the keyboard but underlying hardware generates them anyway. Here they are (if you find more add them to the table below):<br />
{| class="wikitable"<br />
|+ Hidden Fn Keys<br />
! Fn+<Key> !! Resulting key (sequence)<br />
|-<br />
| Fn+Esc || Sleep<br />
|-<br />
| Fn+Super_L || Super_R<br />
|-<br />
| Fn+Ins || Pause/Break<br />
|-<br />
| Fn+Del || Ctrl + Pause/Break<br />
|-<br />
| Fn+PrntScr || Alt + PrtSc/SysRq<br />
|}<br />
<br />
=== Touchpad Gestures ===<br />
<br />
==== libinput ====<br />
<br />
===== XPS 9550 =====<br />
<br />
Working, using libinput and libinput-gestures.<br />
<br />
==== Synaptics ====<br />
If using Synaptics, read [[Synaptics]].<br />
<br />
=== Notes ===<br />
* Remember to turn on Wi-Fi and Bluetooth by pressing the F2 button.<br />
* Card reader is finnicky. Try booting with a card inserted or inserting a card after it is booted and running {{ic|sudo echo 1 > /sys/bus/pci/rescan}}. Otherwise, card reader will not be detected. It seems that a certain kernel update results in the workaround not working as well. More info needed.<br />
<br />
== Howtos ==<br />
* [http://drwho.virtadpt.net/archive/2015/01/05/linux-on-the-dell-xps-15-9530 A fairly comprehensive writeup of running Arch Linux on an XPS 15 9530.]<br />
* [https://ahxxm.com/151.moew/ Comprehensive coverage of Arch Linux on XPS 15 9550]<br />
* [https://blog.spirotot.com/2016/07/27/dell-xps-15-9550-arch-linux-trackpad-gestures/ Multitouch gestures with libinput and libinput-gestures]<br />
* [https://blog.spirotot.com/2016/08/11/xps-9550-arch-linux-fix-screen-flickering/ Fixing 9550 screen flickering and black screen on resume from suspend]</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Talk:Dell_XPS_15&diff=446753Talk:Dell XPS 152016-08-15T20:35:23Z<p>WhitleyStriber: Edited with response from Dell corpo zombie.</p>
<hr />
<div>I believe the entire multihead section is far more complex than necessary for a 9350 model XPS 15 w/ hidpi display. HDMI, DP->DVI, and the internal monitor all "just work" at the same time with a mundane arandr configuration (nvidia card off, intel only)<br />
<br />
Since I've not tested plain display port, nor DP->VGA yet, want to see if anyone has wildly different experiences with that model before I do any edits?<br />
<br />
[[User:Thomasam|Thomasam]] ([[User talk:Thomasam|talk]]) 00:41, 3 January 2015 (UTC)<br />
<br />
I agree with Thomasam. I have the newer 9550 model (Skylake) and both, the HDMI as well as using a USB 3.1 Type C/Tunderbolt 3 to HDMI adapter just work (all at the same time and perfectly fine if plugged/unplugged at runtime). I even don't have any X11 configs. Just make sure you apply all the recent BIOS and Thunderbolt firmware updates and use a HDMI cable that is known to work (I had a rather frustrating few days with a brand new but broken cable which sent me down many misleading rabbit holes including this wiki page).<br />
<br />
[[User:Oceansailor|Oceansailor]] ([[User talk:Oceansailor|talk]]) 22:49, 13 March 2016 (UTC)<br />
<br />
== Issues with sound (9550 Skylake ALC3266) ==<br />
<br />
I wrote the section regarding sound. I will attempt to clean it up and conform it to the guidelines.<br />
<br />
== Issues with suspend/resume/flickering (9550 Skylake) ==<br />
<br />
I submitted a bug report to Dell about the A10 BIOS update that breaks suspend/resume. (reference #934603967) I also mentioned about the screen flickering issue in the report. I will keep this talk updated when I receive a response back from Dell.<br />
<br />
EDIT: Here is a gist of the response. Regular corpo Dell zombie response...<br />
<br />
https://gist.github.com/WhitleyStriber/94084c356a995b3e52b806aa714e38dc<br />
<br />
I will test it in BIOS to see if the flickering persists (which, I believe, still does)<br />
<br />
We cannot point towards a faulty cable/LCD because EVERYONE is experiencing the same issues. Unless if they just shipped out faulty LCD/GPU/LVDS components?</div>WhitleyStriberhttps://wiki.archlinux.org/index.php?title=Talk:Dell_XPS_15&diff=446740Talk:Dell XPS 152016-08-15T17:35:08Z<p>WhitleyStriber: Added suspend/resume section & details</p>
<hr />
<div>I believe the entire multihead section is far more complex than necessary for a 9350 model XPS 15 w/ hidpi display. HDMI, DP->DVI, and the internal monitor all "just work" at the same time with a mundane arandr configuration (nvidia card off, intel only)<br />
<br />
Since I've not tested plain display port, nor DP->VGA yet, want to see if anyone has wildly different experiences with that model before I do any edits?<br />
<br />
[[User:Thomasam|Thomasam]] ([[User talk:Thomasam|talk]]) 00:41, 3 January 2015 (UTC)<br />
<br />
I agree with Thomasam. I have the newer 9550 model (Skylake) and both, the HDMI as well as using a USB 3.1 Type C/Tunderbolt 3 to HDMI adapter just work (all at the same time and perfectly fine if plugged/unplugged at runtime). I even don't have any X11 configs. Just make sure you apply all the recent BIOS and Thunderbolt firmware updates and use a HDMI cable that is known to work (I had a rather frustrating few days with a brand new but broken cable which sent me down many misleading rabbit holes including this wiki page).<br />
<br />
[[User:Oceansailor|Oceansailor]] ([[User talk:Oceansailor|talk]]) 22:49, 13 March 2016 (UTC)<br />
<br />
== Issues with sound (9550 Skylake ALC3266) ==<br />
<br />
I wrote the section regarding sound. I will attempt to clean it up and conform it to the guidelines.<br />
<br />
== Issues with suspend/resume (9550 Skylake) ==<br />
<br />
I submitted a bug report to Dell about the A10 BIOS update that breaks suspend/resume. (reference #934603967) I also mentioned about the screen flickering issue in the report. I will keep this talk updated when I receive a response back from Dell.</div>WhitleyStriber