Originally posted by claydoh
View Post
That echo command was found here:
https://askubuntu.com/questions/1082...intel-graphics
and is a common method for setting memory variables "on the fly".
Your kernel method, to set kernel module parameters, is one way, my method is another.
https://wiki.archlinux.org/index.php/Kernel_module
I usually don't recommend editing kernel lines in grub because a lot of people unfamiliar with grub and editing the kernel line end up at a "grub rescue" prompt and unable to continue, so they simply cycle the power button.
An even newer method is to use sysctl in conjunction with /etc/sysctl.d, but I am not comfortable with that method yet, and may never be. I suspect that it will be replacing kernel and module.d mod configurations in the future because it is aligned with systemd.
http://manpages.ubuntu.com/manpages/.../sysctl.8.html
and:
https://unix.stackexchange.com/quest...f-and-sysctl-d
Checking the value of a sysctl variable is as easy as
sysctl <variable name>
and, by the way, setting a sysctl variable is as straightforward as
sudo sysctl -w <variable name>=<value>
but changes made this way will probably hold only till the next reboot.
As to which of the config locations, /etc/sysctl.conf or /etc/sysctl.d/, takes precedence, here is what /etc/sysctl.d/README file says: "End-users can use 60-*.conf and above, or use/etc/sysctl.conf directly, which overrides anything in this directory."
After editing the config in any of the two locations, the changes can be applied with
sudo sysctl -p
sysctl <variable name>
and, by the way, setting a sysctl variable is as straightforward as
sudo sysctl -w <variable name>=<value>
but changes made this way will probably hold only till the next reboot.
As to which of the config locations, /etc/sysctl.conf or /etc/sysctl.d/, takes precedence, here is what /etc/sysctl.d/README file says: "End-users can use 60-*.conf and above, or use/etc/sysctl.conf directly, which overrides anything in this directory."
After editing the config in any of the two locations, the changes can be applied with
sudo sysctl -p
options i915 enable_rc6=0
options i915 parm=value
etc...
With some modules one can use "rmmod mod" as root to remove a kernel module and then "modprob mod parm=value", for example "modprobe i915 enable_rc6=0" to turn off power management, which is often the reason for freezing in these cases.
Here are all the parms for the i915 driver:
Code:
:~$ [B]modinfo i915 -p[/B] modeset:Use kernel modesetting [KMS] (0=disable, 1=on, -1=force vga console preference [default]) (int) panel_ignore_lid:Override lid status (0=autodetect, 1=autodetect disabled [default], -1=force lid closed, -2=force lid open) (int) semaphores:Use semaphores for inter-ring sync (default: -1 (use per-chip defaults)) (int) [B]enable_rc6[/B]:Enable power-saving render C-state 6. Different stages can be selected via bitmask values (0 = disable; 1 = enable rc6; 2 = enable deep rc6; 4 = enable deepest rc6). For example, 3 would enable rc6 and deep rc6, and 7 would enable everything. default: -1 (use per-chip default) (int) enable_dc:Enable power-saving display C-states. (-1=auto [default]; 0=disable; 1=up to DC5; 2=up to DC6) (int) enable_fbc:Enable frame buffer compression for power savings (default: -1 (use per-chip default)) (int) lvds_channel_mode:Specify LVDS channel mode (0=probe BIOS [default], 1=single-channel, 2=dual-channel) (int) lvds_use_ssc:Use Spread Spectrum Clock with panels [LVDS/eDP] (default: auto from VBT) (int) vbt_sdvo_panel_type:Override/Ignore selection of SDVO panel mode in the VBT (-2=ignore, -1=auto [default], index in VBT BIOS table) (int) reset:Attempt GPU resets (default: true) (bool) error_capture:Record the GPU state following a hang. This information in /sys/class/drm/card<N>/error is vital for triaging and debugging hangs. (bool) enable_hangcheck:Periodically check GPU activity for detecting hangs. WARNING: Disabling this can cause system wide hangs. (default: true) (bool) enable_ppgtt:Override PPGTT usage. (-1=auto [default], 0=disabled, 1=aliasing, 2=full, 3=full with extended address space) (int) enable_execlists:Override execlists usage. (-1=auto [default], 0=disabled, 1=enabled) (int) enable_psr:Enable PSR (0=disabled, 1=enabled - link mode chosen per-platform, 2=force link-standby mode, 3=force link-off mode) Default: -1 (use per-chip default) (int) alpha_support:Enable alpha quality driver support for latest hardware. See also CONFIG_DRM_I915_ALPHA_SUPPORT. (bool) disable_power_well:Disable display power wells when possible (-1=auto [default], 0=power wells always on, 1=power wells disabled when possible) (int) enable_ips:Enable IPS (default: true) (int) fastboot:Try to skip unnecessary mode sets at boot time (default: false) (bool) prefault_disable:Disable page prefaulting for pread/pwrite/reloc (default:false). For developers only. (bool) load_detect_test:Force-enable the VGA load detect code for testing (default:false). For developers only. (bool) force_reset_modeset_test:Force a modeset during gpu reset for testing (default:false). For developers only. (bool) invert_brightness:Invert backlight brightness (-1 force normal, 0 machine defaults, 1 force inversion), please report PCI device ID, subsystem vendor and subsystem device ID to dri-devel@lists.freedesktop.org, if your machine needs it. It will then be included in an upcoming module version. (int) disable_display:Disable display (default: false) (bool) enable_cmd_parser:Enable command parsing (true=enabled [default], false=disabled) (bool) use_mmio_flip:use MMIO flips (-1=never, 0=driver discretion [default], 1=always) (int) mmio_debug:Enable the MMIO debug code for the first N failures (default: off). This may negatively affect performance. (int) verbose_state_checks:Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions. (bool) nuclear_pageflip:Force enable atomic functionality on platforms that don't have full support yet. (bool) edp_vswing:Ignore/Override vswing pre-emph table selection from VBT (0=use value from vbt [default], 1=low power swing(200mV),2=default swing(400mV)) (int) enable_guc_loading:Enable GuC firmware loading (-1=auto, 0=never [default], 1=if available, 2=required) (int) enable_guc_submission:Enable GuC submission (-1=auto, 0=never [default], 1=if available, 2=required) (int) guc_log_level:GuC firmware logging level (-1:disabled (default), 0-3:enabled) (int) guc_firmware_path:GuC firmware path to use instead of the default one (charp) huc_firmware_path:HuC firmware path to use instead of the default one (charp) enable_dp_mst:Enable multi-stream transport (MST) for new DisplayPort sinks. (default: true) (bool) inject_load_failure:Force an error after a number of failure check points (0:disabled (default), N:force failure at the Nth failure check point) (uint) enable_dpcd_backlight:Enable support for DPCD backlight control (default:false) (bool) enable_gvt:Enable support for Intel GVT-g graphics virtualization host support(default:false) (bool)
Comment