https://wiki.archlinux.org/api.php?action=feedcontributions&user=Vladev&feedformat=atomArchWiki - User contributions [en]2024-03-28T12:05:41ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Firefox/Tweaks&diff=593842Firefox/Tweaks2020-01-03T14:06:30Z<p>Vladev: /* Slow or freezing scrolling */ Note about restarting Firefox on setting change.</p>
<hr />
<div>[[Category:Web browser]]<br />
[[ja:Firefox 設定]]<br />
{{Related articles start}}<br />
{{Related|Firefox}}<br />
{{Related|Browser plugins}}<br />
{{Related|Firefox/Profile on RAM}}<br />
{{Related|Firefox/Privacy}}<br />
{{Related articles end}}<br />
<br />
{{Merge|Firefox#Tips and tricks|Also overlaps with [[Firefox#Configuration]]; deciding if some particular topic should be here or on the main page is arbitrary. The "tweaks" are the backbone of the content related to Firefox, so they should be directly on the main page. The troubleshooting section can be split into a subpage if the result is deemed too long.}}<br />
<br />
This page contains advanced Firefox configuration options and performance tweaks.<br />
<br />
== Performance ==<br />
<br />
Improving Firefox's performance is divided into parameters that can be inputted while running Firefox or otherwise modifying its configuration as intended by the developers, and advanced procedures that involve foreign programs or scripts.<br />
<br />
{{Note|Listed options may only be available for the latest version of Firefox.}}<br />
<br />
This section contains advanced Firefox options for performance tweaking. For additional information see [http://kb.mozillazine.org/Category:Tweaking_preferences these MozillaZine articles].<br />
<br />
=== Change Performance settings ===<br />
<br />
Firefox automatically uses settings based on the computer's hardware specifications [https://support.mozilla.org/en-US/kb/performance-settings].<br />
<br />
Adjusting these settings can be done in Preferences or by changing the {{ic|dom.ipc.processCount}} value to {{ic|1-8}} and {{ic|browser.preferences.defaultPerformanceSettings.enabled}} to {{ic|false}} manually in {{ic|about:config}}.<br />
<br />
However you may want to manually adjust this setting to increase performance even further or decrease memory usage on low-end devices.<br />
<br />
In this case the '''Content process limit''' for the current [[user]] has been increased to ''4'':<br />
<br />
{{hc|$ ps -e {{!}} grep 'Web Content'|<br />
13991 tty1 00:00:04 Web Content<br />
14027 tty1 00:00:09 Web Content<br />
14031 tty1 00:00:20 Web Content<br />
14040 tty1 00:00:26 Web Content<br />
}}<br />
<br />
=== Enable OpenGL Off-Main-Thread Compositing (OMTC) ===<br />
<br />
Basic software OMTC is enabled by default.<br />
<br />
To check if OpenGL OMTC is enabled, go to {{ic|about:support}} and under the "Graphics" section look for "Compositing". If it reports "Basic", OpenGL OMTC is disabled; if it reports "OpenGL" it is enabled.<br />
<br />
If OpenGL OMTC is disabled, you can force-enable it by going to {{ic|about:config}} and enabling {{ic|layers.acceleration.force-enabled}}. Restart Firefox for changes to take effect.<br />
<br />
{{note|If OpenGL OMTC is disabled for a specific hardware, it may be due to stability issues, high system resources consumption, driver bugs or a number of different variables, and so instead of speeding things up it might slow them down. Proceed with force-enabling it at your own risk, benchmark if you aren’t sure.}}<br />
<br />
For more information on OMTC in Firefox read [[MozillaWiki:Platform/GFX/OffMainThreadCompositing]].<br />
<br />
=== Enable WebRender ===<br />
<br />
Enables WebRender compositor in Servo, instead of Gecko. It improves performance on supported hardware, fixes some black visual glitches when "OpenGL Off-Main-Thread" is enabled. Currently it has some known bugs. You can read more in [[MozillaWiki:Platform/GFX/Quantum Render]].<br />
<br />
Mozilla is slowly deploying WebRender to "qualified" Linux configurations. The qualification mostly depends on the GPU, the driver's version and the screen resolution. <br />
<br />
One can force-enable it using one of the two methods below:<br />
# by setting the {{ic|MOZ_WEBRENDER}} [[environment variable]] to {{ic|1}} before launching Firefox.<br />
# by going to {{ic|about:config}} and setting {{ic|gfx.webrender.all}} to {{ic|true}}. Restart Firefox for changes to take effect.<br />
<br />
To check if WebRender is enabled go to {{ic|about:support}} and under the "Graphics" section, in the "Decision Log" sub-section, look for "WEBRENDER". If it reports "available by user: Force enabled by pref", it means is enabled. Otherwise it will just report "opt-in by default: WebRender is an opt-in feature".<br />
<br />
{{Note|If WebRender is disabled for a specific hardware, it may be due to stability issues, high system resources consumption, driver bugs or a number of different variables, and so instead of speeding things up it might slow them down. Proceed with force-enabling it at your own risk, benchmark if you are not sure.}}<br />
<br />
=== Enable Accelerated Azure Canvas ===<br />
<br />
{{Warning|Accelerated Azure Canvas may cause invalid/corrupt rendering of images on unsupported devices and/or drivers, see [[#Enable OpenGL Off-Main-Thread Compositing (OMTC)]].}}<br />
<br />
Go to {{ic|about:config}}, accept the warning, right click and create a new boolean value. Set the name as {{ic|gfx.canvas.azure.accelerated}} and set it to {{ic|true}}.<br />
<br />
To verify restart Firefox then go to {{ic|about:support}} and search for {{ic|AzureCanvasAccelerated}} which should be set to ''1''.<br />
<br />
The acceleration efficiency can be tested by comparing the speed of a [http://js1k.com/2016-elemental/demo/2445 javascript demo] with and without the setting.<br />
<br />
=== Stop urlclassifier3.sqlite from being created again ===<br />
<br />
{{Out of date|This advice seems not need anymore. ({{ic|urlclassifier*}} files don't exist as of Firefox 64+.)}}<br />
<br />
Removing all {{ic|urlclassifier*}} files can prevent the use of megabytes of storage in your firefox profile. If you remove all the {{ic|urlclassifier*}} files, you may find out that {{ic|urlclassifier3.sqlite}} keeps growing again after a certain time. Here is a simple solution to avoid it for now and ever.<br />
<br />
$ cd ~/.mozilla/firefox/<profile_dir><br />
$ echo "" > urlclassifier3.sqlite<br />
$ chmod 400 urlclassifier3.sqlite<br />
<br />
This effectively makes the file empty and then read-only so Firefox cannot write to it anymore.<br />
<br />
=== Turn off the disk cache ===<br />
<br />
Every object loaded (html page, jpeg image, css stylesheet, gif banner) is saved in the Firefox cache for future use without the need to download it again. It is estimated that only a fraction of these objects will be reused, usually about 30%. This is because of very short object expiration time, updates or simply user behavior (loading new pages instead of returning to the ones already visited). The Firefox cache is divided into memory and disk cache and the latter results in frequent disk writes: newly loaded objects are written to memory and older objects are removed.<br />
<br />
The disk cache can be turned off by enabling ''Preferences > Privacy & Security > Cached Web Content - Override automatic cache management'' and setting to {{ic|0}} ''Limit cache to ... MB of space''.<br />
<br />
An alternative approach is to use {{Ic|about:config}} settings:<br />
<br />
* Set {{Ic|browser.cache.disk.enable}} to {{ic|false}}<br />
* Verify that {{Ic|browser.cache.memory.enable}} is set to {{ic|true}}, more information about this option can be found in the [http://kb.mozillazine.org/Browser.cache.memory.enable browser.cache.memory Mozilla article]<br />
* Add the entry (''right click > new > integer'') {{Ic|browser.cache.memory.capacity}} and set it to the amount of KB you want to spare, or to {{ic|-1}} for [http://kb.mozillazine.org/Browser.cache.memory.capacity#-1 automatic] cache size selection (skipping this step has the same effect as setting the value to {{ic|-1}})<br />
** The "automatic" size selection is based on a decade-old table that only contains settings for systems at or below 8GB of system memory. The following formula very closely approximates this table, and can be used to set the Firefox cache more dynamically: {{ic|41297 - (41606 / (1 + ((RAM / 1.16) ^ 0.75)))}}, where {{ic|RAM}} is in GB and the result is in KB.<br />
<br />
This method has some drawbacks:<br />
<br />
* The content of currently browsed webpages is lost if the browser crashes or after a reboot, this can be avoided using [[anything-sync-daemon]] or any similar periodically-syncing script so that cache gets copied over to the drive on a regular basis<br />
* The settings need to be configured for each user individually<br />
<br />
=== Longer interval between session information record ===<br />
<br />
Firefox stores the current session status (opened urls, cookies, history and form data) to the disk on a regular basis. It is used to recover a previous session in case of crash.<br />
The default setting is to save the session every 15 seconds, resulting in frequent disk access. <br />
<br />
To increase the save interval to 10 minutes (600000 milliseconds) for example, change in {{ic|about:config}} the setting of {{ic|browser.sessionstore.interval}} to {{ic|600000}}<br />
<br />
To disable completely this feature, change {{ic|browser.sessionstore.resume_from_crash}} to {{ic|false}}<br />
<br />
=== Referrer header control ===<br />
<br />
The HTTP {{ic|Referer}} header can be extensively configured via {{ic|about:config}}. See [[MozillaWiki:Security/Referrer]] for the available preferences.<br />
<br />
=== Defragment the profile's SQLite databases ===<br />
<br />
{{Warning|This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Firefox keeps bookmarks, history, passwords in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve start-up and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
You can use {{AUR|profile-cleaner}} to do this, while Firefox is '''not''' running:<br />
<br />
{| class="wikitable"<br />
|+ profile-cleaner usage example:<br />
! SQLite database || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
Firefox provides a tool to defragment and optimize the places database, which is the source of most slowdowns and profile corruptions. To access this tool, open the {{ic|about:support}} page, search for {{ic|Places Database}} and click the {{ic|Verify Integrity}} button.<br />
<br />
=== Cache the entire profile into RAM via tmpfs ===<br />
<br />
If the system has memory to spare, {{ic|tmpfs}} can be used to [[Firefox/Profile_on_RAM|cache the entire profile directory]], which might result in increased Firefox responsiveness.<br />
<br />
=== Disable Pocket ===<br />
<br />
If you do not use the Pocket-service, you may want to disable it by setting {{ic|extensions.pocket.enabled}} to ''false'' in {{ic|about:config}}.<br />
<br />
== Appearance ==<br />
<br />
=== Fonts ===<br />
<br />
See the main article: [[Font configuration]]<br />
<br />
==== Configure the DPI value ====<br />
<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type {{ic|about:config}} into the address bar and set {{ic|layout.css.dpi}} to '''0'''.<br />
<br />
Note that the above method only affects the Firefox user interface's DPI settings. Web page contents still use a DPI value of 96, which may look ugly or, in the case of high-resolution displays, may be rendered too small to read. A solution is to change {{ic|layout.css.devPixelsPerPx}} to system's DPI divided by 96. For example, if your system's DPI is 144, then the value to add is 144/96 = 1.5. Changing {{ic|layout.css.devPixelsPerPx}} to '''1.5''' makes web page contents use a DPI of 144, which looks much better.<br />
<br />
See also [[HiDPI#Firefox]] for information about HiDPI displays and [https://www.sven.de/dpi/] for calculating the DPI.<br />
<br />
==== Default font settings from Microsoft Windows ====<br />
<br />
Below are the default font preferences when Firefox is installed in Microsoft Windows. Many web sites use the Microsoft fonts.<br />
<br />
{{bc|<br />
Proportional: Serif Size (pixels): 16<br />
Serif: Times New Roman<br />
Sans-serif: Arial<br />
Monospace: Courier New Size (pixels): 13<br />
}}<br />
<br />
=== General user interface CSS settings ===<br />
<br />
Firefox's user interface can be modified by editing the {{ic|userChrome.css}} and {{ic|userContent.css}} files in {{ic|~/.mozilla/firefox/<profile_dir>/chrome/}} (''profile_dir'' is of the form ''hash.name'', where the ''hash'' is an 8 character, seemingly random string and the profile ''name'' is usually ''default'').<br />
<br />
{{Note|<br />
* The {{ic|chrome/}} folder and {{ic|userChrome.css}}/{{ic|userContent.css}} files may not necessarily exist, so they may need to be created.<br />
* {{ic|toolkit.legacyUserProfileCustomizations.stylesheets}} must be enabled in {{ic|about:config}}.<br />
}}<br />
<br />
This section only deals with the {{ic|userChrome.css}} file which modifies Firefox's user interface, and not web pages.<br />
<br />
==== Change the interface font ====<br />
<br />
The setting effectively overrides the global GTK font preferences, and does not affect webpages, only the user interface itself:<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
* {<br />
font-family: "FONT_NAME";<br />
}<br />
}}<br />
<br />
==== Hide button icons ====<br />
<br />
Enables text-only buttons:<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
.button-box .button-icon {<br />
display: none;<br />
}<br />
}}<br />
<br />
==== Hiding various tab buttons ====<br />
<br />
These settings hide the arrows that appear to the horizontal edges of the tab bar, the button that toggles the "all tabs" drop-down list, and the plus sign button that creates a new tab.<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<nowiki><br />
/* Tab bar */<br />
<br />
.tabbrowser-strip *[class^="scrollbutton"] {<br />
/* Hide tab scroll buttons */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-alltabs"] {<br />
/* Hide tab drop-down list */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-newtab-button"] {<br />
/* Hide new-tab button */<br />
display: none;<br />
}</nowiki><br />
}}<br />
<br />
==== Horizontal tabs ====<br />
<br />
To place the tab bar horizontally stacked along the sides of the browser window:<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* Display the tabbar on the left */<br />
#content > tabbox {<br />
-moz-box-orient: horizontal;<br />
}<br />
<br />
.tabbrowser-strip {<br />
-moz-box-orient: vertical;<br />
/*<br />
* You can set this to -moz-scrollbars-vertical instead,<br />
* but then the scrollbar will *always* be visible. this way<br />
* there is never a scrollbar, so it behaves like the tab bar<br />
* normally does<br />
*/<br />
overflow: -moz-scrollbars-none;<br />
}<br />
<br />
.tabbrowser-tabs {<br />
-moz-box-orient: horizontal;<br />
min-width: 20ex; /* You may want to increase this value */<br />
-mox-box-pack: start;<br />
-moz-box-align: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox {<br />
-moz-box-orient: vertical;<br />
-moz-box-align: stretch;<br />
-moz-box-pack: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox > tab {<br />
-moz-box-align: start;<br />
-moz-box-orient: horizontal;<br />
}<br />
}}<br />
<br />
==== Hide title bar and window border ====<br />
<br />
To replace the title bar with the tab bar, enable {{ic|browser.tabs.drawInTitlebar}} in {{ic|about:config}}.<br />
<br />
Or go to "Menu", then "Customize" and then at the bottom-left corner find checkbox named "Title Bar". Uncheck it. If the checkbox is missing, make sure the {{ic|XDG_CURRENT_DESKTOP}} environment variable is correctly set and/or the {{ic|MOZ_GTK_TITLEBAR_DECORATION}} environment variable is set to "client".<br />
<br />
==== Auto-hide Bookmarks Toolbar ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
#PersonalToolbar {<br />
visibility: collapse !important;<br />
}<br />
<br />
#navigator-toolbox:hover > #PersonalToolbar {<br />
visibility: visible !important;<br />
}<br />
}}<br />
<br />
==== Remove sidebar width restrictions ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* remove maximum/minimum width restriction of sidebar */<br />
#sidebar {<br />
max-width: none !important;<br />
min-width: 0px !important;<br />
}<br />
}}<br />
<br />
==== Unreadable input fields with dark GTK themes ====<br />
<br />
When using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. text input field with white text on white background, or black text on dark background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme. To prevent Firefox from using theme's colors in web pages confirm {{ic|browser.display.use_system_colors}} is set to {{ic|false}} in {{ic|about:config}}.<br />
<br />
Otherwise, if the previous modification didn't solve the issue, it is possible to launch Firefox with a light GTK theme by adding a new string in {{ic|about:config}} named {{ic|widget.content.gtk-theme-override}} and setting it to a light theme like {{ic|Breeze:light}} or {{ic|Adwaita:light}}.<br />
<br />
===== Override input field color with CSS =====<br />
<br />
{{Note|1=Related bug has been resolved starting with 68. [https://bugzilla.mozilla.org/show_bug.cgi?id=1527048#c44]}}<br />
<br />
The extension [https://addons.mozilla.org/firefox/addon/text-contrast-for-dark-themes/ Text Contrast for Dark Themes] sets the other color as needed to maintain contrast.<br />
<br />
Alternatively set the standard colors explicitly for all web pages in {{ic|userContent.css}} or using the [https://addons.mozilla.org/firefox/addon/styl-us/ stylus add-on].<br />
The style sheet is usually located in your profile folder (visit {{ic|about:profiles}} for the path) in {{ic|chrome/userContent.css}}, if not you can create it there.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<br />
{{Note|If you want {{ic|urlbar}} and {{ic|searchbar}} to be {{ic|white}} remove the two first {{ic|:not}} css selectors.}}<br />
<br />
{{bc|1=<br />
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
#downloads-indicator-counter {<br />
color: white;<br />
}<br />
}}<br />
<br />
===== Change the GTK theme =====<br />
<br />
To force Firefox to use a light theme (e.g. Adwaita) for both web content and UI, see [[GTK#Themes]].<br />
<br />
===== Change the GTK theme for content process only =====<br />
<br />
{{Note|1=Works with multiprocess enabled. [https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c145]}}<br />
<br />
To force Firefox to use a light theme (e.g. Adwaita) for web content only:<br />
<br />
# Open {{ic|about:config}} in the address bar.<br />
# Create a new {{ic|widget.content.gtk-theme-override}} string type entry ({{ic|right mouse button}} ''> New > String'').<br />
# Set the value to the light theme to use for rendering purposes (e.g. {{ic|Adwaita:light}}).<br />
# Restart Firefox.<br />
<br />
=== Web content CSS settings ===<br />
<br />
This section deals with the {{ic|userContent.css}} file in which you can add custom CSS rules for web content. Changes to this file will take effect once the browser is restarted.<br />
<br />
This file can be used for making small fixes or to apply personal styles to frequently visited websites. Custom stylesheets for popular websites are available from sources such as [http://userstyles.org/ userstyles.org]. You can install an add-on such as [https://addons.mozilla.org/firefox/addon/superusercontent/ superUserContent] to manage themes. This add-on creates the directory {{ic|chrome/userContent.css.d}} and applies changes to the CSS files therein when the page is refreshed.<br />
<br />
==== Import other CSS files ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@import url("./imports/some_file.css");<br />
}}<br />
<br />
==== Block certain parts of a domain ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@-moz-document domain(example.com) {<br />
div#header {<br />
background-image: none !important;<br />
} <br />
}<br />
}}<br />
<br />
==== Add [pdf] after links to PDF files ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<nowiki><br />
/* add '[pdf]' next to links to PDF files */<br />
a[href$=".pdf"]:after {<br />
font-size: smaller;<br />
content: " [pdf]";<br />
}</nowiki><br />
}}<br />
<br />
==== Block ads ====<br />
<br />
See [http://www.floppymoose.com floppymoose.com] for an example of how to use {{ic|userContent.css}} as a basic ad-blocker.<br />
<br />
== Mouse and keyboard ==<br />
<br />
=== Mouse wheel scroll speed ===<br />
<br />
To modify the default values (i.e. speed-up) of the mouse wheel scroll speed, go to {{ic|about:config}} and search for {{ic|mousewheel.acceleration}}. This will show the available options, modifying the following:<br />
<br />
* Set {{ic|mousewheel.acceleration.start}} to {{ic|-1}}.<br />
* Set {{ic|mousewheel.acceleration.factor}} to the desired number ({{ic|10}} to {{ic|20}} are common values).<br />
<br />
Mozilla's recommendation for increasing the mousewheel scroll speed is to:<br />
<br />
* Set {{ic|mousewheel.default.delta_multiplier_y}} between {{ic|200}} and {{ic|500}} (default: {{ic|100}})<br />
<br />
=== Pixel-perfect trackpad scrolling ===<br />
<br />
To enable one-to-one trackpad scrolling (as can be witnessed with GTK3 applications like Nautilus), set the {{ic|1=MOZ_USE_XINPUT2=1}} [[environment variable]] before starting Firefox.<br />
<br />
If scrolling is undesirably jerky, try enabling Firefox's "Use smooth scrolling" option in Preferences > General > Browsing.<br />
<br />
=== Enable touchscreen gestures ===<br />
<br />
Make sure {{ic|dom.w3c_touch_events.enabled}} is either set to 1 (''enabled'') or 2 (''default, auto-detect'').<br />
<br />
Add {{ic|1=MOZ_USE_XINPUT2 DEFAULT=1}} to {{ic|/etc/security/pam_env.conf}} and then logout or reboot your system for the changes to take effect.<br />
<br />
On some devices, it may be necessary to disable xinput's touchscreen gestures by running the following:<br />
$ xsetwacom --set ''device'' Gesture off<br />
<br />
=== Mouse click on URL bar's behavior ===<br />
<br />
To make the url bar behaves like in Windows regarding mouse clicks: a single click selects everything, a double click selects a single word until a punctuation sign and a triple click selects everything again, set the following in {{ic|about:config}}:<br />
<br />
browser.urlbar.clickSelectsAll; true<br />
browser.urlbar.doubleClickSelectsAll; false<br />
layout.word_select.stop_at_punctuation; true (default)<br />
<br />
=== Set backspace's behavior ===<br />
<br />
See [[Firefox#Backspace does not work as the 'Back' button]].<br />
<br />
=== Disable middle mouse button clipboard paste ===<br />
<br />
See [[Firefox#Middle-click behavior]].<br />
<br />
=== Emacs key bindings ===<br />
To have Emacs/Readline-like key bindings active in text fields, see [[GTK#Emacs key bindings]].<br />
<br />
== Miscellaneous ==<br />
<br />
=== Enable additional media codecs ===<br />
<br />
{{Expansion|This section is not completed, there are many other variables related to Media Codecs in firefox.}}<br />
<br />
Before continuing, remember there is a reason some of these variables are not enabled by default, e.g. stability, memory leaks, etc. Go to {{ic|about:config}} and check the following options:<br />
<br />
{| class="wikitable"<br />
|+ Suggested values<br />
! Key || Value || Description<br />
|-<br />
| media.mediasource.enabled || true (default) || Enable [[wikipedia:Media_Source_Extensions|Media Source Extensions]] (MSE)<br />
|-<br />
| media.mediasource.mp4.enabled || true (default) || Enable [[wikipedia:MPEG-4_Part_14|MP4]] MSE<br />
|-<br />
| media.mediasource.webm.enabled || true (default) || Enable [[wikipedia:WebM|WebM]] MSE.<br />
|-<br />
| media.mediasource.ignore_codecs || true || Enable H.264 MSE, amongst other things (This boolean key has to be created!)<br />
|-<br />
| media.av1.enabled|| true || Enable [[wikipedia:AV1|AV1]]<br />
|}<br />
<br />
==== Widevine and Netflix/Amazon Video ====<br />
<br />
Widevine is a digital rights management tool that Netflix, Amazon Prime Video, and others use to protect their video content.<br />
<br />
The first time you visit a Widevine-enabled page Firefox will display a prompt below the address bar asking for permission to install DRM. Approve this and then wait for the "Downloading" bar to disappear, you are now able to watch videos from Netflix, Amazon Prime Video, or any other Widevine protected site.<br />
{{Note|Please make sure to check the ''Play DRM content'' option under Content-Preference.}}<br />
<br />
It is also required that the private mode browsing is disabled, for the window and in the preferences.<br />
<br />
=== Remove full screen warning ===<br />
<br />
Warning about video displayed in full screen mode ("… is now fullscreen") can be disabled by setting {{ic|full-screen-api.warning.timeout}} to {{ic|0}} in {{ic|about:config}}.<br />
<br />
=== Change the order of search engines in the Firefox Search Bar ===<br />
<br />
To change the order search engines are displayed in:<br />
<br />
* Open the drop-down list of search engines and click ''Manage Search Engines...'' entry.<br />
* Highlight the engine you want to move and use ''Move Up'' or ''Move Down'' to move it. Alternatively, you can use drag-and-drop.<br />
<br />
=== "I'm Feeling Lucky" mode ===<br />
<br />
Some search engines have a "feeling lucky" feature. For example, Google has "I'm Feeling Lucky", and DuckDuckGo has "I'm Feeling Ducky".<br />
<br />
To activate them, search for {{ic|keyword.url}} in {{ic|about:config}} and modify its value (if any) to the URL of the search engine. <br />
<br />
For Google, set it to:<br />
<br />
{{bc|<nowiki>https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=</nowiki>}}<br />
<br />
For DuckDuckGo, set it to:<br />
<br />
{{bc|<nowiki>https://duckduckgo.com/?q=\</nowiki>}}<br />
<br />
=== Secure DNS with DNSSEC validator ===<br />
<br />
You can enable [[DNSSEC]] support for safer browsing.<br />
<br />
=== Adding magnet protocol association ===<br />
<br />
In {{ic|about:config}} set {{ic|network.protocol-handler.expose.magnet}} to {{ic|false}}. In case it does not exist, it needs to be created, right click on a free area and select ''New > Boolean'', input {{ic|network.protocol-handler.expose.magnet}} and set it to {{ic|false}}.<br />
<br />
The next time you open a magnet link, you will be prompted with a ''Launch Application'' dialogue. From there simply select your chosen [[List_of_applications/Internet#BitTorrent_clients|BitTorrent client]]. This technique can also be used with other protocols: {{ic|network.protocol-handler.expose.<protocol>}}.<br />
<br />
=== Prevent accidental closing ===<br />
<br />
There are different approaches to handle this:<br />
<br />
Under {{ic|about:preferences#general}} select {{ic|Warn you when quitting the browser}}.<br />
<br />
An alternative is to add a rule in your window manager configuration file. For example in [[Openbox]] add:<br />
<keybind key="C-q"><br />
<action name="Execute"><br />
<execute>false</execute><br />
</action><br />
</keybind><br />
in the ''<keyboard>'' section of your {{ic|~/.config/openbox/rc.xml}} file.<br />
<br />
{{Note|This will be effective for every application used under a graphic server.}}<br />
<br />
The [https://addons.mozilla.org/firefox/addon/disable-ctrl-q-and-cmd-q/ Disable Ctrl-Q and Cmd-Q] extension can be installed to prevent unwanted closing of the browser.<br />
<br />
{{Note|1=This extension no longer works on Linux due to a [https://bugzilla.mozilla.org/show_bug.cgi?id=1325692 bug].}}<br />
<br />
=== Plugins do not work with latest version ===<br />
<br />
There can be compatibility issues with plugins not working with the latest Firefox version (e.g. [http://5digits.org/pentadactyl/index Pentadactyl]). If possible, try installing the nightly/beta builds available, or temporarily [[downgrade]] Firefox.<br />
<br />
[https://addons.mozilla.org/firefox/addon/checkcompatibility/ Disable Add-on Compatibility Checks] plugin should take care of spurious compatibility issues when the plugins get disabled, even though they work just fine with the new version.<br />
<br />
=== Jerky or choppy scrolling ===<br />
<br />
Scrolling in Firefox can feel "jerky" or "choppy". A post on [http://forums.mozillazine.org/viewtopic.php?f=8&t=2749475/ MozillaZine] gives settings that work on Gentoo, but reportedly work on Arch Linux as well: <br />
<br />
# Set {{ic|mousewheel.min_line_scroll_amount}} to 40<br />
# Set {{ic|general.smoothScroll}} and {{ic|general.smoothScroll.pages}} to '''false'''<br />
# Set {{ic|image.mem.min_discard_timeout_ms}} to something really large such as 2100000000 but no more than 2140000000. Above that number Firefox will not accept your entry and complain with the error code: "The text you entered is not a number." <br />
# Set {{ic|image.mem.max_decoded_image_kb}} to at least 512K<br />
<br />
Now scrolling should flow smoothly.<br />
<br />
=== Slow or freezing scrolling ===<br />
<br />
Sometimes, usually when 4K screens are involved, Firefox can freeze until the user stops scrolling and then do a redraw (rather than producing a nice scroll "animation"). An [https://support.mozilla.org/en-US/questions/1157360#answer-962827 answer on Firefox's support page] suggests force-enabling GPU acceleration. Those setting seem to fix the issue.<br />
# Set {{ic|layers.acceleration.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|webgl.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|media.hardware-video-decoding.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|browser.tabs.remote.autostart}} to {{ic|true}}. This one enables multiprocessor support. It already defaults to {{ic|true}} in recent Firefox releases.<br />
<br />
Remember to restart Firefox when you change the settings.<br />
<br />
=== Run Firefox inside an nspawn container ===<br />
<br />
{{Move|systemd-nspawn|This is potentially useful for any browser, so... move back?}}<br />
<br />
If you have problems accessing the X server from within the container, you might want to consider [[Systemd-nspawn#Use an X environment]].<br />
<br />
To run as PID 1<br />
<br />
# systemd-nspawn --setenv=DISPLAY=:0 \<br />
--setenv=XAUTHORITY=~/.Xauthority \<br />
--bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
firefox<br />
<br />
Else rather boot the container, with systemd ideally setting up your networking with [[systemd-networkd]]:<br />
<br />
# systemd-nspawn --bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
--network-veth -b<br />
<br />
{{Note|There is [https://github.com/systemd/systemd/issues/7093 a bug] in systemd version 235 that causes /tmp/.X11-unix to disappear from the filesystem when doing this. If you are having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind-ro<nowiki>=</nowiki>/tmp/.X11-unix}} }}<br />
<br />
Once your container is booted, run the Xorg binary like so:<br />
<br />
# systemd-run -M firefox --setenv=DISPLAY=:0 firefox<br />
<br />
=== Disable WebRTC audio post processing ===<br />
<br />
If you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], you probably do not want Firefox to do additional audio post processing.<br />
<br />
To disable audio post processing, change the value of the following preferences to {{ic|false}}:<br />
<br />
* {{ic|media.getusermedia.aec_enabled}} (Acoustic Echo Cancellation)<br />
* {{ic|media.getusermedia.agc_enabled}} (Automatic Gain Control)<br />
* {{ic|media.getusermedia.noise_enabled}} (Noise suppression)<br />
<br />
=== Fido U2F authentication ===<br />
<br />
Install {{pkg|libu2f-host}} for the required udev rules to allow Firefox to communicate with the U2F key.<br />
<br />
Firefox supports the Fido U2F authentication protocol.<br />
<br />
{{Note|Firefox does not inplement the entire U2F protocol [https://www.yubico.com/2017/11/how-to-navigate-fido-u2f-in-firefox-quantum/]. Some sites might not work correctly.}}<br />
<br />
=== Get ALSA working back ===<br />
<br />
As long as Arch keeps building Firefox with ''ac_add_options --enable-alsa'', then one can make Firefox allow ioctl syscalls, blocked by default by Firefox sandboxing, and required by ALSA setting {{ic|security.sandbox.content.syscall_whitelist}} in {{ic|about:config}}, to the right ioctl syscall number, which is ''16'' for x86-64 and ''54'' for x86-32. See:<br />
<br />
[https://www.linuxquestions.org/questions/slackware-14/firefox-in-current-alsa-sound-4175622116]<br />
[https://codelab.wordpress.com/2017/12/11/firefox-drops-alsa-apulse-to-the-rescue]<br />
[https://www.bleepingcomputer.com/news/security/firefox-57-brings-better-sandboxing-on-linux]<br />
<br />
No need for apulse if built as done so far.<br />
<br />
== See also ==<br />
<br />
* [http://kb.mozillazine.org/Knowledge_Base MozillaZine Wiki]<br />
* [http://kb.mozillazine.org/About:config_entries about:config entries MozillaZine article]<br />
* [http://linuxtidbits.wordpress.com/2009/08/01/better-fox-cat-and-weasel/ Firefox touch-ups that might be desired]</div>Vladevhttps://wiki.archlinux.org/index.php?title=Firefox/Tweaks&diff=593841Firefox/Tweaks2020-01-03T14:04:02Z<p>Vladev: Add a section about slow or freezing scrolling. Force-enabling GPU seems to be the fix.</p>
<hr />
<div>[[Category:Web browser]]<br />
[[ja:Firefox 設定]]<br />
{{Related articles start}}<br />
{{Related|Firefox}}<br />
{{Related|Browser plugins}}<br />
{{Related|Firefox/Profile on RAM}}<br />
{{Related|Firefox/Privacy}}<br />
{{Related articles end}}<br />
<br />
{{Merge|Firefox#Tips and tricks|Also overlaps with [[Firefox#Configuration]]; deciding if some particular topic should be here or on the main page is arbitrary. The "tweaks" are the backbone of the content related to Firefox, so they should be directly on the main page. The troubleshooting section can be split into a subpage if the result is deemed too long.}}<br />
<br />
This page contains advanced Firefox configuration options and performance tweaks.<br />
<br />
== Performance ==<br />
<br />
Improving Firefox's performance is divided into parameters that can be inputted while running Firefox or otherwise modifying its configuration as intended by the developers, and advanced procedures that involve foreign programs or scripts.<br />
<br />
{{Note|Listed options may only be available for the latest version of Firefox.}}<br />
<br />
This section contains advanced Firefox options for performance tweaking. For additional information see [http://kb.mozillazine.org/Category:Tweaking_preferences these MozillaZine articles].<br />
<br />
=== Change Performance settings ===<br />
<br />
Firefox automatically uses settings based on the computer's hardware specifications [https://support.mozilla.org/en-US/kb/performance-settings].<br />
<br />
Adjusting these settings can be done in Preferences or by changing the {{ic|dom.ipc.processCount}} value to {{ic|1-8}} and {{ic|browser.preferences.defaultPerformanceSettings.enabled}} to {{ic|false}} manually in {{ic|about:config}}.<br />
<br />
However you may want to manually adjust this setting to increase performance even further or decrease memory usage on low-end devices.<br />
<br />
In this case the '''Content process limit''' for the current [[user]] has been increased to ''4'':<br />
<br />
{{hc|$ ps -e {{!}} grep 'Web Content'|<br />
13991 tty1 00:00:04 Web Content<br />
14027 tty1 00:00:09 Web Content<br />
14031 tty1 00:00:20 Web Content<br />
14040 tty1 00:00:26 Web Content<br />
}}<br />
<br />
=== Enable OpenGL Off-Main-Thread Compositing (OMTC) ===<br />
<br />
Basic software OMTC is enabled by default.<br />
<br />
To check if OpenGL OMTC is enabled, go to {{ic|about:support}} and under the "Graphics" section look for "Compositing". If it reports "Basic", OpenGL OMTC is disabled; if it reports "OpenGL" it is enabled.<br />
<br />
If OpenGL OMTC is disabled, you can force-enable it by going to {{ic|about:config}} and enabling {{ic|layers.acceleration.force-enabled}}. Restart Firefox for changes to take effect.<br />
<br />
{{note|If OpenGL OMTC is disabled for a specific hardware, it may be due to stability issues, high system resources consumption, driver bugs or a number of different variables, and so instead of speeding things up it might slow them down. Proceed with force-enabling it at your own risk, benchmark if you aren’t sure.}}<br />
<br />
For more information on OMTC in Firefox read [[MozillaWiki:Platform/GFX/OffMainThreadCompositing]].<br />
<br />
=== Enable WebRender ===<br />
<br />
Enables WebRender compositor in Servo, instead of Gecko. It improves performance on supported hardware, fixes some black visual glitches when "OpenGL Off-Main-Thread" is enabled. Currently it has some known bugs. You can read more in [[MozillaWiki:Platform/GFX/Quantum Render]].<br />
<br />
Mozilla is slowly deploying WebRender to "qualified" Linux configurations. The qualification mostly depends on the GPU, the driver's version and the screen resolution. <br />
<br />
One can force-enable it using one of the two methods below:<br />
# by setting the {{ic|MOZ_WEBRENDER}} [[environment variable]] to {{ic|1}} before launching Firefox.<br />
# by going to {{ic|about:config}} and setting {{ic|gfx.webrender.all}} to {{ic|true}}. Restart Firefox for changes to take effect.<br />
<br />
To check if WebRender is enabled go to {{ic|about:support}} and under the "Graphics" section, in the "Decision Log" sub-section, look for "WEBRENDER". If it reports "available by user: Force enabled by pref", it means is enabled. Otherwise it will just report "opt-in by default: WebRender is an opt-in feature".<br />
<br />
{{Note|If WebRender is disabled for a specific hardware, it may be due to stability issues, high system resources consumption, driver bugs or a number of different variables, and so instead of speeding things up it might slow them down. Proceed with force-enabling it at your own risk, benchmark if you are not sure.}}<br />
<br />
=== Enable Accelerated Azure Canvas ===<br />
<br />
{{Warning|Accelerated Azure Canvas may cause invalid/corrupt rendering of images on unsupported devices and/or drivers, see [[#Enable OpenGL Off-Main-Thread Compositing (OMTC)]].}}<br />
<br />
Go to {{ic|about:config}}, accept the warning, right click and create a new boolean value. Set the name as {{ic|gfx.canvas.azure.accelerated}} and set it to {{ic|true}}.<br />
<br />
To verify restart Firefox then go to {{ic|about:support}} and search for {{ic|AzureCanvasAccelerated}} which should be set to ''1''.<br />
<br />
The acceleration efficiency can be tested by comparing the speed of a [http://js1k.com/2016-elemental/demo/2445 javascript demo] with and without the setting.<br />
<br />
=== Stop urlclassifier3.sqlite from being created again ===<br />
<br />
{{Out of date|This advice seems not need anymore. ({{ic|urlclassifier*}} files don't exist as of Firefox 64+.)}}<br />
<br />
Removing all {{ic|urlclassifier*}} files can prevent the use of megabytes of storage in your firefox profile. If you remove all the {{ic|urlclassifier*}} files, you may find out that {{ic|urlclassifier3.sqlite}} keeps growing again after a certain time. Here is a simple solution to avoid it for now and ever.<br />
<br />
$ cd ~/.mozilla/firefox/<profile_dir><br />
$ echo "" > urlclassifier3.sqlite<br />
$ chmod 400 urlclassifier3.sqlite<br />
<br />
This effectively makes the file empty and then read-only so Firefox cannot write to it anymore.<br />
<br />
=== Turn off the disk cache ===<br />
<br />
Every object loaded (html page, jpeg image, css stylesheet, gif banner) is saved in the Firefox cache for future use without the need to download it again. It is estimated that only a fraction of these objects will be reused, usually about 30%. This is because of very short object expiration time, updates or simply user behavior (loading new pages instead of returning to the ones already visited). The Firefox cache is divided into memory and disk cache and the latter results in frequent disk writes: newly loaded objects are written to memory and older objects are removed.<br />
<br />
The disk cache can be turned off by enabling ''Preferences > Privacy & Security > Cached Web Content - Override automatic cache management'' and setting to {{ic|0}} ''Limit cache to ... MB of space''.<br />
<br />
An alternative approach is to use {{Ic|about:config}} settings:<br />
<br />
* Set {{Ic|browser.cache.disk.enable}} to {{ic|false}}<br />
* Verify that {{Ic|browser.cache.memory.enable}} is set to {{ic|true}}, more information about this option can be found in the [http://kb.mozillazine.org/Browser.cache.memory.enable browser.cache.memory Mozilla article]<br />
* Add the entry (''right click > new > integer'') {{Ic|browser.cache.memory.capacity}} and set it to the amount of KB you want to spare, or to {{ic|-1}} for [http://kb.mozillazine.org/Browser.cache.memory.capacity#-1 automatic] cache size selection (skipping this step has the same effect as setting the value to {{ic|-1}})<br />
** The "automatic" size selection is based on a decade-old table that only contains settings for systems at or below 8GB of system memory. The following formula very closely approximates this table, and can be used to set the Firefox cache more dynamically: {{ic|41297 - (41606 / (1 + ((RAM / 1.16) ^ 0.75)))}}, where {{ic|RAM}} is in GB and the result is in KB.<br />
<br />
This method has some drawbacks:<br />
<br />
* The content of currently browsed webpages is lost if the browser crashes or after a reboot, this can be avoided using [[anything-sync-daemon]] or any similar periodically-syncing script so that cache gets copied over to the drive on a regular basis<br />
* The settings need to be configured for each user individually<br />
<br />
=== Longer interval between session information record ===<br />
<br />
Firefox stores the current session status (opened urls, cookies, history and form data) to the disk on a regular basis. It is used to recover a previous session in case of crash.<br />
The default setting is to save the session every 15 seconds, resulting in frequent disk access. <br />
<br />
To increase the save interval to 10 minutes (600000 milliseconds) for example, change in {{ic|about:config}} the setting of {{ic|browser.sessionstore.interval}} to {{ic|600000}}<br />
<br />
To disable completely this feature, change {{ic|browser.sessionstore.resume_from_crash}} to {{ic|false}}<br />
<br />
=== Referrer header control ===<br />
<br />
The HTTP {{ic|Referer}} header can be extensively configured via {{ic|about:config}}. See [[MozillaWiki:Security/Referrer]] for the available preferences.<br />
<br />
=== Defragment the profile's SQLite databases ===<br />
<br />
{{Warning|This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Firefox keeps bookmarks, history, passwords in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve start-up and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
You can use {{AUR|profile-cleaner}} to do this, while Firefox is '''not''' running:<br />
<br />
{| class="wikitable"<br />
|+ profile-cleaner usage example:<br />
! SQLite database || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
Firefox provides a tool to defragment and optimize the places database, which is the source of most slowdowns and profile corruptions. To access this tool, open the {{ic|about:support}} page, search for {{ic|Places Database}} and click the {{ic|Verify Integrity}} button.<br />
<br />
=== Cache the entire profile into RAM via tmpfs ===<br />
<br />
If the system has memory to spare, {{ic|tmpfs}} can be used to [[Firefox/Profile_on_RAM|cache the entire profile directory]], which might result in increased Firefox responsiveness.<br />
<br />
=== Disable Pocket ===<br />
<br />
If you do not use the Pocket-service, you may want to disable it by setting {{ic|extensions.pocket.enabled}} to ''false'' in {{ic|about:config}}.<br />
<br />
== Appearance ==<br />
<br />
=== Fonts ===<br />
<br />
See the main article: [[Font configuration]]<br />
<br />
==== Configure the DPI value ====<br />
<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type {{ic|about:config}} into the address bar and set {{ic|layout.css.dpi}} to '''0'''.<br />
<br />
Note that the above method only affects the Firefox user interface's DPI settings. Web page contents still use a DPI value of 96, which may look ugly or, in the case of high-resolution displays, may be rendered too small to read. A solution is to change {{ic|layout.css.devPixelsPerPx}} to system's DPI divided by 96. For example, if your system's DPI is 144, then the value to add is 144/96 = 1.5. Changing {{ic|layout.css.devPixelsPerPx}} to '''1.5''' makes web page contents use a DPI of 144, which looks much better.<br />
<br />
See also [[HiDPI#Firefox]] for information about HiDPI displays and [https://www.sven.de/dpi/] for calculating the DPI.<br />
<br />
==== Default font settings from Microsoft Windows ====<br />
<br />
Below are the default font preferences when Firefox is installed in Microsoft Windows. Many web sites use the Microsoft fonts.<br />
<br />
{{bc|<br />
Proportional: Serif Size (pixels): 16<br />
Serif: Times New Roman<br />
Sans-serif: Arial<br />
Monospace: Courier New Size (pixels): 13<br />
}}<br />
<br />
=== General user interface CSS settings ===<br />
<br />
Firefox's user interface can be modified by editing the {{ic|userChrome.css}} and {{ic|userContent.css}} files in {{ic|~/.mozilla/firefox/<profile_dir>/chrome/}} (''profile_dir'' is of the form ''hash.name'', where the ''hash'' is an 8 character, seemingly random string and the profile ''name'' is usually ''default'').<br />
<br />
{{Note|<br />
* The {{ic|chrome/}} folder and {{ic|userChrome.css}}/{{ic|userContent.css}} files may not necessarily exist, so they may need to be created.<br />
* {{ic|toolkit.legacyUserProfileCustomizations.stylesheets}} must be enabled in {{ic|about:config}}.<br />
}}<br />
<br />
This section only deals with the {{ic|userChrome.css}} file which modifies Firefox's user interface, and not web pages.<br />
<br />
==== Change the interface font ====<br />
<br />
The setting effectively overrides the global GTK font preferences, and does not affect webpages, only the user interface itself:<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
* {<br />
font-family: "FONT_NAME";<br />
}<br />
}}<br />
<br />
==== Hide button icons ====<br />
<br />
Enables text-only buttons:<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
.button-box .button-icon {<br />
display: none;<br />
}<br />
}}<br />
<br />
==== Hiding various tab buttons ====<br />
<br />
These settings hide the arrows that appear to the horizontal edges of the tab bar, the button that toggles the "all tabs" drop-down list, and the plus sign button that creates a new tab.<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<nowiki><br />
/* Tab bar */<br />
<br />
.tabbrowser-strip *[class^="scrollbutton"] {<br />
/* Hide tab scroll buttons */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-alltabs"] {<br />
/* Hide tab drop-down list */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-newtab-button"] {<br />
/* Hide new-tab button */<br />
display: none;<br />
}</nowiki><br />
}}<br />
<br />
==== Horizontal tabs ====<br />
<br />
To place the tab bar horizontally stacked along the sides of the browser window:<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* Display the tabbar on the left */<br />
#content > tabbox {<br />
-moz-box-orient: horizontal;<br />
}<br />
<br />
.tabbrowser-strip {<br />
-moz-box-orient: vertical;<br />
/*<br />
* You can set this to -moz-scrollbars-vertical instead,<br />
* but then the scrollbar will *always* be visible. this way<br />
* there is never a scrollbar, so it behaves like the tab bar<br />
* normally does<br />
*/<br />
overflow: -moz-scrollbars-none;<br />
}<br />
<br />
.tabbrowser-tabs {<br />
-moz-box-orient: horizontal;<br />
min-width: 20ex; /* You may want to increase this value */<br />
-mox-box-pack: start;<br />
-moz-box-align: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox {<br />
-moz-box-orient: vertical;<br />
-moz-box-align: stretch;<br />
-moz-box-pack: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox > tab {<br />
-moz-box-align: start;<br />
-moz-box-orient: horizontal;<br />
}<br />
}}<br />
<br />
==== Hide title bar and window border ====<br />
<br />
To replace the title bar with the tab bar, enable {{ic|browser.tabs.drawInTitlebar}} in {{ic|about:config}}.<br />
<br />
Or go to "Menu", then "Customize" and then at the bottom-left corner find checkbox named "Title Bar". Uncheck it. If the checkbox is missing, make sure the {{ic|XDG_CURRENT_DESKTOP}} environment variable is correctly set and/or the {{ic|MOZ_GTK_TITLEBAR_DECORATION}} environment variable is set to "client".<br />
<br />
==== Auto-hide Bookmarks Toolbar ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
#PersonalToolbar {<br />
visibility: collapse !important;<br />
}<br />
<br />
#navigator-toolbox:hover > #PersonalToolbar {<br />
visibility: visible !important;<br />
}<br />
}}<br />
<br />
==== Remove sidebar width restrictions ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* remove maximum/minimum width restriction of sidebar */<br />
#sidebar {<br />
max-width: none !important;<br />
min-width: 0px !important;<br />
}<br />
}}<br />
<br />
==== Unreadable input fields with dark GTK themes ====<br />
<br />
When using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. text input field with white text on white background, or black text on dark background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme. To prevent Firefox from using theme's colors in web pages confirm {{ic|browser.display.use_system_colors}} is set to {{ic|false}} in {{ic|about:config}}.<br />
<br />
Otherwise, if the previous modification didn't solve the issue, it is possible to launch Firefox with a light GTK theme by adding a new string in {{ic|about:config}} named {{ic|widget.content.gtk-theme-override}} and setting it to a light theme like {{ic|Breeze:light}} or {{ic|Adwaita:light}}.<br />
<br />
===== Override input field color with CSS =====<br />
<br />
{{Note|1=Related bug has been resolved starting with 68. [https://bugzilla.mozilla.org/show_bug.cgi?id=1527048#c44]}}<br />
<br />
The extension [https://addons.mozilla.org/firefox/addon/text-contrast-for-dark-themes/ Text Contrast for Dark Themes] sets the other color as needed to maintain contrast.<br />
<br />
Alternatively set the standard colors explicitly for all web pages in {{ic|userContent.css}} or using the [https://addons.mozilla.org/firefox/addon/styl-us/ stylus add-on].<br />
The style sheet is usually located in your profile folder (visit {{ic|about:profiles}} for the path) in {{ic|chrome/userContent.css}}, if not you can create it there.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<br />
{{Note|If you want {{ic|urlbar}} and {{ic|searchbar}} to be {{ic|white}} remove the two first {{ic|:not}} css selectors.}}<br />
<br />
{{bc|1=<br />
input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {<br />
-moz-appearance: none !important;<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
#downloads-indicator-counter {<br />
color: white;<br />
}<br />
}}<br />
<br />
===== Change the GTK theme =====<br />
<br />
To force Firefox to use a light theme (e.g. Adwaita) for both web content and UI, see [[GTK#Themes]].<br />
<br />
===== Change the GTK theme for content process only =====<br />
<br />
{{Note|1=Works with multiprocess enabled. [https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c145]}}<br />
<br />
To force Firefox to use a light theme (e.g. Adwaita) for web content only:<br />
<br />
# Open {{ic|about:config}} in the address bar.<br />
# Create a new {{ic|widget.content.gtk-theme-override}} string type entry ({{ic|right mouse button}} ''> New > String'').<br />
# Set the value to the light theme to use for rendering purposes (e.g. {{ic|Adwaita:light}}).<br />
# Restart Firefox.<br />
<br />
=== Web content CSS settings ===<br />
<br />
This section deals with the {{ic|userContent.css}} file in which you can add custom CSS rules for web content. Changes to this file will take effect once the browser is restarted.<br />
<br />
This file can be used for making small fixes or to apply personal styles to frequently visited websites. Custom stylesheets for popular websites are available from sources such as [http://userstyles.org/ userstyles.org]. You can install an add-on such as [https://addons.mozilla.org/firefox/addon/superusercontent/ superUserContent] to manage themes. This add-on creates the directory {{ic|chrome/userContent.css.d}} and applies changes to the CSS files therein when the page is refreshed.<br />
<br />
==== Import other CSS files ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@import url("./imports/some_file.css");<br />
}}<br />
<br />
==== Block certain parts of a domain ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@-moz-document domain(example.com) {<br />
div#header {<br />
background-image: none !important;<br />
} <br />
}<br />
}}<br />
<br />
==== Add [pdf] after links to PDF files ====<br />
<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<nowiki><br />
/* add '[pdf]' next to links to PDF files */<br />
a[href$=".pdf"]:after {<br />
font-size: smaller;<br />
content: " [pdf]";<br />
}</nowiki><br />
}}<br />
<br />
==== Block ads ====<br />
<br />
See [http://www.floppymoose.com floppymoose.com] for an example of how to use {{ic|userContent.css}} as a basic ad-blocker.<br />
<br />
== Mouse and keyboard ==<br />
<br />
=== Mouse wheel scroll speed ===<br />
<br />
To modify the default values (i.e. speed-up) of the mouse wheel scroll speed, go to {{ic|about:config}} and search for {{ic|mousewheel.acceleration}}. This will show the available options, modifying the following:<br />
<br />
* Set {{ic|mousewheel.acceleration.start}} to {{ic|-1}}.<br />
* Set {{ic|mousewheel.acceleration.factor}} to the desired number ({{ic|10}} to {{ic|20}} are common values).<br />
<br />
Mozilla's recommendation for increasing the mousewheel scroll speed is to:<br />
<br />
* Set {{ic|mousewheel.default.delta_multiplier_y}} between {{ic|200}} and {{ic|500}} (default: {{ic|100}})<br />
<br />
=== Pixel-perfect trackpad scrolling ===<br />
<br />
To enable one-to-one trackpad scrolling (as can be witnessed with GTK3 applications like Nautilus), set the {{ic|1=MOZ_USE_XINPUT2=1}} [[environment variable]] before starting Firefox.<br />
<br />
If scrolling is undesirably jerky, try enabling Firefox's "Use smooth scrolling" option in Preferences > General > Browsing.<br />
<br />
=== Enable touchscreen gestures ===<br />
<br />
Make sure {{ic|dom.w3c_touch_events.enabled}} is either set to 1 (''enabled'') or 2 (''default, auto-detect'').<br />
<br />
Add {{ic|1=MOZ_USE_XINPUT2 DEFAULT=1}} to {{ic|/etc/security/pam_env.conf}} and then logout or reboot your system for the changes to take effect.<br />
<br />
On some devices, it may be necessary to disable xinput's touchscreen gestures by running the following:<br />
$ xsetwacom --set ''device'' Gesture off<br />
<br />
=== Mouse click on URL bar's behavior ===<br />
<br />
To make the url bar behaves like in Windows regarding mouse clicks: a single click selects everything, a double click selects a single word until a punctuation sign and a triple click selects everything again, set the following in {{ic|about:config}}:<br />
<br />
browser.urlbar.clickSelectsAll; true<br />
browser.urlbar.doubleClickSelectsAll; false<br />
layout.word_select.stop_at_punctuation; true (default)<br />
<br />
=== Set backspace's behavior ===<br />
<br />
See [[Firefox#Backspace does not work as the 'Back' button]].<br />
<br />
=== Disable middle mouse button clipboard paste ===<br />
<br />
See [[Firefox#Middle-click behavior]].<br />
<br />
=== Emacs key bindings ===<br />
To have Emacs/Readline-like key bindings active in text fields, see [[GTK#Emacs key bindings]].<br />
<br />
== Miscellaneous ==<br />
<br />
=== Enable additional media codecs ===<br />
<br />
{{Expansion|This section is not completed, there are many other variables related to Media Codecs in firefox.}}<br />
<br />
Before continuing, remember there is a reason some of these variables are not enabled by default, e.g. stability, memory leaks, etc. Go to {{ic|about:config}} and check the following options:<br />
<br />
{| class="wikitable"<br />
|+ Suggested values<br />
! Key || Value || Description<br />
|-<br />
| media.mediasource.enabled || true (default) || Enable [[wikipedia:Media_Source_Extensions|Media Source Extensions]] (MSE)<br />
|-<br />
| media.mediasource.mp4.enabled || true (default) || Enable [[wikipedia:MPEG-4_Part_14|MP4]] MSE<br />
|-<br />
| media.mediasource.webm.enabled || true (default) || Enable [[wikipedia:WebM|WebM]] MSE.<br />
|-<br />
| media.mediasource.ignore_codecs || true || Enable H.264 MSE, amongst other things (This boolean key has to be created!)<br />
|-<br />
| media.av1.enabled|| true || Enable [[wikipedia:AV1|AV1]]<br />
|}<br />
<br />
==== Widevine and Netflix/Amazon Video ====<br />
<br />
Widevine is a digital rights management tool that Netflix, Amazon Prime Video, and others use to protect their video content.<br />
<br />
The first time you visit a Widevine-enabled page Firefox will display a prompt below the address bar asking for permission to install DRM. Approve this and then wait for the "Downloading" bar to disappear, you are now able to watch videos from Netflix, Amazon Prime Video, or any other Widevine protected site.<br />
{{Note|Please make sure to check the ''Play DRM content'' option under Content-Preference.}}<br />
<br />
It is also required that the private mode browsing is disabled, for the window and in the preferences.<br />
<br />
=== Remove full screen warning ===<br />
<br />
Warning about video displayed in full screen mode ("… is now fullscreen") can be disabled by setting {{ic|full-screen-api.warning.timeout}} to {{ic|0}} in {{ic|about:config}}.<br />
<br />
=== Change the order of search engines in the Firefox Search Bar ===<br />
<br />
To change the order search engines are displayed in:<br />
<br />
* Open the drop-down list of search engines and click ''Manage Search Engines...'' entry.<br />
* Highlight the engine you want to move and use ''Move Up'' or ''Move Down'' to move it. Alternatively, you can use drag-and-drop.<br />
<br />
=== "I'm Feeling Lucky" mode ===<br />
<br />
Some search engines have a "feeling lucky" feature. For example, Google has "I'm Feeling Lucky", and DuckDuckGo has "I'm Feeling Ducky".<br />
<br />
To activate them, search for {{ic|keyword.url}} in {{ic|about:config}} and modify its value (if any) to the URL of the search engine. <br />
<br />
For Google, set it to:<br />
<br />
{{bc|<nowiki>https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=</nowiki>}}<br />
<br />
For DuckDuckGo, set it to:<br />
<br />
{{bc|<nowiki>https://duckduckgo.com/?q=\</nowiki>}}<br />
<br />
=== Secure DNS with DNSSEC validator ===<br />
<br />
You can enable [[DNSSEC]] support for safer browsing.<br />
<br />
=== Adding magnet protocol association ===<br />
<br />
In {{ic|about:config}} set {{ic|network.protocol-handler.expose.magnet}} to {{ic|false}}. In case it does not exist, it needs to be created, right click on a free area and select ''New > Boolean'', input {{ic|network.protocol-handler.expose.magnet}} and set it to {{ic|false}}.<br />
<br />
The next time you open a magnet link, you will be prompted with a ''Launch Application'' dialogue. From there simply select your chosen [[List_of_applications/Internet#BitTorrent_clients|BitTorrent client]]. This technique can also be used with other protocols: {{ic|network.protocol-handler.expose.<protocol>}}.<br />
<br />
=== Prevent accidental closing ===<br />
<br />
There are different approaches to handle this:<br />
<br />
Under {{ic|about:preferences#general}} select {{ic|Warn you when quitting the browser}}.<br />
<br />
An alternative is to add a rule in your window manager configuration file. For example in [[Openbox]] add:<br />
<keybind key="C-q"><br />
<action name="Execute"><br />
<execute>false</execute><br />
</action><br />
</keybind><br />
in the ''<keyboard>'' section of your {{ic|~/.config/openbox/rc.xml}} file.<br />
<br />
{{Note|This will be effective for every application used under a graphic server.}}<br />
<br />
The [https://addons.mozilla.org/firefox/addon/disable-ctrl-q-and-cmd-q/ Disable Ctrl-Q and Cmd-Q] extension can be installed to prevent unwanted closing of the browser.<br />
<br />
{{Note|1=This extension no longer works on Linux due to a [https://bugzilla.mozilla.org/show_bug.cgi?id=1325692 bug].}}<br />
<br />
=== Plugins do not work with latest version ===<br />
<br />
There can be compatibility issues with plugins not working with the latest Firefox version (e.g. [http://5digits.org/pentadactyl/index Pentadactyl]). If possible, try installing the nightly/beta builds available, or temporarily [[downgrade]] Firefox.<br />
<br />
[https://addons.mozilla.org/firefox/addon/checkcompatibility/ Disable Add-on Compatibility Checks] plugin should take care of spurious compatibility issues when the plugins get disabled, even though they work just fine with the new version.<br />
<br />
=== Jerky or choppy scrolling ===<br />
<br />
Scrolling in Firefox can feel "jerky" or "choppy". A post on [http://forums.mozillazine.org/viewtopic.php?f=8&t=2749475/ MozillaZine] gives settings that work on Gentoo, but reportedly work on Arch Linux as well: <br />
<br />
# Set {{ic|mousewheel.min_line_scroll_amount}} to 40<br />
# Set {{ic|general.smoothScroll}} and {{ic|general.smoothScroll.pages}} to '''false'''<br />
# Set {{ic|image.mem.min_discard_timeout_ms}} to something really large such as 2100000000 but no more than 2140000000. Above that number Firefox will not accept your entry and complain with the error code: "The text you entered is not a number." <br />
# Set {{ic|image.mem.max_decoded_image_kb}} to at least 512K<br />
<br />
Now scrolling should flow smoothly.<br />
<br />
=== Slow or freezing scrolling ===<br />
<br />
Sometimes, usually when 4K screens are involved, Firefox can freeze until the user stops scrolling and then do a redraw (rather than producing a nice scroll "animation"). An [https://support.mozilla.org/en-US/questions/1157360#answer-962827 answer on Firefox's support page] suggests force-enabling GPU acceleration. Those setting seem to fix the issue.<br />
# Set {{ic|layers.acceleration.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|webgl.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|media.hardware-video-decoding.force-enabled}} to {{ic|true}}.<br />
# Set {{ic|browser.tabs.remote.autostart}} to {{ic|true}}. This one enables multiprocessor support. It already defaults to {{ic|true}} in recent Firefox releases.<br />
<br />
=== Run Firefox inside an nspawn container ===<br />
<br />
{{Move|systemd-nspawn|This is potentially useful for any browser, so... move back?}}<br />
<br />
If you have problems accessing the X server from within the container, you might want to consider [[Systemd-nspawn#Use an X environment]].<br />
<br />
To run as PID 1<br />
<br />
# systemd-nspawn --setenv=DISPLAY=:0 \<br />
--setenv=XAUTHORITY=~/.Xauthority \<br />
--bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
firefox<br />
<br />
Else rather boot the container, with systemd ideally setting up your networking with [[systemd-networkd]]:<br />
<br />
# systemd-nspawn --bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
--network-veth -b<br />
<br />
{{Note|There is [https://github.com/systemd/systemd/issues/7093 a bug] in systemd version 235 that causes /tmp/.X11-unix to disappear from the filesystem when doing this. If you are having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind-ro<nowiki>=</nowiki>/tmp/.X11-unix}} }}<br />
<br />
Once your container is booted, run the Xorg binary like so:<br />
<br />
# systemd-run -M firefox --setenv=DISPLAY=:0 firefox<br />
<br />
=== Disable WebRTC audio post processing ===<br />
<br />
If you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], you probably do not want Firefox to do additional audio post processing.<br />
<br />
To disable audio post processing, change the value of the following preferences to {{ic|false}}:<br />
<br />
* {{ic|media.getusermedia.aec_enabled}} (Acoustic Echo Cancellation)<br />
* {{ic|media.getusermedia.agc_enabled}} (Automatic Gain Control)<br />
* {{ic|media.getusermedia.noise_enabled}} (Noise suppression)<br />
<br />
=== Fido U2F authentication ===<br />
<br />
Install {{pkg|libu2f-host}} for the required udev rules to allow Firefox to communicate with the U2F key.<br />
<br />
Firefox supports the Fido U2F authentication protocol.<br />
<br />
{{Note|Firefox does not inplement the entire U2F protocol [https://www.yubico.com/2017/11/how-to-navigate-fido-u2f-in-firefox-quantum/]. Some sites might not work correctly.}}<br />
<br />
=== Get ALSA working back ===<br />
<br />
As long as Arch keeps building Firefox with ''ac_add_options --enable-alsa'', then one can make Firefox allow ioctl syscalls, blocked by default by Firefox sandboxing, and required by ALSA setting {{ic|security.sandbox.content.syscall_whitelist}} in {{ic|about:config}}, to the right ioctl syscall number, which is ''16'' for x86-64 and ''54'' for x86-32. See:<br />
<br />
[https://www.linuxquestions.org/questions/slackware-14/firefox-in-current-alsa-sound-4175622116]<br />
[https://codelab.wordpress.com/2017/12/11/firefox-drops-alsa-apulse-to-the-rescue]<br />
[https://www.bleepingcomputer.com/news/security/firefox-57-brings-better-sandboxing-on-linux]<br />
<br />
No need for apulse if built as done so far.<br />
<br />
== See also ==<br />
<br />
* [http://kb.mozillazine.org/Knowledge_Base MozillaZine Wiki]<br />
* [http://kb.mozillazine.org/About:config_entries about:config entries MozillaZine article]<br />
* [http://linuxtidbits.wordpress.com/2009/08/01/better-fox-cat-and-weasel/ Firefox touch-ups that might be desired]</div>Vladevhttps://wiki.archlinux.org/index.php?title=Infinality&diff=355213Infinality2015-01-03T21:23:49Z<p>Vladev: /* General problems with fonts */</p>
<hr />
<div>[[Category:Fonts]]<br />
[[ja:Infinality-bundle+fonts]]<br />
{{Related articles start}}<br />
{{Related|Fonts}}<br />
{{Related|Font configuration}}<br />
{{Related|MS fonts}}<br />
{{Related articles end}}<br />
The '''infinality''' patchset aims to greatly improve freetype2 font rendering. It adds multiple new capabilities.<br />
<br />
== Features ==<br />
<br />
{{Poor writing|Do we really need this? Link to where this is copied from.}}<br />
<br />
Infinality's settings are all configurable at runtime via environment variables in {{ic|/etc/X11/xinit/xinitrc.d/infinality-settings}}, and include the following:<br />
<br />
*'''Emboldening Enhancement''': Disables Y emboldening, producing a much nicer result on fonts without bold versions. Works on native TT hinter and autohinter.<br />
*'''Auto-Autohint''': Automatically forces autohint on fonts that contain no TT instructions.<br />
*'''Autohint Enhancement''': Makes autohint snap horizontal stems to pixels. Gives a result that appears like a well-hinted truetype font, but is 100% patent-free (as far as I know).<br />
*'''Customized FIR Filter''': Select your own [http://www.infinality.net/forum/viewtopic.php?f=2&t=19 filter values] at run-time. Works on native TT hinter and autohinter.<br />
*'''Stem Alignment''': Aligns bitmap glyphs to optimized pixel boundaries. Works on native TT hinter and autohinter.<br />
*'''Pseudo Gamma Correction''': Lighten and darken glyphs at a given value, below a given size. Works on native TT hinter and autohinter.<br />
*'''Embolden Thin Fonts''': Embolden thin or light fonts so that they are more visible. Works on autohinter.<br />
*'''Force Slight Hinting''': Force slight hinting even when programs want full hinting. If you use the local.conf I provide (included in infinality-settings fedora package) you will notice nice improvements on @font-face fonts.<br />
*'''ChromeOS Style Sharpening''': ChromeOS uses a patch to sharpen the look of fonts. This is now included in the infinality patchset.<br />
<br />
A number of presets are included and can be used by setting the USE_STYLE variable in {{ic|/etc/X11/xinit/xinitrc.d/infinality-settings}}.<br />
<br />
== Installation ==<br />
<br />
=== Custom repository ===<br />
<br />
'''Infinality-bundle''' is a collection of software providing an easy, "install-and-forget" method of improving text rendering in Arch Linux. The packages are fully compatible with system libraries available in the ''extra'' repository and are meant to be used as drop-in replacements for them.<br />
<br />
Currently, the bundle comprises:<br />
<br />
* ''freetype2-infinality-ultimate'' - {{Pkg|freetype2}} built with [http://www.infinality.net/blog/ Infinality] and additional patches.<br />
* ''fontconfig-infinality-ultimate'' - {{Pkg|fontconfig}} optimized for use with ''freetype2-infinality-ultimate'', including separate configuration presets for free (default), MS and custom font collections.<br />
* ''cairo-infinality-ultimate'' - {{Pkg|cairo}} built with Ubuntu and additional patches.<br />
<br />
All libraries are built in a clean chroot environment and are available for both i686 and x86_64 architectures, including multilib support.<br />
<br />
For best results and users' convenience, a complementary repository ''infinality-bundle-fonts'' is available, offering a wide selection of all necessary typefaces needed to create and reproduce hypertext documents. All fonts were manually selected, ensuring high quality text rendering as well as compatibility with proprietary equivalents used for the Web and the office. All fonts are 100% freely available and are licensed under GPL, OFL, Apache or compatible, non-restrictive licenses.<br />
<br />
By default, no post installation configuration is required. However, for maximum flexibility users can easily customize the bundle depending on their needs.<br />
<br />
==== Installation ====<br />
<br />
Add the [[Unofficial user repositories#infinality-bundle|infinality-bundle]] repository to {{ic|pacman.conf}}, then [[pacman|install]] the ''infinality-bundle'' meta package.<br />
<br />
{{Note|Do not forget to add key ID 962DDE58 to your pacman keyring. See [[Pacman-key#Adding unofficial keys]] to detailed instructions.}}<br />
<br />
If you want to access multilib libraries in x86_64 architecture as well, also add the [[Unofficial user repositories#infinality-bundle-multilib|infinality-bundle-multilib]] repository, then [[pacman|install]] the ''infinality-bundle-multilib'' meta package.<br />
<br />
Additionally, if you want to use a comprehensive collection of free fonts, add the [[Unofficial user repositories#infinality-bundle-fonts|infinality-bundle-fonts]] repository, then [[pacman|install]] the ''ibfonts-meta-base'', and optionally ''ibfonts-meta-extended'', meta packages.<br />
<br />
{{Note|When pacman resolves dependencies and encounters a conflicting package, e.g.:<br />
<br />
{{bc|<br />
resolving dependencies...<br />
looking for inter-conflicts...<br />
:: freetype2-infinality-ultimate and freetype2 are in conflict. Remove freetype2? [y/N]<br />
}}<br />
<br />
answer {{ic|yes}}.}}<br />
<br />
Finally, restart the X server to see the changes.<br />
<br />
==== Recommended fonts with restricted licenses ====<br />
<br />
Below you will find a list of fonts that cannot be freely redistributed and thus could not be included in the ''infinality-bundle-fonts'' collection as binary packages. However, they can still be installed and used free of charge under specified conditions. Source packages can be found in the [[AUR]]. Please, read the EULAs for details before you use the fonts!<br />
<br />
*{{AUR|ttf-brill}}<br />
*{{AUR|otf-neris}}<br />
*{{AUR|ttf-aller}}<br />
*{{AUR|ttf-envy-code-r}}<br />
<br />
==== Usage ====<br />
<br />
Users of popular Desktop Environments (GNOME, KDE, Xfce4, Cinnamon, LXDE) should adjust font settings via their DE's control panel. Basically, the settings should duplicate those found in the freetype2 configuration file ({{ic|/etc/X11/xinit/xinitrc.d/infinality-settings}}):<br />
<br />
{{bc|<br />
Xft.antialias: 1<br />
Xft.autohint: 0<br />
Xft.dpi: 96<br />
Xft.hinting: 1<br />
Xft.hintstyle: hintfull<br />
Xft.lcdfilter: lcddefault<br />
Xft.rgba: rgb<br />
}}<br />
<br />
If your DE's control panel does not let you set any of the above, adjust only those available. Aside these values you can customise all {{ic|INFINALITY_FT}} variables. Example:<br />
<br />
{{bc|<nowiki><br />
# Makes fonts darker and thicker<br />
export INFINALITY_FT_BRIGHTNESS="-10"<br />
<br />
# Not too sharp, not too smooth<br />
export INFINALITY_FT_FILTER_PARAMS="16 20 28 20 16"</nowiki><br />
}}<br />
<br />
{{Note|Your customisations will be saved in a {{ic|.pacsave}} file on an update of the infinality package.}}<br />
<br />
* It is possible to skip installation of ''infinality-bundle-fonts'' if you want to use Microsoft proprietary font collection instead. If this is the case, you have to activate fontconfig MS preset to ensure the correct set of fonts is selected. To do so, issue<br />
<br />
{{hc|# fc-presets set|<br />
1) combi<br />
2) ms<br />
3) free<br />
4) reset<br />
5) quit<br />
Enter your choice...<br />
}}<br />
<br />
and select {{ic|2}}.<br />
<br />
Run {{ic|fc-presets help}} for more information.<br />
<br />
* If you would rather use a custom font collection, there is a {{ic|combi}} preset available that should let you adjust fontconfig parameters accordingly. When you activate the {{ic|combi}} preset, the content of 'custom' configuration files ({{ic|/etc/fonts/conf.avail.infinality/combi}}) can be freely modified. When you are done, do not forget to create a backup copy of the 'combi' directory.<br />
<br />
==== More fonts ====<br />
<br />
If you want to install even more fonts, there is an additional ''infinality-bundle-fonts-extra'' collection. Run<br />
<br />
$ pacman -Ss infinality-bundle-fonts-extra<br />
<br />
to list available packages.<br />
<br />
{{Note|<br />
* Before you install any third party font from either [[official repositories]] or the [[AUR]], always check if it is available in the ''infinality-bundle-fonts'' collection.<br />
* '''Do not''' attempt to install the entire ''infinality-bundle-fonts'' or ''infinality-bundle-fonts-extra'' group. Unless you know for sure you need any of the fonts available there, you will only unnecessarily clutter your hard drive and decrease performance of the font cache. ''ibfonts-meta-extended'' should suffice in most, even very complex, use scenarios. Besides, several font families are available in multiple formats (T1, TTF, OTF): trying to install all font packages will lead to unresolvable package conflicts. If this is the case, you should always use only '''one''' format per family.<br />
}}<br />
<br />
==== Font substitutions ====<br />
<br />
If you want to override default font substitutions set in {{ic|/etc/fonts/conf.d/37-repl-global-''preset''.conf}} or add new ones, use {{ic|/etc/fonts/conf.d/35-repl-custom.conf}} to do so. You will need to duplicate the template (16 lines of code) for each font family to be replaced and provide appropriate font names.<br />
<br />
==== Package signatures ====<br />
<br />
One frequent issue users may face with this repositories is that the package database or signatures do not correspond. Often a simple force refresh of the package lists ({{ic|pacman -Syy}}) will fix the issue. If that fails, try removing the infinality-bundle files from {{ic|/var/lib/pacman/sync}} and then resyncing again.<br />
<br />
==== Updating ====<br />
<br />
''fontconfig-infinality-ultimate'' is updated frequently, usually every 3-4 weeks, after a number of recently reported minor bugs has been fixed. As every fix is immediately committed to the GitHub repository, users who chose {{AUR|fontconfig-infinality-ultimate-git}} from the AUR will get them sooner, i.e. when they rebuild the package.<br />
<br />
{{Note|<br />
* ''fontconfig-infinality-ultimate-git'' is a development branch of the package available in the [infinality-bundle] repository. Keep in mind that it is not a stable release and can break at times.<br />
* When '''reporting bugs''', please report all code-related issues (incorrect rendering, fontconfig problems, etc.) at GitHub [https://github.com/bohoomil/fontconfig-ultimate/issues Issues * bohoomil/fontconfig-ultimate] and Arch specific, including problems regarding maintenance, packaging and general questions, in dedicated threads at Arch Forums. Before filing a report, make sure that [infinality-bundle] packages were correctly installed and customized.<br />
}}<br />
<br />
=== Manual ===<br />
<br />
{{Warning|Upstream infinality patches are intended for the older 2.4x freetype2 branch. Users are advised to use the [[#Custom repository|custom repository]] provided by ''bohoomil''.}}<br />
<br />
{{AUR|freetype2-infinality}} can be installed from the [[Arch User Repository|AUR]]. If you are a multilib user, also install {{AUR|lib32-freetype2-infinality}} from the AUR. The AUR also contains the latest development snapshot of freetype2 with the Infinality patchset: {{AUR|freetype2-infinality-git}} and {{AUR|lib32-freetype2-infinality-git}}.<br />
<br />
It is recommended to also install {{AUR|fontconfig-infinality}} to enable selection of predefined font substitution styles and antialiasing settings, apart from the rendering settings of the engine itself. After doing so, you can select the font style (win7, winxp, osx, linux, ...) with:<br />
# fc-presets set<br />
<br />
The corresponding fonts need to be installed.<br />
<br />
{{Note|<br />
* The user bohoomil maintains a very good configuration in his [https://github.com/bohoomil/fontconf github repo] which is available as {{AUR|fontconfig-infinality-ultimate-git}} in the AUR.<br />
* Install {{AUR|grip-git}} from the AUR to have a realtime font preview.<br />
* Default infinality settings can cause some programs to display fonts at 72 DPI instead of 96. If you notice a problem open {{ic|/etc/fonts/infinality/infinality.conf}} search for the section on DPI and change 72 to 96. This problem can specifically affect conky causing the fonts to appear smaller than they should. Thus not aligning properly with images.<br />
* The {{ic|README}} for {{AUR|fontconfig-infinality}} says that {{ic|/etc/fonts/local.conf}} should either not exist, or have no infinality-related configurations in it. The {{ic|local.conf}} is now obsolete and completely replaced by this configuration.<br />
}}<br />
<br />
For more information see this forum post: http://www.infinality.net/forum/viewtopic.php?f=2&t=77#p794<br />
<br />
== Troubleshooting ==<br />
<br />
See also [[Font_configuration#Troubleshooting]].<br />
<br />
=== Google Chrome issues ===<br />
<br />
To solve rendering issues in Google Chrome browser described [https://bbs.archlinux.org/viewtopic.php?pid=1344172#p1344172 in this post], edit {{ic|/etc/fonts/fonts.conf}} file and uncomment the following entry:<br />
<br />
{{bc|<nowiki><!--match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>72</double><br />
</edit><br />
</match--></nowiki>}}<br />
<br />
=== Emacs issues ===<br />
<br />
{{Merge|Emacs|This issue does not seem related to infinality, but rather a general font issue with Emacs}}<br />
<br />
Emacs users have reported issues with Noto Sans as the default sans-serif font. This will affect any font face that specifies "Sans Serif" as the font family including the variable-pitch face that is used in Emacs Info mode. <br />
<br />
Noto Sans is a collection of many individual language specific font files. Emacs does not find the correct version when it tries to render the font and displays glyphs instead. <br />
<br />
To get around the issue you need to either specify a different default Sans Serif font for all applications or modify the font family for any faces that specify "Sans Serif" within Emacs.<br />
<br />
To change the default font for all applications place the following:<br />
<br />
{{bc|<br />
<alias><br />
<family>sans-serif</family><br />
<prefer><br />
<family>Liberation Sans</family><br />
</prefer><br />
</alias><br />
}}<br />
<br />
in either {{ic|/etc/fonts/conf.avail.infinality/35-repl-custom.conf}} for global effect or {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}} or {{ic|$XDG_CONFIG_HOME/fontconfig/conf.d/60-latin.conf}} for a single user. For `combi` users, {{ic|60-latin-combi.conf}} should be modified accordingly.<br />
<br />
The default font can be any but Noto Sans.<br />
<br />
To change the font in Emacs only:<br />
<br />
If you prefer Noto Sans for other applications and just want to fix Emacs specifically then you can specify a new Font Family for the variable pitch face. This could be done via customize (M-x customize-face RET variable-pitch RET) or by placing the following code in {{ic|$HOME/.emacs}} or {{ic|$HOME/emacs.d/init.el}}.<br />
<br />
{{bc|<br />
(custom-set-faces<br />
'(variable-pitch ((t (:family "Liberation Sans")))))<br />
}}<br />
<br />
Note that there may be other faces either in default Emacs or specified by themes that also use the default Sans Serif font and would have to be modified in the same way. Changing the system wide default to something like Liberation Sans is therefore a more universal fix.<br />
<br />
=== GIMP issues ===<br />
<br />
GIMP users have reported issues with the subpixel rendering of text in images (see for example [http://www.infinality.net/forum/viewtopic.php?f=2&t=229 this topic]). The best course of action is to disable subpixel rendering completely for GIMP. Add a file {{ic|/etc/gimp/2.0/fonts.conf}} (or {{ic|~/.gimp-2.8/fonts.conf}} for a single user) with the following content:<br />
<br />
{{hc|/etc/gimp/2.0/fonts.conf|<nowiki><br />
<fontconfig><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>none</const><br />
</edit><br />
</match><br />
</fontconfig><br />
</nowiki>}}<br />
<br />
=== Language specifics diacritics / glyphs ===<br />
<br />
Some language specifics diacritics / glyphs are displayed inconsistently using default font.<br />
<br />
This is usually the case with websites (notably blogs) utilizing predefined CSS templates that make use of web fonts missing support for extended Latin scripts (most often A and B). Even though this is not a problem with any of the infinality-bundle components and thus should be fixed by the author / maintainer of the problematic site, it can still be got round by creating a relevant font replacement rule in fontconfig. If you want to use this option, activate {{ic|36-repl-missing-glyphs.conf}} first:<br />
<br />
$ cd /etc/fonts/conf.d<br />
$ ln -s ../conf.avail.infinality/36-repl-missing-glyphs.conf .<br />
<br />
and then edit the file accordingly following the provided example.<br />
<br />
{{Note|Default fonts for non-Latin scripts are set in {{ic|65-non-latin-''preset''.conf}} (default settings).}}<br />
<br />
Overriding default replacement rules and adding custom ones is possible with {{ic|35-repl-custom.conf}}. The file is activated by default, so all you need to do is edit if you want to use it.<br />
<br />
=== Firefox/Chrome browsers rendering monospaced with proportional font ===<br />
<br />
You can check which font the browser is using with the {{ic|fc-match}} tool. If for {{ic|"monospace"}} you get a proportional font like Arial<br />
<br />
# fc-match "monospace"<br />
monospace: arial.ttf: "Arial" "Normal"<br />
<br />
you probably should run <br />
<br />
# fc-presets set<br />
<br />
=== General problems with fonts ===<br />
<br />
If you experience general problems with fonts (e.g. certain glyphs are not loaded in PDF documents, while a font family providing them has been correctly installed), start troubleshooting by issuing<br />
<br />
# fc-cache -fr<br />
<br />
This will remove the entire font cache and recreate it from scratch.<br />
<br />
== See also ==<br />
<br />
* [http://www.infinality.net/blog/infinality-freetype-patches/ Home page]<br />
* [http://www.infinality.net/forum/ Forum]<br />
* [http://www.webupd8.org/2013/06/better-font-rendering-in-linux-with.html Short article about infinality (contains screenshots)]<br />
* [http://bohoomil.com Infinality bundle and fonts] - Home page of the infinality bundle<br />
* [https://github.com/bohoomil/fontconfig-ultimate fontconfig-ultimate] - git repository providing all patches, configuration files and build scripts for the entire ''infinality-bundle+fonts'' collection in separate branches <br />
* [https://bbs.archlinux.org/viewtopic.php?id=162098 infinality-bundle: good looking fonts made (even) easier] - ''infinality-bundle'' support thread in the Arch Linux Forums<br />
* [https://bbs.archlinux.org/viewtopic.php?id=170976 infinality-bundle-fonts: a free multilingual font collection for Arch] - ''infinality-bundle-fonts'' support thread in the Arch Linux Forums</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=347928Acer Aspire S7-3922014-12-03T14:52:23Z<p>Vladev: </p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
* Touchscreen stops working after waking up from suspend<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. Without it the option to disable Secure boot will be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}<br />
<br />
==Console fonts==<br />
Since some of these come with HiDPI displays the default console font is barely readable - refer to [[Fonts#Console_fonts]] on how to change them.<br />
<br />
==Wifi instability==<br />
<br />
This laptop uses Intel Corporation Wireless 7260 WiFi chipset. With the current firmware it might have issues connecting when signal is suboptimal. Disabling power save mode on the chip improves the connection times and connection speed. See [[Wireless_network_configuration#Power_saving]] on how to disable it and make it permanent.</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=346203Acer Aspire S7-3922014-11-25T08:23:00Z<p>Vladev: </p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
* Touchscreen stops working after waking up from suspend<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. Without it the option to disable Secure boot will be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}<br />
<br />
==Wifi instability==<br />
<br />
This laptop uses Intel Corporation Wireless 7260 WiFi chipset. With the current firmware it might have issues connecting when signal is suboptimal. Disabling power save mode on the chip improves the connection times and connection speed. See [[Wireless_network_configuration#Power_saving]] on how to disable it and make it permanent.</div>Vladevhttps://wiki.archlinux.org/index.php?title=Talk:Acer_Aspire_S7-392&diff=345743Talk:Acer Aspire S7-3922014-11-22T13:41:10Z<p>Vladev: </p>
<hr />
<div>The touchscreen is useless at the moment, all I can do is move the mouse on the screen, but it won't handle clicks.<br />
<br />
I also tried to install and configure easystroke, which will recognize 1-finger patterns, but 2+ fingers actions are not recognized.<br />
<br />
If you had more success than me on touchscreen configuration, please share your recipe, thank you!<br />
<br />
<br />
<br />
Maybe something with your desktop environment (KDE, Gnome) is the issue. I use Gnome 3 and, apart from the suspend issue for the touchsceen, both features work out of the box.<br />
<br />
[[User:Vladev|Vladev]] ([[User talk:Vladev|talk]]) 13:41, 22 November 2014 (UTC)</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=345333Acer Aspire S7-3922014-11-19T18:41:34Z<p>Vladev: /* What doesn't work, or is weird? */</p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
* Touchscreen stops working after waking up from suspend<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. Without it the option to disable Secure boot will be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}<br />
<br />
==Wifi instability==<br />
<br />
This laptop uses Intel Corporation Wireless 7260 WiFi chipset. With the current firmware it might have issues connecting when signal is suboptimal. Disabling power save mode on the chip improves the connection times and connection speed. See [[Wireless_network_configuration#Power_saving]] on how to disable it and make it permanent.</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=344504Acer Aspire S7-3922014-11-13T09:51:36Z<p>Vladev: </p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. Without it the option to disable Secure boot will be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}<br />
<br />
==Wifi instability==<br />
<br />
This laptop uses Intel Corporation Wireless 7260 WiFi chipset. With the current firmware it might have issues connecting when signal is suboptimal. Disabling power save mode on the chip improves the connection times and connection speed. See [[Wireless_network_configuration#Power_saving]] on how to disable it and make it permanent.</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=344503Acer Aspire S7-3922014-11-13T09:47:16Z<p>Vladev: /* Disable Secure Boot */</p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. Without it the option to disable Secure boot will be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}</div>Vladevhttps://wiki.archlinux.org/index.php?title=Microcode&diff=344240Microcode2014-11-11T11:14:54Z<p>Vladev: /* Grub */</p>
<hr />
<div>[[Category:CPU]]<br />
[[de:Microcode]]<br />
[[ja:Microcode]]<br />
[[zh-CN:Microcode]]<br />
[[Wikipedia:Microcode|Processor microcode]] is akin to processor firmware. The kernel is able to update the processor's firmware without the need to update it via a BIOS update.<br />
<br />
:''The microcode data file contains the latest microcode definitions for all Intel processors. Intel releases microcode updates to correct processor behavior as documented in the respective processor specification updates. While the regular approach to getting this microcode update is via a BIOS upgrade, Intel realizes that this can be an administrative hassle. The Linux operating system and VMware ESX products have a mechanism to update the microcode after booting. For example, this file will be used by the operating system mechanism if the file is placed in the /etc/firmware directory of the Linux system.'' ~[https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23082 Intel]<br />
<br />
== Updating microcode ==<br />
<br />
For Intel processors, install {{Pkg|intel-ucode}}.<br />
<br />
For AMD processors the microcode updates are available in {{Pkg|linux-firmware}}, which is installed as part of the base system.<br />
<br />
=== Enabling Intel Microcode Updates ===<br />
<br />
{{warning|With linux 3.17-2 and linux-lts 3.14.21-2 and newer versions, Intel microcode updates are not triggered automatically any more. Many AUR kernels have followed the path of the official ARCH kernels in this regard: with linux-ck 3.16.6-3, Intel microcode updates are not triggered automatically any more.}}<br />
<br />
These updates must be enabled by adding {{ic|/boot/intel-ucode.img}} as the first initrd in the bootloader config file. This is in addition to the normal initrd file.<br />
<br />
=== Specific Examples ===<br />
<br />
==== EFI boot stub / EFI handover ====<br />
<br />
Append two {{ic|1=initrd=}} options:<br />
<br />
{{bc|1=initrd=/intel-ucode.img initrd=/initramfs-linux.img}}<br />
<br />
==== Gummiboot ====<br />
<br />
Use the {{ic|initrd}} option twice in {{ic|/boot/loader/entries/*.conf}}:<br />
<br />
{{bc|title Arch Linux<br />
linux /vmlinuz-linux<br />
initrd /intel-ucode.img<br />
initrd /initramfs-linux.img<br />
options ...}}<br />
<br />
==== rEFInd ====<br />
<br />
Edit boot options in {{ic|/boot/refind_linux.conf}} as per EFI boot stub above, example:<br />
<br />
{{bc|1="Boot with standard options" "ro root=UUID=(...) quiet initrd=/intel-ucode.img initrd=/initramfs-linux.img"}}<br />
<br />
Users employing manual stanzas in {{ic|/boot/refind.conf}} to define the kernels should simply add initrd=/intel-ucode.img or /boot/intel-ucode.img as required to the options line, and not in the main part of the stanza.<br />
<br />
==== Grub ====<br />
With the release of grub-1:2.02-beta2-5, {{ic|/usr/bin/grub-mkconfig}} will automatically handle the microcode update. Users are directed to regenerate the grub config to activate loading the microcode update by running {{ic|# grub-mkconfig -o /boot/grub/grub.cfg}} after installing {{Pkg|intel-ucode}}.<br />
<br />
Alternatively, users wishing to manage their grub config file manually can add {{ic|/intel-ucode.img}} or {{ic|/boot/intel-ucode.img}} to {{ic|grub.cfg}} as follows:<br />
<br />
{{bc|<br />
[...]<br />
echo 'Loading initial ramdisk ...'<br />
initrd /intel-ucode.img /initramfs-linux.img<br />
[...]<br />
}}<br />
{{Note|Repeat for each menu entry.}}<br />
{{warning|This file will automatically be overwitten by {{ic|/usr/bin/grub-mkconfig}} during certain updates negating the changes.}}<br />
<br />
==== Syslinux ====<br />
<br />
Multiple initrd's can be separated by commas in {{ic|/boot/syslinux/syslinux.cfg}}:<br />
<br />
{{bc|LABEL arch<br />
MENU LABEL Arch Linux<br />
LINUX ../vmlinuz-linux<br />
INITRD ../intel-ucode.img,../initramfs-linux.img<br />
APPEND ...}}<br />
<br />
== Verifying that microcode got updated on boot ==<br />
Use {{ic|/usr/bin/dmesg}} to see if the microcode has been updated:<br />
{{ic|<nowiki>dmesg | grep microcode</nowiki>}}<br />
<br />
On Intel systems one should see something similar to the following, indicating that microcode is updated early:<br />
<br />
{{bc|<nowiki><br />
[ 0.000000] CPU0 microcode updated early to revision 0x1b, date = 2014-05-29<br />
[ 0.221951] CPU1 microcode updated early to revision 0x1b, date = 2014-05-29<br />
[ 0.242064] CPU2 microcode updated early to revision 0x1b, date = 2014-05-29<br />
[ 0.262349] CPU3 microcode updated early to revision 0x1b, date = 2014-05-29<br />
[ 0.507267] microcode: CPU0 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507272] microcode: CPU1 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507276] microcode: CPU2 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507281] microcode: CPU3 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507286] microcode: CPU4 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507292] microcode: CPU5 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507296] microcode: CPU6 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507300] microcode: CPU7 sig=0x306a9, pf=0x2, revision=0x1b<br />
[ 0.507335] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba</nowiki>}}<br />
<br />
It is entirely possible, particularly with newer hardware, that there is no microcode update for the CPU. In that case, the output may look like this:<br />
{{bc|<nowiki><br />
[ 0.292893] microcode: CPU0 sig=0x306c3, pf=0x2, revision=0x1c<br />
[ 0.292899] microcode: CPU1 sig=0x306c3, pf=0x2, revision=0x1c<br />
[ 0.292906] microcode: CPU2 sig=0x306c3, pf=0x2, revision=0x1c<br />
[ 0.292912] microcode: CPU3 sig=0x306c3, pf=0x2, revision=0x1c<br />
[ 0.292956] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba</nowiki>}}<br />
<br />
On AMD systems microcode is updated a bit later in the boot process, so the output would look something like this:<br />
<br />
{{bc|<nowiki><br />
[ 0.807879] microcode: CPU0: patch_level=0x01000098<br />
[ 0.807888] microcode: CPU1: patch_level=0x01000098<br />
[ 0.807983] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba<br />
[ 16.150642] microcode: CPU0: new patch_level=0x010000c7<br />
[ 16.150682] microcode: CPU1: new patch_level=0x010000c7</nowiki>}}<br />
<br />
{{Note|The date outputted does not correspond to the version of the {{pkg|intel-ucode}} package installed. It does show the last time Intel updated the microcode that corresponds to the specific hardware being updated.}}<br />
<br />
== Which CPUs accept microcode updates ==<br />
Users may consult either Intel or AMD at the following links to see if a particular model is supported:<br />
<br />
* [http://www.amd64.org/microcode.html AMD's Operating System Research Center].<br />
* [https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=24290&lang=eng Intel's download center].<br />
<br />
==== Detecting available microcode update ====<br />
<br />
It is possible to find out if the intel-ucode.img contains a microcode image for the running cpu with {{AUR|iucode-tool}}.<br />
<br />
* Install {{Pkg|intel-ucode}} (changing initrd is not required for detection)<br />
* Install {{AUR|iucode-tool}} from the [[AUR]]<br />
* {{ic|# modprobe cpuid}}<br />
* {{ic|<nowiki># bsdtar -Oxf /boot/intel-ucode.img | iucode_tool -tb -lS - </nowiki>}}<br />(Extract microcode image and search it for your cpuid)<br />
* If an update is available, it should show up below ''selected microcodes''<br />
<br />
==== Enabling Intel Early Microcode Loading in Custom Kernels ====<br />
<br />
In order for early loading to work in custom kernels, "CPU microcode loading support" needs to be compiled into the kernel NOT compiled as a module. This will enable the "Early load microcode" prompt which should be set to "Y". <br />
<br />
CONFIG_MICROCODE=y<br />
CONFIG_MICROCODE_INTEL=y<br />
CONFIG_MICROCODE_INTEL_EARLY=y<br />
CONFIG_MICROCODE_EARLY=y</div>Vladevhttps://wiki.archlinux.org/index.php?title=Acer_Aspire_S7-392&diff=342366Acer Aspire S7-3922014-10-29T12:30:21Z<p>Vladev: </p>
<hr />
<div>[[Category:Acer]]<br />
This page contains instructions, tips, pointers, and links for installing and configuring Arch Linux on the Acer Aspire S7-392 Laptop. <br />
<br />
This page only applies to the 392 model (4th Gen Intel CPU), and may not be entirely correct for the 391 or 191 models (3rd Gen Intel CPU).<br />
<br />
==Compatibility==<br />
<br />
The laptop works surprisingly well with Arch Linux, requiring minimal or no configuration hacking, depending on your desired setup.<br />
<br />
===What works?===<br />
{{Note|Touchscreen only works in a Window Manager or Desktop Environment that has full support for it. It's recognized as a mouse click otherwise.}} <br />
* Touchscreen<br />
* Screen Brightness Adjustment<br />
** Requres a window manager or desktop environment with the functionality, such as [[Xfce]], [[GNOME]], or [[MATE]].<br />
** Alternatively, a hotkey daemon such as [[acpid]] may provide hotkey functionality (Not tested).<br />
* Keyboard Backlight (And adjustment)<br />
* Most Keyboard Hotkeys<br />
** Wireless Toggle may not work. [[acpid]] may work with it (Not tested)<br />
* Wireless Networking<br />
<br />
===What doesn't work, or is weird?===<br />
<br />
* Touchpad Multitouch Gestures<br />
<br />
==BIOS Setup==<br />
<br />
The BIOS Setup utility is accessed by pressing Fn+2 at the Acer Logo screen during startup.<br />
<br />
===Disable Secure Boot===<br />
<br />
In order to install Arch on the S7 you need to disable Secure Boot from the BIOS Setup. You need to do {{ic|Security > Set Supervisor Password}} to set a supervisor password. With it the option to disable Secure boot with be grayed out. Then go to {{ic|Boot > Secure Boot}} and set it to {{ic|Disabled}} and remove the supervisor password (by setting an empty one).<br />
<br />
==Booting==<br />
<br />
The information in [[Boot loaders]] applies here. GRUB is confirmed to work.<br />
<br />
===Change Boot from UEFI to BIOS===<br />
<br />
If desired, you can optionally select whether to use BIOS or UEFI when booting. This is an option in the BIOS Setup utility.<br />
<br />
===Boot from USB===<br />
<br />
Booting from USB is possible by reordering boot devices in the BIOS setup, or by accessing the Boot Menu by pressing the "Fn" key and "=" key simultaneously (Translates to F12).<br />
<br />
{{Note|The boot menu might be disabled - set {{ic|Main > F12 Boot Menu}} to {{ic|Enabled}} in BIOS Setup}}<br />
<br />
===UEFI Boot Arch===<br />
<br />
One some dual-SSD machines the disk that BIOS boots from by default is identified as {{ic|/dev/sdb}} rather than {{ic|/dev/sda}}. If you're running a RAID it's recommended to leave a GPT partition on both disks. If you get an error after booting that BIOS cannot find a bootable media, but drops you in the boot menu where you can select HDD and it boots from there - you've installed grub on the wrong disk.<br />
<br />
==Graphics Drivers==<br />
<br />
{{Note|With the default setup, there will be graphics tearing on the S7-392. You can check the "Tear-free video" section of the [[Intel graphics]] page for information on fixing tearing}}<br />
<br />
The standard {{Pkg|xf86-video-intel}} driver works with the laptop. For 32-bit games or other cases where necessary, you'll want to install {{Pkg|lib32-intel-dri}} in addition to the xf86 driver.<br />
<br />
==Multitouch Gestures==<br />
<br />
{{Note|Multitouch in Touchegg has broken since writing this. It doesn't work now}}<br />
<br />
The touchpad works well with {{Pkg|xf86-input-synaptics}}, and with {{AUR|touchegg}} for advanced multitouch gestures.<br />
<br />
{{Note|Contrary to what most of the internet says, you don't seem to need {{Pkg|xf86-input-evdev}} to make Touchegg work.}}</div>Vladevhttps://wiki.archlinux.org/index.php?title=XDMCP&diff=252195XDMCP2013-03-28T15:18:03Z<p>Vladev: typo</p>
<hr />
<div>This page intends to allow remote sessions using "X Display Manager Control Protocol" (XDMCP). See the GDM documention for more information on the parameters: http://library.gnome.org/admin/gdm/3.6/configuration.html.en#xdmcpsection.<br />
<br />
== Setup Graphical Logins ==<br />
<br />
=== XDM ===<br />
<br />
Modify {{ic|/etc/X11/xdm/xdm-config}} and comment out:<br />
<br />
DisplayManager.requestPort: 0<br />
<br />
So it will be:<br />
<br />
!DisplayManager.requestPort: 0<br />
<br />
Then modify {{ic|/etc/X11/xdm/Xaccess}} to allow any host to get <br />
a login window. Look for a line that looks like this:<br />
<br />
* #any host can get a login window<br />
<br />
and remove the hash '#' sign at the beginning of the line.<br />
<br />
In case you have multiple network interfaces also add a line like this:<br />
<br />
LISTEN 192.168.0.10<br />
<br />
Where 192.168.0.10 should be you server IP address.<br />
<br />
Then reboot or restart your X server and xdm daemon. <br />
<br />
=== GDM ===<br />
<br />
Modify {{ic|/etc/gdm/custom.conf}} to include:<br />
<br />
[xdmcp]<br />
Enable=true<br />
Port=177<br />
<br />
Then restart the Gnome Display Manager:<br />
<br />
systemctl restart gdm<br />
<br />
Or if using the inittab method, login as root on another tty and<br />
<br />
telinit 3<br />
telinit 5 && exit <br />
<br />
=== KDM ===<br />
<br />
Edit kdmrc ( {{ic|/opt/kde/share/config/kdm/kdmrc}} [KDE 3x] or {{ic|/usr/share/config/kdm/kdmrc}} (KDE 4x] ) and at the end there should be something like this:<br />
<br />
[Xdmcp]<br />
Enable=true<br />
<br />
Then you need to restart your X server so the change you just made takes effect:<br />
<br />
systemctl restart kdm<br />
<br />
=== SLiM ===<br />
<br />
SLiM doesn't support Xdmcp.<br />
<br />
== Accessing X from a remote Machine on your LAN ==<br />
You can access your login manager on the network computer 192.168.0.10 via the following command. TCP and UDP streams are opened. So it is not possible to access the login manager via an SSH connection.<br />
<br />
Xnest -query 192.168.0.10 -geometry 1280x1024 :1<br />
<br />
Or, with Xephyr, if you experience refreshing problems with Xnest:<br />
<br />
Xephyr -query 192.168.0.10 -screen 1280x1024 -br -reset -terminate :1<br />
<br />
Or, if you are on runlevel 3<br />
<br />
X -query your_server_ip<br />
<br />
Xserver should recognize your monitor and set appropriate resolution.<br />
<br />
<br />
{{Note|You can enable XDMCP Direct/Query and Broadcast connections from remote hosts without XDM starting a local X server.}}<br />
After allowing XDMCP access as described above, edit {{ic|/etc/X11/xdm/Xservers}} and comment out:<br />
#:0 local /usr/bin/X :0<br />
Then launch XDM as root, e.g. {{ic|xdm -config /etc/X11/xdm/archlinux/xdm-config}}<br />
<br />
==Thin client setup==<br />
First of all one should setup dhcp and tftp server. [[Dnsmasq]] has both of them.<br />
For network boot image check [http://www.thinstation.org/ thinstation] project.<br />
If your network card does not support PXE, you can try [http://etherboot.org/wiki/ Etherboot]<br />
<br />
==Troubleshooting==<br />
<br />
=== XDMCP fatal error: Manager unwilling Host unwilling ===<br />
This is usually caused by an entry missing from the {{ic|/etc/kde3/kdm/Xaccess}} file. This file controls which machines can connect to the server via KDM. The trick is to add a line that starts with an asterisk '{{ic|*}}'. Look for a line that looks like:<br />
# * #any host can get a login window<br />
<br />
and remove the hash '{{ic|#}}' sign at the beginning of the line. Then, you need to restart KDM.<br />
/etc/rc.d/kdm restart<br />
<br />
=== Session declined: Maximum Number of Sessions Reached ===<br />
Edit {{ic|/etc/gdm/custom.conf}} and add/increase the maximum sessions.<br />
[xdmcp]<br />
Enable=true<br />
'''MaxSessions=2'''<br />
<br />
[[Category:X Server]]<br />
<br />
=== If you still cannot log in remotely ===<br />
...and you see only a black screen, try removing the {{ic|-nodaemon}} option in {{ic|/etc/inittab}} to have only<br />
x:5:respawn:/usr/sbin/gdm<br />
<br />
=== Login screen and GNOME is somehow flickering ===<br />
If the login screen is created again and again and unresponsive, you are trying to access GNOME Shell on the remote machine. This is apparently caused by network speed, e.g. by accessing via wireless connections. The workaround is to disable/deinstall GNOME Shell.<br />
pacman -R gnome-shell</div>Vladevhttps://wiki.archlinux.org/index.php?title=XDMCP&diff=252194XDMCP2013-03-28T15:17:44Z<p>Vladev: update gdm and kdm restart to use systemctl</p>
<hr />
<div>This page intends to allow remote sessions using "X Display Manager Control Protocol" (XDMCP). See the GDM documention for more information on the parameters: http://library.gnome.org/admin/gdm/3.6/configuration.html.en#xdmcpsection.<br />
<br />
== Setup Graphical Logins ==<br />
<br />
=== XDM ===<br />
<br />
Modify {{ic|/etc/X11/xdm/xdm-config}} and comment out:<br />
<br />
DisplayManager.requestPort: 0<br />
<br />
So it will be:<br />
<br />
!DisplayManager.requestPort: 0<br />
<br />
Then modify {{ic|/etc/X11/xdm/Xaccess}} to allow any host to get <br />
a login window. Look for a line that looks like this:<br />
<br />
* #any host can get a login window<br />
<br />
and remove the hash '#' sign at the beginning of the line.<br />
<br />
In case you have multiple network interfaces also add a line like this:<br />
<br />
LISTEN 192.168.0.10<br />
<br />
Where 192.168.0.10 should be you server IP address.<br />
<br />
Then reboot or restart your X server and xdm daemon. <br />
<br />
=== GDM ===<br />
<br />
Modify {{ic|/etc/gdm/custom.conf}} to include:<br />
<br />
[xdmcp]<br />
Enable=true<br />
Port=177<br />
<br />
The restart the Gnome Display Manager:<br />
<br />
systemctl restart gdm<br />
<br />
Or if using the inittab method, login as root on another tty and<br />
<br />
telinit 3<br />
telinit 5 && exit <br />
<br />
=== KDM ===<br />
<br />
Edit kdmrc ( {{ic|/opt/kde/share/config/kdm/kdmrc}} [KDE 3x] or {{ic|/usr/share/config/kdm/kdmrc}} (KDE 4x] ) and at the end there should be something like this:<br />
<br />
[Xdmcp]<br />
Enable=true<br />
<br />
Then you need to restart your X server so the change you just made takes effect:<br />
<br />
systemctl restart kdm<br />
<br />
=== SLiM ===<br />
<br />
SLiM doesn't support Xdmcp.<br />
<br />
== Accessing X from a remote Machine on your LAN ==<br />
You can access your login manager on the network computer 192.168.0.10 via the following command. TCP and UDP streams are opened. So it is not possible to access the login manager via an SSH connection.<br />
<br />
Xnest -query 192.168.0.10 -geometry 1280x1024 :1<br />
<br />
Or, with Xephyr, if you experience refreshing problems with Xnest:<br />
<br />
Xephyr -query 192.168.0.10 -screen 1280x1024 -br -reset -terminate :1<br />
<br />
Or, if you are on runlevel 3<br />
<br />
X -query your_server_ip<br />
<br />
Xserver should recognize your monitor and set appropriate resolution.<br />
<br />
<br />
{{Note|You can enable XDMCP Direct/Query and Broadcast connections from remote hosts without XDM starting a local X server.}}<br />
After allowing XDMCP access as described above, edit {{ic|/etc/X11/xdm/Xservers}} and comment out:<br />
#:0 local /usr/bin/X :0<br />
Then launch XDM as root, e.g. {{ic|xdm -config /etc/X11/xdm/archlinux/xdm-config}}<br />
<br />
==Thin client setup==<br />
First of all one should setup dhcp and tftp server. [[Dnsmasq]] has both of them.<br />
For network boot image check [http://www.thinstation.org/ thinstation] project.<br />
If your network card does not support PXE, you can try [http://etherboot.org/wiki/ Etherboot]<br />
<br />
==Troubleshooting==<br />
<br />
=== XDMCP fatal error: Manager unwilling Host unwilling ===<br />
This is usually caused by an entry missing from the {{ic|/etc/kde3/kdm/Xaccess}} file. This file controls which machines can connect to the server via KDM. The trick is to add a line that starts with an asterisk '{{ic|*}}'. Look for a line that looks like:<br />
# * #any host can get a login window<br />
<br />
and remove the hash '{{ic|#}}' sign at the beginning of the line. Then, you need to restart KDM.<br />
/etc/rc.d/kdm restart<br />
<br />
=== Session declined: Maximum Number of Sessions Reached ===<br />
Edit {{ic|/etc/gdm/custom.conf}} and add/increase the maximum sessions.<br />
[xdmcp]<br />
Enable=true<br />
'''MaxSessions=2'''<br />
<br />
[[Category:X Server]]<br />
<br />
=== If you still cannot log in remotely ===<br />
...and you see only a black screen, try removing the {{ic|-nodaemon}} option in {{ic|/etc/inittab}} to have only<br />
x:5:respawn:/usr/sbin/gdm<br />
<br />
=== Login screen and GNOME is somehow flickering ===<br />
If the login screen is created again and again and unresponsive, you are trying to access GNOME Shell on the remote machine. This is apparently caused by network speed, e.g. by accessing via wireless connections. The workaround is to disable/deinstall GNOME Shell.<br />
pacman -R gnome-shell</div>Vladev