{"id":474,"date":"2021-02-03T06:51:29","date_gmt":"2021-02-03T11:51:29","guid":{"rendered":"https:\/\/www.mgreene.org\/?p=474"},"modified":"2021-02-03T06:51:29","modified_gmt":"2021-02-03T11:51:29","slug":"nuc7pjyh-intel-uhd-graphics-605-a-problem-video-problem-on-the-way-to-happiness","status":"publish","type":"post","link":"https:\/\/www.mgreene.org\/?p=474","title":{"rendered":"NUC7PJYH: Intel UHD Graphics 605 A problem video problem on the way to happiness"},"content":{"rendered":"\n<p>The NUC J5005 uses built in <a rel=\"noreferrer noopener\" href=\"https:\/\/www.notebookcheck.net\/Intel-UHD-Graphics-605-GPU.271818.0.html#:~:text=The%20Intel%20UHD%20Graphics%20605,rarely%20sufficient%20for%20modern%20games.\" data-type=\"URL\" data-id=\"https:\/\/www.notebookcheck.net\/Intel-UHD-Graphics-605-GPU.271818.0.html#:~:text=The%20Intel%20UHD%20Graphics%20605,rarely%20sufficient%20for%20modern%20games.\" target=\"_blank\">Intel UHD Graphics 605<\/a>  and I have it connected to a ViewSonic VG3448 34 Inch Ultra-Wide 21:9 WQHD.  In the kernel config, it is configured as an i915. Short story, the first sign of problems is when the framebuffer is initialized which is followed by the first error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fbcon: i915drmfb (fb0) is primary device\nkernel: i915 0000:00:02.0: &#91;drm] *ERROR* Invalid VCO\nkernel: Console: switching to colour frame buffer device 430x90\nkernel: i915 0000:00:02.0: &#91;drm] *ERROR* Invalid VCO<\/code><\/pre>\n\n\n\n<p>There are follow on errors and X will not start. I fought this issue for a couple days then took it to work and try with a plain monitor (small Dell or something). Surprise! It worked perfect, so now I know it is a mismatch with my monitor. WTF? <\/p>\n\n\n\n<p>So, I started with the 5.10.9 kernel and found the &#8220;Invalid VCO&#8221; is coming from <em>intel_dpll_mgr.c<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>static bool bxt_ddi_set_dpll_hw_state(struct intel_crtc_state *crtc_state, const struct bxt_clk_div *clk_div)\n{\n\tstruct drm_i915_private *i915 = to_i915(crtc_state-&gt;uapi.crtc-&gt;dev);\n\tstruct intel_dpll_hw_state *dpll_hw_state = &amp;crtc_state-&gt;dpll_hw_state;\n\tint clock = crtc_state-&gt;port_clock;\n\tint vco = clk_div-&gt;vco;\n\tu32 prop_coef, int_coef, gain_ctl, targ_cnt;\n\tu32 lanestagger;\n\n\tmemset(dpll_hw_state, 0, sizeof(*dpll_hw_state));\n\n\tif (vco &gt;= 6200000 &amp;&amp; vco &lt;= 6700000) {\n\t\tprop_coef = 4;\n\t\tint_coef = 9;\n\t\tgain_ctl = 3;\n\t\ttarg_cnt = 8;\n\t} else if ((vco &gt; 5400000 &amp;&amp; vco &lt; 6200000) ||\n\t\t\t(vco &gt;= 4800000 &amp;&amp; vco &lt; 5400000)) {\n\t\tprop_coef = 5;\n\t\tint_coef = 11;\n\t\tgain_ctl = 3;\n\t\ttarg_cnt = 9;\n\t} else if (vco == 5400000) {\n\t\tprop_coef = 3;\n\t\tint_coef = 8;\n\t\tgain_ctl = 1;\n\t\ttarg_cnt = 9;\n\t} else {\n\t\tdrm_err(&amp;i915-&gt;drm, \"Invalid VCO\\n\");\n\t\treturn false;\n\t}\n...<\/code><\/pre>\n\n\n\n<p>More poking around pointed to the i915 driver not being able to handle the data by monitor reported, so time to file an issue with the <a rel=\"noreferrer noopener\" href=\"https:\/\/gitlab.freedesktop.org\/drm\/intel\/-\/issues\/3000\" data-type=\"URL\" data-id=\"https:\/\/gitlab.freedesktop.org\/drm\/intel\/-\/issues\/3000\" target=\"_blank\">i915 driver group<\/a>. Thanks to Ville Syrj\u00e4l\u00e4 who came back with a patch yesterday:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>From 83e72257aca3386decb2b9d631c82e62732afd30 Mon Sep 17 00:00:00 2001\nFrom: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= &lt;ville.syrjala@linux.intel.com>\nDate: Tue, 2 Feb 2021 01:16:53 +0200\nSubject: &#91;PATCH] drm\/i915: Reject 446-480MHz HDMI clock on GLK\nMIME-Version: 1.0\nContent-Type: text\/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n\nThe BXT\/GLK DPLL can't generate certain frequencies. We already\nreject the 233-240MHz range on both. But on GLK the DPLL max\nfrequency was bumped from 300MHz to 594MHz, so now we get to\nalso worry about the 446-480MHz range (double the original\nproblem range). Reject any frequency within the higher\nproblematic range as well.\n\nCc: stable@vger.kernel.org\nCloses: https:\/\/gitlab.freedesktop.org\/drm\/intel\/-\/issues\/3000\nSigned-off-by: Ville Syrj\u00e4l\u00e4 &lt;ville.syrjala@linux.intel.com>\n---\n drivers\/gpu\/drm\/i915\/display\/intel_hdmi.c | 6 +++++-\n 1 file changed, 5 insertions(+), 1 deletion(-)\n\ndiff --git a\/drivers\/gpu\/drm\/i915\/display\/intel_hdmi.c b\/drivers\/gpu\/drm\/i915\/display\/intel_hdmi.c\nindex 66e1ac3887c6..b593a71e6517 100644\n--- a\/drivers\/gpu\/drm\/i915\/display\/intel_hdmi.c\n+++ b\/drivers\/gpu\/drm\/i915\/display\/intel_hdmi.c\n@@ -2218,7 +2218,11 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,\n \t\t\t\t\t  has_hdmi_sink))\n \t\treturn MODE_CLOCK_HIGH;\n \n-\t\/* BXT DPLL can't generate 223-240 MHz *\/\n+\t\/* GLK DPLL can't generate 446-480 MHz *\/\n+\tif (IS_GEMINILAKE(dev_priv) &amp;&amp; clock > 446666 &amp;&amp; clock &lt; 480000)\n+\t\treturn MODE_CLOCK_RANGE;\n+\n+\t\/* BXT\/GLK DPLL can't generate 223-240 MHz *\/\n \tif (IS_GEN9_LP(dev_priv) &amp;&amp; clock > 223333 &amp;&amp; clock &lt; 240000)\n \t\treturn MODE_CLOCK_RANGE;\n \n-- \n2.26.2<\/code><\/pre>\n\n\n\n<p>I inserted the patch into the 5.10.12 kernel code and was back in business. The down side is I&#8217;ll have to remember to keep patching until it makes it into the kernel sources proper. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The NUC J5005 uses built in Intel UHD Graphics 605 and I have it connected to a ViewSonic VG3448 34 Inch Ultra-Wide 21:9 WQHD. In the kernel config, it is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[12,92,18,20,40],"tags":[99,101,100,94,95],"class_list":["post-474","post","type-post","status-publish","format-standard","hentry","category-gentoo","category-intel-nuc","category-kernel","category-linux","category-viewsonic","tag-gento","tag-i915","tag-kernel","tag-nuc-kit","tag-nuc7pjyh"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":471,"url":"https:\/\/www.mgreene.org\/?p=471","url_meta":{"origin":474,"position":0},"title":"NUC7PJYH: Closing out Gentoo on the Intel NUC","author":"Mike","date":"February 20, 2021","format":false,"excerpt":"Well, the NUC is done and everything to working. It is definitely not a speed demon, Geekbench scores prove it with a 158 Single-Core Score and 570 Multi-Core Score. NUC: Gnome Screen NUC: Gnome Overview with settings window, dash to dock, and workspaces to dock. I did try Wayland, and\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/02\/about-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/02\/about-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/02\/about-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/02\/about-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":460,"url":"https:\/\/www.mgreene.org\/?p=460","url_meta":{"origin":474,"position":1},"title":"NUC7PJYH:  Gentoo UEFI Configure","author":"Mike","date":"February 20, 2021","format":false,"excerpt":"This is no fun exercise. I did this over a year ago with my Asrock system, but of course did not record the exact steps, so I had to learn all over again. The best start is to use the Gentoo Handbook example. I used a combination of fdisk and\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":449,"url":"https:\/\/www.mgreene.org\/?p=449","url_meta":{"origin":474,"position":2},"title":"NUC7PJYH:  Installing Gentoo","author":"Mike","date":"January 3, 2021","format":false,"excerpt":"Start This project was a real rocky start. I was having a hard time booting off the USB and more trouble with a USB keyboard attached. However, when I could get the unit to boot, the chroot worked and I could compile. I was to the point think the unit\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":420,"url":"https:\/\/www.mgreene.org\/?p=420","url_meta":{"origin":474,"position":3},"title":"New Toy:  Intel NUC 7 Essential Kit NUC7PJYH","author":"Mike","date":"January 1, 2021","format":false,"excerpt":"I decided to start with an older, but a little higher end than the bottom NUC. At the time Walmart had the better price. On Ebay, a used unit can be had for $40 to $100 cheaper with some already containing RAM and an SSD. There is also a link\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/01\/nuc_bottom-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/01\/nuc_bottom-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/01\/nuc_bottom-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.mgreene.org\/wp-content\/uploads\/2021\/01\/nuc_bottom-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":290,"url":"https:\/\/www.mgreene.org\/?p=290","url_meta":{"origin":474,"position":4},"title":"New toy &#8211; ASRock J3455-ITX","author":"Mike","date":"November 29, 2018","format":false,"excerpt":"Part because of a mistake and part for fun, I purchased an ASRock J3455-ITX.\u00a0 I tried to boot a couple different OSs without much luck, I could not get CoreOS to boot or even a Gentoo LiveCD. Granted, it is low power and slow, so it might have been my\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/11\/j3455_memory.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/11\/j3455_memory.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/wordpress.greenenet.net\/wp-content\/uploads\/2018\/11\/j3455_memory.png?resize=525%2C300 1.5x"},"classes":[]},{"id":106,"url":"https:\/\/www.mgreene.org\/?p=106","url_meta":{"origin":474,"position":5},"title":"Another day, another kernel and that VMware problem","author":"Mike","date":"February 10, 2015","format":false,"excerpt":"Yep, another day, a new kernel: Linux littleturd 3.19.0-gentoo-mgreene #1 SMP PREEMPT Tue Feb 10 19:08:38 EST 2015 x86_64 Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz GenuineIntel GNU\/Linux What does going from 3.18.x to 3.19.0 mean for me? \u00a0The damn Vmware modules don't compile, so it is off to remember how\u2026","rel":"","context":"In &quot;Gentoo&quot;","block_context":{"text":"Gentoo","link":"https:\/\/www.mgreene.org\/?cat=12"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=474"}],"version-history":[{"count":0,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=\/wp\/v2\/posts\/474\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mgreene.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}