{"id":106,"date":"2018-09-05T15:36:22","date_gmt":"2018-09-05T15:36:22","guid":{"rendered":"http:\/\/www.joontech.nl\/wordpress\/?p=106"},"modified":"2018-09-10T11:29:40","modified_gmt":"2018-09-10T14:29:40","slug":"radeon-hd8890m-graphics-card-and-ubuntu-18-04","status":"publish","type":"post","link":"http:\/\/wordpress.joontech.nl\/?p=106","title":{"rendered":"Radeon HD8890M graphics card and Ubuntu 18.04"},"content":{"rendered":"<p>To see which graphis card is installed:<br \/>\n<a href=\"https:\/\/www.cyberciti.biz\/faq\/linux-tell-which-graphics-vga-card-installed\/\">https:\/\/www.cyberciti.biz\/faq\/linux-tell-which-graphics-vga-card-installed\/<\/a><\/p>\n<p><strong><span style=\"color: #ff0000;\">lspci | grep -i &#8211;color &#8216;vga\\|3d\\|2d&#8217;<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\">01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD\/ATI] Venus XTX [Radeon HD 8890M \/ R9 M275X\/M375X] (rev 83)<\/span><br \/>\n<strong><span style=\"color: #ff0000;\">sudo lspci -v -s 01:00.0 # Note the Device ID from the previous output<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\">01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD\/ATI] Venus XTX [Radeon HD 8890M \/ R9 M275X\/M375X] (rev 83) (prog-if 00 [VGA controller])<\/span><br \/>\n<span style=\"color: #ff0000;\">Subsystem: Dell Venus XTX [Radeon HD 8890M \/ R9 M275X\/M375X]<\/span><br \/>\n<span style=\"color: #ff0000;\">Flags: fast devsel, IRQ 16<\/span><br \/>\n<span style=\"color: #ff0000;\">Memory at c0000000 (64-bit, prefetchable) [size=256M]<\/span><br \/>\n<span style=\"color: #ff0000;\">Memory at dfe00000 (64-bit, non-prefetchable) [size=256K]<\/span><br \/>\n<span style=\"color: #ff0000;\">I\/O ports at e000 [size=256]<\/span><br \/>\n<span style=\"color: #ff0000;\">Expansion ROM at 000c0000 [disabled] [size=128K]<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [48] Vendor Specific Information: Len=08 &lt;?&gt;<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [50] Power Management version 3<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [58] Express Legacy Endpoint, MSI 00<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [a0] MSI: Enable- Count=1\/1 Maskable- 64bit+<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010\u00a0<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [150] Advanced Error Reporting<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [200] #15<\/span><br \/>\n<span style=\"color: #ff0000;\">Capabilities: [270] #19<\/span><br \/>\n<span style=\"color: #ff0000;\">Kernel modules: radeon, amdgpu<\/span><\/p>\n<p>I used the early preview AMD driver <a href=\"https:\/\/support.amd.com\/en-us\/kb-articles\/Pages\/Radeon-Software-for-Linux-18.20-Early-Preview-Release-Notes.aspx\">Amdgpu-pro-18.20-579836<\/a>. It seems to work fine with my notebook and docking station. The normal version is installed, the pro version seems to give issues.<\/p>\n<p>Run\u00a0<code>sudo lshw -c video<\/code>, and look for the line with &#8220;configuration&#8221;. The loaded driver is prefixed with &#8220;driver=&#8221;<\/p>\n<p>And this gives you loads of information on the driver itself.<\/p>\n<pre>modinfo $(modprobe --resolve-alias radeon)<\/pre>\n<p><code>lspci -nnk | grep -i vga -A3 | grep 'in use'<\/code> also shows which graphics option is being used in the current configuration.<\/p>\n<p>You can blacklist the radeon driver by adding <code>blacklist radeon<\/code> to <code>\/etc\/modprobe.d\/blacklist-radeon.conf<br \/>\n<\/code>and by adding <code>blacklist radeonfb<\/code>\u00a0to <code>\/etc\/modprobe.d\/blacklist-framebuffer.conf<\/code><\/p>\n<p>Note that this does <strong>NOT<\/strong> stop the card from being turned on at boot, and consuming a lot of power.<\/p>\n<h2>Setting driver options:<\/h2>\n<p>Follow this page on info of kernel module features and settings.<br \/>\n<a href=\"https:\/\/wiki.archlinux.org\/index.php\/Kernel_module\">https:\/\/wiki.archlinux.org\/index.php\/Kernel_module<\/a><\/p>\n<p>Driver features can be set\u00a0 by adding specific options to your boot environment in grub\u00a0<code>\/etc\/default\/grub<\/code><\/p>\n<pre>GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash radeon.dpm=1\"\r\nsudo update-grub<\/pre>\n<p>An alternative is adding files to\u00a0<code>\/etc\/modprobe.d\/<\/code>, that will be read at boot time<\/p>\n<pre>\/etc\/modprobe.d\/radeon.conf\r\n# Force the Dynamic Power Management\r\noptions radeon dpm=1<\/pre>\n<p>resulting settings are made visible with this command:<\/p>\n<pre>systool -v -m <i>radeon<\/i>\r\n<\/pre>\n<h2>More power settings<\/h2>\n<p>The Radeon driver supports more power settings. See here:<\/p>\n<p><a href=\"https:\/\/www.x.org\/wiki\/RadeonFeature\/#index3h2\">https:\/\/www.x.org\/wiki\/RadeonFeature\/#index3h2<\/a><\/p>\n<p>You can see the current selected method, profile and details with:<\/p>\n<pre>cat \/sys\/class\/drm\/card0\/device\/power_method\r\ncat \/sys\/class\/drm\/card0\/device\/power_profile\r\nsudo cat \/sys\/kernel\/debug\/dri\/0\/radeon_pm_info<\/pre>\n<h2>Disabling the Radeon HD8890M to\u00a0reduce power consumption<\/h2>\n<p>Discrete graphics cards have the disadvantage that they consume a lot of power, and are best used with external power connected.<br \/>\nBut what if you do not need the extra graphical power, battery time is more important?<\/p>\n<p>You can unload the <em>radeon<\/em> driver by blacklisting it or using driver feature\u00a0<code>radeon.modeset=0<\/code>. This will make you use the embedded graphics.<br \/>\nIn both cases, no driver is loaded, but the card is <span style=\"color: #ff0000;\"><strong>still switched on and consuming power<\/strong> <\/span>like it is switched on in full.<\/p>\n<p>An other option is to disable the card in the BIOS\/UEFI. On my Dell\u00a0Precision 7510, this is however not possible.<\/p>\n<p>Then the final option would be to use the power settings in the previous text to reduce the consumption. This seems to work pretty good.<br \/>\nPower some statistics with the different options<\/p>\n<ul>\n<li>No driver loaded<br \/>\npower drawn from battery with no load: <strong>27W<\/strong><\/li>\n<li>Driver loaded,\u00a0radeon dpm=0,<br \/>\n<code>echo dynpm &gt; \/sys\/class\/drm\/card0\/device\/power_method<\/code><\/li>\n<\/ul>\n<p>power drawn from battery with no load: <strong>34W<\/strong><\/p>\n<p><code>sudo cat \/sys\/kernel\/debug\/dri\/0\/radeon_pm_info<br \/>\ndefault engine clock: 925000 kHz<br \/>\ncurrent engine clock: 924980 kHz<br \/>\ndefault memory clock: 1125000 kHz<br \/>\ncurrent memory clock: 1125000 kHz<br \/>\nvoltage: 1200 mV<br \/>\nPCIE lanes: 16<\/code><\/p>\n<ul>\n<li>Driver loaded,\u00a0radeon dpm=0,<br \/>\n<code>echo profile &gt; \/sys\/class\/drm\/card0\/device\/power_method<br \/>\necho default &gt; \/sys\/class\/drm\/card0\/device\/power_profile<\/code><\/li>\n<\/ul>\n<p>power drawn from battery with no load: 34W<\/p>\n<p><code>sudo cat \/sys\/kernel\/debug\/dri\/0\/radeon_pm_info<br \/>\ndefault engine clock: 925000 kHz<br \/>\ncurrent engine clock: 924980 kHz<br \/>\ndefault memory clock: 1125000 kHz<br \/>\ncurrent memory clock: 1125000 kHz<br \/>\nvoltage: 1200 mV<br \/>\nPCIE lanes: 16<\/code><\/p>\n<ul>\n<li>Driver loaded,\u00a0radeon dpm=0,<br \/>\n<code>echo profile &gt; \/sys\/class\/drm\/card0\/device\/power_method<\/code><code><br \/>\necho low &gt; \/sys\/class\/drm\/card0\/device\/power_profile<\/code><\/li>\n<\/ul>\n<p>power drawn from battery with no load: <strong>19W<\/strong><\/p>\n<p><code>sudo cat \/sys\/kernel\/debug\/dri\/0\/radeon_pm_info<br \/>\ndefault engine clock: 925000 kHz<br \/>\ncurrent engine clock: 299990 kHz<br \/>\ndefault memory clock: 1125000 kHz<br \/>\ncurrent memory clock: 150000 kHz<br \/>\nvoltage: 825 mV<br \/>\nPCIE lanes: 16<\/code><\/p>\n<ul>\n<li>Driver loaded,\u00a0radeon dpm=1, which uses hardware on the GPU to dynamically change the clocks and voltage based on GPU load. It also enables clock and power gating<\/li>\n<\/ul>\n<p><code>cat \/sys\/class\/drm\/card0\/device\/power_method<br \/>\ndpm<br \/>\ncat \/sys\/class\/drm\/card0\/device\/power_profile<br \/>\ndefault<\/code><\/p>\n<p>power drawn from battery with no load: <strong>20W<\/strong><\/p>\n<p><code>sudo cat \/sys\/kernel\/debug\/dri\/0\/radeon_pm_info<br \/>\nuvd vclk: 0 dclk: 0<br \/>\npower level 0 sclk: 30000 mclk: 15000 vddc: 900 vddci: 0 pcie gen: 3<\/code><\/p>\n<p>&nbsp;<\/p>\n<p>Final remarks:<\/p>\n<p>I did not look at <a href=\"https:\/\/01.org\/linuxgraphics\/gfx-docs\/drm\/gpu\/vga-switcheroo.html\">vgaswitcheroo\u00a0<\/a>only at the driver options.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To see which graphis card is installed: https:\/\/www.cyberciti.biz\/faq\/linux-tell-which-graphics-vga-card-installed\/ lspci | grep -i &#8211;color &#8216;vga\\|3d\\|2d&#8217; 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD\/ATI] Venus XTX [Radeon HD 8890M \/ R9 M275X\/M375X] (rev 83) sudo lspci -v -s 01:00.0 # Note the Device ID from the previous output 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. &hellip; <a href=\"http:\/\/wordpress.joontech.nl\/?p=106\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Radeon HD8890M graphics card and Ubuntu 18.04&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-106","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/posts\/106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=106"}],"version-history":[{"count":25,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/posts\/106\/revisions"}],"predecessor-version":[{"id":134,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=\/wp\/v2\/posts\/106\/revisions\/134"}],"wp:attachment":[{"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=106"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/wordpress.joontech.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}