【鼎革‧革鼎】︰ Raspbian Stretch 《六之 E 》

Flash 的時代終將過去︰

Adobe Flash Player

Adobe Flash Player(在Internet ExplorerFirefox被稱為Shockwave Flash[2]是一種廣泛使用的、專有的多媒體程式播放器。它最初由Macromedia編寫,在Macromedia被Adobe收購後由Adobe繼續開發。

Flash Player使用的SWF檔案可由Adobe AnimateAdobe Flex或者其他軟體或第三方工具建立。Adobe Animate簡稱Flash,同時表示創作程式和播放器。它同時使用點陣圖向量圖形,利用ActionScript手 稿語言進行編程,支援雙向影片流和音訊流。嚴格來說,Adobe Flash是創作環境而Flash Player是執行Flash檔案的虛擬機器。但是,通常二者均可稱為Flash,即Flash同時有三種含義:創作環境,播放器和程式檔案。Flash Player支援內嵌的手稿語言ActionScript(AS)。ActionScript是一種基於ECMAScript的手稿語言,可用於編寫Adobe Flash動畫和應用程式。由於ActionScript和JavaScript都是基於ECMAScript語法的,理論上它們互相可以很流暢地從一種語言翻譯到另一種。Adobe Flash Player最初設計目的為播放二維向量動量,但至此之後成為適合開發創造豐富型網際網路應用程式、串流視訊音訊的工具。Flash Player使用向量圖形的技術來最小化檔案的大小以及創造節省網路頻寬和下載時間的檔案。因此Flash成為嵌入網頁中的小遊戲、動畫、廣告、以及圖形使用者介面常用的格式。

因Flash的諸多限制和資訊安全問題,合作夥伴包括AppleFacebookGoogle微軟Mozilla等合作下棄用 Flash 預載,以及HTML5的興起,Flash Player的使用逐年下滑。 Adobe於2017年7月25日宣布於2020年12月30日停止更新和發行Flash Player。[3]

 

進入 HTML5 之紀元也︰

HTML5test

HTML5test is a web application for evaluating a web browser‘s accuracy in implementing the web standards HTML5 and Web SQL Database (developed by the World Wide Web Consortium), as well as the WebGL standard (developed by the Mozilla Foundation and the Khronos Group).[2]

The test suite was developed by Dutch web programmer Niels Leenheer, and published in March 2010.[3] To test a web browser, the user must visit the home page of the website html5test.com.[4] The application returns an integer score out of a possible 555 points. The point total has changed multiple times through the evolution of the software; Leenheer introduced the present scoring system as part of a major redesign of the test introduced in November 2013.[5]

HTML5test evaluates the browser’s support for Web storage, the W3C Geolocation API, HTML5-specific HTML elements (including the canvas element), and other features.[6][7] It does not evaluate a browser’s conformance to other web standards, such as Cascading Style Sheets, ECMAScript, Scalable Vector Graphics, or the Document Object Model. Conformance testing for those standards is within the purview of Acid3, an automated test published by Ian Hickson in 2008.[8] Similarly, Acid3 does not evaluate a browser’s HTML5 conformance. The test scope of HTML5test and the test scope of Acid3 are mutually exclusive.

 

目前 樹莓派上使用的 Chrome Dev 60.0.3112.89 版本瀏覽器,得分還頗高的哩︰

 

預設為不開啟 flash ︰

pi@raspberrypi:~ cd /usr/lib/chromium-browser pi@raspberrypi:/usr/lib/chromium-browser ls libpepflashplayer.so -l
-rw-r--r-- 1 root root 20458984 10月 21 05:36 libpepflashplayer.so
pi@raspberrypi:/usr/lib/chromium-browser $

 

眼下論壇所講

Re: Flash Player now available for Chromium

Tue Mar 07, 2017 6:06 am

If you go to
chrome:plugins
in the address bar.
Does it show you the flash version?

 

chrome:plugins 查詢設定方法,恐發生如下之錯誤訊息︰

 

據谷歌

Cat-Friend說:

Hello Paul

 
Many thanks for your message. And welcome to the Google Chrome Help Forum.
The chrome://plugins Page has been removed in Chrome 57 and is no more available!
 
Please do this to access the Flash and PDF Reader Settings:
  1. Click the 3-Dot Icon (), then choose Settings, then Advanced Settings
  2. Scroll down and choose “Content Settings
  3. (Or use this Link to go directly go to the Dialog: chrome://settings/content)
  4. Change your Flash and PDF Reader Settings as needed
Please let me know if this helps.
Kind regards, Cat-Friend

 

貓友所說, Chrome 57 後就已如此。故依言而行︰

 

致 PhET 之愛好者

 

 

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《六之 D.1 》

甲骨文吏

甲骨文行

』從吏字分化出來,表示傳達命令並且監督實施。人『』到縱橫暢通的十字路口 ,或將有所作為乎?

事要是真的能行,行事『』的『規劃』不能少,期『』 必須要『監督』實施,事行『』一定得『檢驗』是否『符合規劃 』。

……

【怎麼會發生回歸錯誤?】

當一個軟體變大』『變複雜』的候,即使好好的『測試』,也難保沒有錯誤』。以致已知的臭蟲必須除錯』。只是除錯這一件事遠比想像的『困難』,常『改好了這個』卻又『發生了那個』。又有時修正新錯誤使得『原先沒問題』的倒是產生了狀況』,種情形就叫做回 歸錯誤』Regression Fail!!玩新版 B+ 如果遇到這事,不要覺的奇怪!!

─── 《媒體中心──行事

 

回顧三年前樹莓派革故 B 鼎新 B+ 之時,也曾遭遇回歸性錯誤!不知今日論壇上何事劍拔弩張?

Re: Mesa driver much slower on Stretch than on Jessie

ShiftPlusOne

Tue Sep 05, 2017 2:30 pm

jamesh wrote:

Tue Sep 05, 2017 2:16 pm

I inclined think the best thing would be to remove the entire slow MESA package from our Stretch, that way people won’t think we are responsible for it when we clearly are not. Not sure how easy that is to do, and it might set a bad precedent – there are quite a few packages that you can easily install that don’t work – don’t want to have to remove all of them, maintenance would be horrendous.

It’s the same package that is responsible for the handling opengl for the vc4 driver. It just uses software rendering if no hardware acceleration is available.

……

Re: Mesa driver much slower on Stretch than on Jessie

jamesh

Tue Sep 05, 2017 2:33 pm

RichardRussell wrote:

Tue Sep 05, 2017 11:36 am

I am unclear to what extent Debian support the armhf architecture. If they do, then absolutely it should be their responsibility to fix issues in packages not supplied by the RPF. But if they don’t, and a regression affects only ARM platforms like the Raspberry Pi, then there’s a danger of nobody accepting ownership of the problem.

Welcome to the world of Open source software…

It is the ‘responsibility’ of the package maintainer to test and ensure their software works correctly. But if they are not interested in ARM devices, they are under no obligation to fix any issues that may occur on the ARM platform. It’s not like they are making any money off the software, or are being paid to maintain it.

I can hear to incoming comment “But the RPF makes money from the software”. This isn’t true. We make money from selling HW, nothing from software. Although there is an interesting calculation you can make. Lets say the RPF make 5 profit per board (this is a made up figure, 5 for roundness). There are approximately 26000 packages in Raspbian. That means5/26000 of that profit, IFF we made money only on the SW, per package, multiplied by the total number of Pi’s sold (14m) = about 2700. So, the profit the RPF have made on one specific package is about2700. Which is few days of engineering time. And that assumes every single Pi runs that package. OK, so its a dodgy calculation, but gives some idea of the cost benefit analysis of where we need to put engineering effort.

 

當此鼎革革鼎之際,莫若面對問題︰

Re: Mesa driver much slower on Stretch than on Jessie

mikerr

Tue Oct 03, 2017 1:53 pm

I was able to improve MESA performance 2x by regressing to the jessie version of one of the libraries, while still running stretch:

Bare stretch:

glxgears -info
123 frames in 5.0 seconds = 24.481 FPS

edit /etc/apt/sources.list to add this at the end:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

now revert to the jessie version:

sudo apt-get update
sudo apt-get install libgl1-mesa-dri=10.3.2-1+deb8u1
sudo apt-mark hold libgl1-mesa-dri

this DOUBLES the framerate of glxgears from 24 fps to 53 fps on my pi2 (and corrects the colours too)

glxgears -info
269 frames in 5.0 seconds = 53.790 FPS

[edit]
if you want to return to the most recent (slow) version for any reason, do this:

sudo apt-mark unhold libgl1-mesa-dri
sudo apt-get upgrade

 

嘗試釐清原由︰

pi@raspberrypi:~ sudo apt-get install libgl1-mesa-dri=10.3.2-1+deb8u1 正在讀取套件清單... 完成 正在重建相依關係           正在讀取狀態資料... 完成 下列的額外套件將被安裝:   libllvm3.5 下列【新】套件將會被安裝:   libllvm3.5 下列套件將會被【降級】:   libgl1-mesa-dri 升級 0 個,新安裝 1 個,降級 1 個,移除 0 個,有 21 個未被升級。 需要下載 9,119 kB 的套件檔。 此操作完成之後,會空出 76.0 MB 的磁碟空間。 是否繼續進行 [Y/n]? [Y/n]  下載:1 http://mirrordirector.raspbian.org/raspbian jessie/main armhf libllvm3.5 armhf 1:3.5-10+rpi1 [6,644 kB] 下載:2 http://mirrordirector.raspbian.org/raspbian jessie/main armhf libgl1-mesa-dri armhf 10.3.2-1+deb8u1 [2,476 kB] 取得 9,119 kB 用了 3min 18s (46.0 kB/s)                                         選取了原先未選的套件 libllvm3.5:armhf。 (讀取資料庫 ... 目前共安裝了 276416 個檔案和目錄。) Preparing to unpack .../libllvm3.5_1%3a3.5-10+rpi1_armhf.deb ... Unpacking libllvm3.5:armhf (1:3.5-10+rpi1) ... dpkg: 警告: 將 libgl1-mesa-dri:armhf 從 13.0.6-1+rpi2 降級到 10.3.2-1+deb8u1 Preparing to unpack .../libgl1-mesa-dri_10.3.2-1+deb8u1_armhf.deb ... Unpacking libgl1-mesa-dri:armhf (10.3.2-1+deb8u1) over (13.0.6-1+rpi2) ... 設定 libllvm3.5:armhf (1:3.5-10+rpi1) ... 設定 libgl1-mesa-dri:armhf (10.3.2-1+deb8u1) ... 安裝新版的設定檔 /etc/drirc ... pi@raspberrypi:~ 

 

或許可見曙光︰

 

 

 

知道方向︰

pi@raspberrypi:~ glxinfo | grep -i opengl libGL error: failed to open drm device: No such file or directory libGL error: failed to load driver: i965 OpenGL vendor string: Mesa Project OpenGL renderer string: Software Rasterizer OpenGL version string: 2.1 Mesa 10.3.2 OpenGL shading language version string: 1.20 OpenGL extensions: OpenGL ES profile version string: OpenGL ES 2.0 Mesa 10.3.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16 OpenGL ES profile extensions: pi@raspberrypi:~ 

 

踏出關鍵一步耶☆

OpenGL ES

Mesa implements OpenGL ES 1.1 and OpenGL ES 2.0. More information about OpenGL ES can be found at https://www.khronos.org/opengles/.

OpenGL ES depends on a working EGL implementation. Please refer to Mesa EGL for more information about EGL.

Build the Libraries

  1. Run configure with --enable-gles1 --enable-gles2 and enable the Gallium driver for your hardware.
  2. Build and install Mesa as usual.

Alternatively, if XCB-DRI2 is installed on the system, one can use egl_dri2 EGL driver with OpenGL|ES-enabled DRI drivers

  1. Run configure with --enable-gles1 --enable-gles2.
  2. Build and install Mesa as usual.

Both methods will install libGLESv1_CM, libGLESv2, libEGL, and one or more EGL drivers for your hardware.

Developers

Dispatch Table

OpenGL ES has an additional indirection when dispatching functions

Mesa: glFoo() –> _mesa_Foo()
OpenGL ES: glFoo() –> _es_Foo() –> _mesa_Foo()

The indirection serves several purposes

  • When a function is in Mesa and the type matches, it checks the arguments and calls the Mesa function.
  • When a function is in Mesa but the type mismatches, it checks and converts the arguments before calling the Mesa function.
  • When a function is not available in Mesa, or accepts arguments that are not available in OpenGL, it provides its own implementation.

Other than the last case, OpenGL ES uses APIspec.xml to generate functions to check and/or converts the arguments.

 

OpenGL® ES is a royalty-free, cross-platform API for rendering advanced 2D and 3D graphics on embedded and mobile systems – including consoles, phones, appliances and vehicles. It consists of a well-defined subset of desktop OpenGL suitable for low-power devices, and provides a flexible and powerful interface between software and graphics acceleration hardware.

 

OpenGL ES API Versions at a Glance

OpenGL ES 3.2 – Additional OpenGL functionality

The latest in the series, OpenGL ES 3.2 added additional functionality based on the Android Extension Pack for OpenGL ES 3.1, which brought the mobile API’s functionality significantly closer to it’s desktop counterpart – OpenGL.

OpenGL ES 3.1 – Bringing Compute to Mobile Graphics

Despite being only a bump in the minor revision of the API, OpenGL ES 3.1 was an enormous milestone for the API, as it added the ability to do general purpose compute in the API, bringing compute to mobile graphics.

OpenGL ES 3.0 – Enhanced Graphics

OpenGL ES 3.0 was another evolutionary step for OpenGL ES, notably including multiple render targets, additional texturing capabilities, uniform buffers, instancing and transform feedback.

OpenGL ES 2.0 – Programmable Shading

OpenGL ES 2.0 was the first portable mobile graphics API to expose programmable shaders in the then latest generation of graphics hardware. It remains a prevalent API today, and still is the most widely available 3D graphics API, and remains a solid choice to target the widest range of devices in the market.

OpenGL ES 1.X – Fixed Function Graphics

OpenGL ES 1.0 and 1.1 were the first portable mobile graphics APIs, defined relative to the OpenGL 1.5 specification, providing fixed function graphics acceleration

 

您在所有發行版中所有硬體架構下所有區域里,指定關鍵字 libgl1-mesa-dri 在套件名稱中搜尋的結果。 找到 5 個匹配的套件。

完整匹配

套件 libgl1-mesa-dri

  • wheezy (oldoldstable) (libs): free implementation of the OpenGL API — DRI modules
    8.0.5-4+deb7u2: amd64 armel armhf i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 s390x sparc
  • jessie (oldstable) (libs): free implementation of the OpenGL API — DRI modules
    10.3.2-1+deb8u1: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
  • jessie-backports (libs): free implementation of the OpenGL API — DRI modules
    13.0.6-1~bpo8+1: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
  • stretch (stable) (libs): free implementation of the OpenGL API — DRI modules
    13.0.6-1+b2: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • buster (testing) (libs): free implementation of the OpenGL API — DRI modules
    17.2.3-1: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
  • sid (unstable) (libs): free implementation of the OpenGL API — DRI modules
    17.2.4-1: alpha amd64 arm64 armel armhf hppa i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sparc64 x32
    13.0.6-1: hurd-i386
    12.0.4-2: kfreebsd-amd64 kfreebsd-i386
    11.2.2-1 [debports]: sh4
  • experimental (rc-buggy) (libs): free implementation of the OpenGL API — DRI modules
    17.3.0~rc2-1: amd64 arm64 armel armhf hppa i386 m68k mips powerpc ppc64 ppc64el s390x sparc64

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《六之 D 》

新舊交接時期終究事多,樹莓派論壇有人談起︰

Mesa driver much slower on Stretch than on Jessie

RichardRussell

Sat Aug 26, 2017 4:32 pm

Running ‘glxgears -info’ on Raspbian Jessie is reporting around 180 frames-per-second rendering speed but the same on Stretch is reporting only about 45 FPS, or a quarter of the speed! This is on the same hardware (a Raspberry Pi 3 with HDMI output), in both cases with the ‘experimental’ VC4 GL Driver disabled.

Another oddity is that when running on Jessie the gears are blue, red and green but on Stretch they’re white, yellow and cyan! I suppose this could be a deliberate change but it seems suspicious. The Mesa versions are reporting as 13.0.0 and 13.0.6 respectively.

Can anybody suggest what’s going on here? When it’s possible to enable the ‘experimental’ GL Driver there’s no noticeable difference in performance, but when it’s disabled Stretch can be unusably slow when Jessie was acceptable.

Richard.

 

驗之,真的也︰

 

 

 

pi@raspberrypi:~ glxinfo | grep -i opengl libGL error: failed to open drm device: No such file or directory libGL error: failed to load driver: i965 OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.9, 128 bits) OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 13.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: pi@raspberrypi:~

 

GitHub 上有人建議︰

OpenGL performance reduced on Raspbian Stretch #79

XECDesign commented on Sep 4

After a bit of testing, it does look like this is an issue which affects software OpenGL rendering in general, not just glxgears. However, the change of behaviour comes from upstream Debian packages and software opengl rendering is not something we’ve ever touched or claimed to support. I would recommend enabling vc4 fkms in raspi-config for proper OpenGL support.

 

證之,果然矣︰

 

 

 

pi@raspberrypi:~ glxinfo | grep -i opengl libGL error: failed to authenticate magic 3 libGL error: failed to load driver: i965 OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.9, 128 bits) OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.0.6 OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 13.0.6 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 13.0.6 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: pi@raspberrypi:~

 

然而目前樹莓派 G1 GL

 

還很挑 HDMI 顯示器才開機哩!故置疑焉?

 

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《六之 C.2 》

幸而一會兒 pip3 安裝回復了正常?【※ 果真網路因素耶??】得以安裝 ColorPy 驗證測試︰

pi@raspberrypi:~ ipython3 --pylab Python 3.5.3 (default, Jan 19 2017, 14:11:04)  Type "copyright", "credits" or "license" for more information.  IPython 5.1.0 -- An enhanced Interactive Python. ?         -> Introduction and overview of IPython's features. %quickref -> Quick reference. help      -> Python's own help system. object?   -> Details about 'object', use 'object??' for extra details. Using matplotlib backend: TkAgg  In [1]: import colorpy.plots  In [2]: colorpy.plots.visible_spectrum_plot () Saving plot VisibleSpectrum  In [3]: colorpy.plots.cie_matching_functions_plot() Saving plot CIEXYZ_Matching  In [4]: 鯊魚翅 = colorpy.plots.shark_fin_plot () Saving plot ChromaticityDiagram </pre> <img class="alignnone size-full wp-image-77798" src="http://www.freesandal.org/wp-content/uploads/VisibleSpectrum.png" alt="" width="640" height="480" />  <img class="alignnone size-full wp-image-77799" src="http://www.freesandal.org/wp-content/uploads/CIEXYZ_Matching.png" alt="" width="640" height="480" />  <img class="alignnone size-full wp-image-77800" src="http://www.freesandal.org/wp-content/uploads/ChromaticityDiagram.png" alt="" width="640" height="480" />     <span style="color: #666699;">結果沒發現有什麼色彩問題也!後詳讀</span>  <span style="color: #ff9900;">edid-decode edid.dat</span>  <span style="color: #666699;">解碼內容︰</span>  <span style="color: #808080;">CEA extension block</span> <span style="color: #808080;"> Extension version: 3</span> <span style="color: #808080;"> 37 bytes of CEA data</span> <span style="color: #808080;"> Video data block</span> <span style="color: #808080;"> VIC 16 1920x1080@60Hz (native)</span> <span style="color: #808080;"> VIC 5 1920x1080i@60Hz</span> <span style="color: #808080;"> VIC 4 1280x720@60Hz</span> <span style="color: #808080;"> VIC 3 720x480@60Hz</span> <span style="color: #808080;"> VIC 2 720x480@60Hz</span> <span style="color: #808080;"> VIC 7 1440x480i@60Hz</span> <span style="color: #808080;"> VIC 22 1440x576i@50Hz</span> <span style="color: #808080;"> VIC 1 640x480@60Hz</span> <span style="color: #808080;"> VIC 31 1920x1080@50Hz</span> <span style="color: #808080;"> VIC 18 720x576@50Hz</span> <span style="color: #808080;"> VIC 19 1280x720@50Hz</span> <span style="color: #808080;"> VIC 20 1920x1080i@50Hz</span> <span style="color: #808080;"> VIC 32 1920x1080@24Hz</span> <span style="color: #808080;"> VIC 21 1440x576i@50Hz</span> <span style="color: #808080;"> VIC 17 720x576@50Hz</span> <span style="color: #808080;"> VIC 6 1440x480i@60Hz</span> <span style="color: #808080;"> Audio data block</span> <span style="color: #808080;"> Linear PCM, max channels 2</span> <span style="color: #808080;"> Supported sample rates (kHz): 48 44.1 32</span> <span style="color: #808080;"> Supported sample sizes (bits): 24 20 16</span> <span style="color: #808080;"> Vendor-specific data block, OUI 000c03 (HDMI)</span> <span style="color: #808080;"> Source physical address 1.0.0.0</span> <span style="color: #808080;"> DC_36bit</span> <span style="color: #808080;"> DC_30bit</span> <span style="color: #808080;"> DC_Y444</span> <span style="color: #808080;"> Maximum TMDS clock: 225MHz</span> <span style="color: #808080;"> Speaker allocation data block</span> <span style="color: #808080;"> Speaker map: FL/FR</span> <span style="color: #ff9900;"> Extended tag: Colorimetry data block</span> <span style="color: #ff9900;"> xvYCC601</span> <span style="color: #ff9900;"> xvYCC709</span>     <span style="color: #666699;">原來還滿高級的呢!!</span> <h1 id="firstHeading" class="firstHeading" lang="en"><span style="color: #ff9900;"><a style="color: #ff9900;" href="https://en.wikipedia.org/wiki/XvYCC">xvYCC</a></span></h1> <img class="alignnone size-full wp-image-77807" src="http://www.freesandal.org/wp-content/uploads/220px-XvColor_Final.svg.png" alt="" width="220" height="50" />  <span style="color: #808080;"><b>xvYCC</b> or Extended-<a style="color: #808080;" title="Gamut" href="https://en.wikipedia.org/wiki/Gamut">gamut</a> <a style="color: #808080;" title="YCbCr" href="https://en.wikipedia.org/wiki/YCbCr">YCC</a> (also <b>x.v.Color</b>) is a <a style="color: #808080;" title="Color space" href="https://en.wikipedia.org/wiki/Color_space">color space</a> that can be used in the <a style="color: #808080;" title="Video" href="https://en.wikipedia.org/wiki/Video">video</a> electronics of television sets to support a <a style="color: #808080;" title="Gamut" href="https://en.wikipedia.org/wiki/Gamut">gamut</a> 1.8 times as large as that of the <a class="mw-redirect" style="color: #808080;" title="SRGB color space" href="https://en.wikipedia.org/wiki/SRGB_color_space">sRGB color space</a>.<sup id="cite_ref-1" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-1">[1]</a></sup> xvYCC was proposed by <a style="color: #808080;" title="Sony" href="https://en.wikipedia.org/wiki/Sony">Sony</a>,<sup id="cite_ref-SonyGlobal_2-0" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup> specified by the <a style="color: #808080;" title="International Electrotechnical Commission" href="https://en.wikipedia.org/wiki/International_Electrotechnical_Commission">IEC</a> in October 2005 and published in January 2006 as <a class="mw-redirect" style="color: #808080;" title="List of IEC standards" href="https://en.wikipedia.org/wiki/List_of_IEC_standards">IEC 61966-2-4</a>.</span>  <span style="color: #808080;">xvYCC was motivated by the fact that modern display and capture technologies often have underlying <a class="mw-redirect" style="color: #808080;" title="RGB" href="https://en.wikipedia.org/wiki/RGB">RGB</a> primaries with significantly higher saturation than the traditional <a style="color: #808080;" title="Cathode ray tube" href="https://en.wikipedia.org/wiki/Cathode_ray_tube">CRT</a> displays, allowing them to handle a wider color gamut. But these devices have been unable to do this without upsetting basic calibration, as all existing video storage and transmission systems are based on CRT primaries, and are hence limited to the CRT gamut.<sup id="cite_ref-3" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-3">[3]</a></sup></span>  <span style="color: #808080;">xvYCC-encoded video retains the same color primaries and white point as <a style="color: #808080;" title="Rec. 709" href="https://en.wikipedia.org/wiki/Rec._709">BT.709</a>, and uses either a <a class="mw-redirect" style="color: #808080;" title="BT.601" href="https://en.wikipedia.org/wiki/BT.601">BT.601</a> or BT.709 RGB-to-YCC conversion matrix and encoding.<sup id="cite_ref-SonyGlobal_2-1" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup> This allows it to travel through existing digital YCC data paths, and any colors within the normal gamut will be compatible.<sup id="cite_ref-SonyGlobal_2-2" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup></span>  <span style="color: #808080;">The xvYCC color space permits YCC values that, while within the encoding range of YCC, have chroma values outside the range 16-240, or that correspond to negative RGB values, and hence would not have previously been valid.<sup id="cite_ref-SonyGlobal_2-3" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup> These are used to encode more saturated colors.<sup id="cite_ref-SonyGlobal_2-4" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup> For example, a cyan that lies outside the basic gamut of the primaries can be encoded as "green plus blue minus red".<sup id="cite_ref-SonyGlobal_2-5" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup></span>  <span style="color: #808080;">These extra-gamut colors can then be displayed by a device whose underlying technology is not limited by the standard primaries.<sup id="cite_ref-SonyGlobal_2-6" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyGlobal-2">[2]</a></sup></span>  <span style="color: #808080;">In a paper published by <a style="color: #808080;" title="Society for Information Display" href="https://en.wikipedia.org/wiki/Society_for_Information_Display">Society for Information Display</a> in 2006, the authors mapped the 769 colors in the <a style="color: #808080;" title="Munsell color system" href="https://en.wikipedia.org/wiki/Munsell_color_system">Munsell Color Cascade</a> to the BT.709 space and to the xvYCC space. 55% of the Munsell colors could be mapped to the sRGB <a style="color: #808080;" title="Gamut" href="https://en.wikipedia.org/wiki/Gamut">gamut</a>, but 100% of those colors could map to the xvYCC gamut.<sup id="cite_ref-4" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-4">[4]</a></sup> Deeper hues can be created - for example a deeper red by giving the opposing color (cyan) a negative coefficient.</span>  <span style="color: #808080;">A mechanism for signaling xvYCC support and transmitting the gamut boundary definition for xvYCC has been defined in the <a style="color: #808080;" title="HDMI" href="https://en.wikipedia.org/wiki/HDMI">HDMI</a> 1.3 Specification. No new mechanism is required for transmitting the xvYCC data itself, as it is compatible with HDMI's existing <a style="color: #808080;" title="YCbCr" href="https://en.wikipedia.org/wiki/YCbCr">YCbCr</a> formats, but the display needs to signal its readiness to accept the extra-gamut xvYCC values, and the source needs to signal the actual gamut in use to help the display to intelligently adapt extreme colors to its own gamut limitations.</span>  <span style="color: #808080;">This should not be confused with HDMI 1.3's other new color feature, <a class="mw-redirect" style="color: #808080;" title="Deep color" href="https://en.wikipedia.org/wiki/Deep_color">deep color</a>. This is a separate feature that increases the precision of brightness and color information, and is independent of xvYCC.</span>  <span style="color: #808080;">xvYCC is not supported by <a style="color: #808080;" title="DVD-Video" href="https://en.wikipedia.org/wiki/DVD-Video">DVD-Video</a> but is supported by the high-definition recording format <a style="color: #808080;" title="AVCHD" href="https://en.wikipedia.org/wiki/AVCHD">AVCHD</a> and <a style="color: #808080;" title="PlayStation 3" href="https://en.wikipedia.org/wiki/PlayStation_3">PlayStation 3</a>.</span>  <span style="color: #808080;">On January 7, 2013, Sony announced that it would release "Mastered in 4K" <a class="mw-redirect" style="color: #808080;" title="Blu-ray Disc" href="https://en.wikipedia.org/wiki/Blu-ray_Disc">Blu-ray Disc</a> titles which are sourced at 4K and encoded at <a style="color: #808080;" title="1080p" href="https://en.wikipedia.org/wiki/1080p">1080p</a>.<sup id="cite_ref-SonyMastered4K2013JanuaryEngadget_5-0" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyMastered4K2013JanuaryEngadget-5">[5]</a></sup> "Mastered in 4K" Blu-ray Disc titles can be played on existing Blu-ray Disc players and will support a larger color space using xvYCC.<sup id="cite_ref-SonyMastered4K2013JanuaryEngadget_5-1" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyMastered4K2013JanuaryEngadget-5">[5]</a></sup><sup id="cite_ref-SonyMastered4K2013MayCNET_6-0" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyMastered4K2013MayCNET-6">[6]</a></sup></span>  <span style="color: #808080;">On May 30, 2013, Eye IO announced that their encoding technology was licensed by <a class="mw-redirect" style="color: #808080;" title="Sony Pictures Entertainment" href="https://en.wikipedia.org/wiki/Sony_Pictures_Entertainment">Sony Pictures Entertainment</a> to deliver 4K Ultra HD video.<sup id="cite_ref-SonyEyeIOMay2013EyeIO_7-0" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyEyeIOMay2013EyeIO-7">[7]</a></sup><sup id="cite_ref-SonyEyeIOMay2013Variety_8-0" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyEyeIOMay2013Variety-8">[8]</a></sup> Eye IO encodes their video assets at 3840 x 2160 and includes support for the xvYCC color space.<sup id="cite_ref-SonyEyeIOMay2013EyeIO_7-1" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyEyeIOMay2013EyeIO-7">[7]</a></sup><sup id="cite_ref-SonyEyeIOMay2013Variety_8-1" class="reference"><a style="color: #808080;" href="https://en.wikipedia.org/wiki/XvYCC#cite_note-SonyEyeIOMay2013Variety-8">[8]</a></sup></span>     <span style="color: #666699;">其實樹莓派 PIXEL 桌面並沒用<a style="color: #666699;" href="https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=80394">色彩管理</a>程式</span> <pre class="lang:default decode:true">pi@raspberrypi:~ xprop -display :0.0 -len 14 -root _ICC_PROFILE
_ICC_PROFILE:  no such atom on any window.
pi@raspberrypi:~ </pre>    <span style="color: #666699;">。有興趣者或可從</span>  <span style="font-size: 18pt; color: #666699;"><a style="color: #666699;" href="https://github.com/agalakhov/xiccd">xiccd</a></span>  <span style="color: #808080;">xiccd is a simple bridge between colord and X. It does the following tasks:</span>  <span style="color: #808080;">* Enumerates displays and register them in colord;</span> <span style="color: #808080;"> * Creates default ICC profiles based on EDID data;</span> <span style="color: #808080;"> * Applies ICC profiles provided by colord;</span> <span style="color: #808080;"> * Maintains user's private ICC storage directory.</span>  <span style="color: #808080;">It does basically the same as gnome-settings-daemon color plugin or colord-kde</span> <span style="color: #808080;">but does not depend on any particular desktop. It even doesn't depend on GTK so</span> <span style="color: #808080;">it doesn't create useless GTK3 dependency if the desktop environment is GTK2-based</span> <span style="color: #808080;">or vice versa. The primary goal of xiccd is providing color profile support for</span> <span style="color: #808080;">desktop environments other than Gnome and KDE (Xfce, LXDE and probably others) that</span> <span style="color: #808080;">do not support native color management yet. It is however not meant to be excuse </span><span style="color: #808080;">of not adding native color management to the session daemons of them.</span>  <span style="color: #808080;">xiccd is distributed under the terms of GNU General Public License version 3 or later.</span>  <span style="color: #666699;"> </span>  <span style="color: #666699;">入手︰</span> <pre class="lang:default decode:true">pi@raspberrypi:~ apt-cache search xiccd
xiccd - X color management daemon
pi@raspberrypi:~ $

 

且玩玩 xcalib 哩◎

XCALIB(1) xcalib XCALIB(1)

NAME
xcalib – Tiny monitor calibration loader for Xorg.

SYNOPSIS
xcalib [-options] ICCPROFILE

DESCRIPTION
xcalib loads ‘vcgt’-tag of ICC profiles to the X-server using the XVid‐
Mode Extension in order to calibrate your display.

OPTIONS
-d, -display <host:dpy>

-s, -screen <screen-#>

-c, -clear

-n, -noaction

-v, -verbose

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《六之 C.1 》

因 9VA-pi 選單

 

之灰階對比令人疑惑︰

想要理解什麼是『灰色』其實並不容易!?

Grey

Grey (British English) or gray (American English;[citation needed] see spelling differences) is an intermediate color between black and white. It is a neutral or achromatic color, meaning literally that it is a color “without color.”[2] This means that there are equal components of red, green, and blue. The variations in intensity of these colors uniformly produce different shades of grey. It is the color of a cloud-covered sky, of ash and of lead.[3]

The first recorded use of grey as a color name in the English language was in AD 700.[4] Grey is the dominant spelling in European and Commonwealth English, although gray remained in common usage in the UK until the second half of the 20th century.[5] Gray has been the preferred American spelling since approximately 1825,[6] although grey is an accepted variant.[7][8]

In Europe and the United States, surveys show that grey is the color most commonly associated with neutrality, conformity, boredom, uncertainty, old age, indifference, and modesty. Only one percent of respondents chose it as their favorite color.[9]

 

因為『純灰』指稱沒有『色相』 HUE 之『顏色』也◎

─ 摘自《GoPiGo 小汽車︰格點圖像算術《色彩空間》灰階‧乙

 

知其恐非以 sRGB 為預設︰

edidparser edid.dat

Enabling fuzzy format match…
Parsing edid.dat…
HDMI:EDID version 1.3, 1 extensions, screen size 70×39 cm
HDMI:EDID features – videodef 0x80 standby suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF

 

故想安裝

Mark Kness 先生寫作『顏色派』

ColorPy

Physical color calculations in Python.

More documentation is currently at http://markkness.net/colorpy/ColorPy.html.


A taste of the plots that ColorPy can create: RGB values for the pure spectral lines.

Version 0.1.1. Changes from 0.1.0: Various things I did on my local machine. A better shark fin plot, for example. Now on GitHub!

Version 0.1.0. I had this hosted at http://markkness.net (and still do) but GitHub is a better place for it now.

這時仍喜派生二 Python2 。簡單準備環境後︰

sudo pip install scipy
sudo pip3 install scipy

sudo pip install numpy
sudo pip3 install numpy

sudo apt-get install python-matplotlib python3-matplotlib
sudo apt-get install python-zmq python3-zmq

sudo apt-get install ipython ipython3

─── 摘自《GoPiGo 小汽車︰格點圖像算術《彩色世界》【顏色ABC】二

 

驗證與查核後,看如何在 Raspbian Stretch 裡產合宜的

ICC profile

In color management, an ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium (ICC). Profiles describe the color attributes of a particular device or viewing requirement by defining a mapping between the device source or target color space and a profile connection space (PCS). This PCS is either CIELAB (L*a*b*) or CIEXYZ. Mappings may be specified using tables, to which interpolation is applied, or through a series of parameters for transformations.

Every device that captures or displays color can be profiled. Some manufacturers provide profiles for their products, and there are several products that allow an end-user to generate his or her own color profiles, typically through the use of a tristimulus colorimeter or preferably a spectrophotometer.

The ICC defines the format precisely but does not define algorithms or processing details. This means there is room for variation between different applications and systems that work with ICC profiles. Since late 2010, the current version of the specification is 4.3.[1]

ICC has also published a preliminary specification for iccMAX, a next-generation color management architecture with significantly expanded functionality and a choice of colorimetric, spectral or material connection space. Details are at http://www.color.org/iccmax/

 

呦?莫非萬聖奔騰之夜剛過,所以遭遇

pip fails with “TypeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int'” #4779

Closed
jcwren opened this Issue 22 days ago · 3 comments
  • Pip version: python-pip (9.0.1-2+rpt1)
  • Python version: 2.7
  • Operating system: Linux

Description:

pip is trying to install rsa<=3.5.0,>=3.1.2 (from awscli), and randomly fails with this error:
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'. By random, I mean it works about 80% of the time, fails about 20%, and I don’t why it fails.

I don’t speak python, so I think it’s pip that’s failing, and not something in the rsa module as it’s being installed.

 

事件耶??谷歌後發現當時半信半疑的舊聞

Python PIP Install throws TypeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int’

 Using pip install for any module apparently on my Ubuntu 16.04 system with python 2.7.11+ throws this error:
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

 

。且先用備份系統確認,竟然 OK 哩!!不得已一時岔路乎??