【鼎革‧革鼎】︰ Raspbian Stretch 《四‧五下》

於是藉著

edidparser edid.dat

Enabling fuzzy format match…
Parsing edid.dat…
HDMI:EDID version 1.4, 0 extensions, screen size 22×14 cm
HDMI:EDID features – videodef 0x90 !standby !suspend !active off; colour encoding:RGB444; sRGB is not default colourspace; preferred format is native; support discrete frame rate
HDMI:EDID found monitor ascii descriptor tag 0xfe
HDMI:EDID ignored unknown descriptor tag 0x0
HDMI:EDID does not yet know monitor vertical range, setting to default 24 to 120Hz
HDMI:EDID failed to find a matching detail format for 1280x800p hfp:64 hs:48 hbp:124 vfp:5 vs:7 vbp:12 pixel clock:75 MHz
HDMI:EDID calculated refresh rate is 60 Hz
HDMI:EDID guessing the format to be 1280x800p @60 Hz
HDMI:EDID found preferred DMT detail timing format: 1280x800p @ 60 Hz (27)
HDMI:EDID failed to find a matching detail format for 1280x800p hfp:1023 hs:1023 hbp:-1918 vfp:63 vs:63 vbp:-104 pixel clock:46 MHz
HDMI:EDID calculated refresh rate is 40 Hz
HDMI:EDID guessing the format to be 1280x800p @30 Hz
HDMI:EDID found unknown detail timing format: 1280x800p hfp:1023 hs:1023 hbp:-1918 vfp:63 vs:63 vbp:-104 pixel clock:46 MHz
HDMI:EDID established timing I/II bytes are 00 00 00
HDMI:EDID standard timings block x 8: 0x0101 0101 0101 0101 0101 0101 0101 0101
HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
HDMI:EDID best score mode initialised to DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 36864)
HDMI:EDID best score mode is now DMT (27) 1280x800p @ 60 Hz with pixel clock 71 MHz (score 5184320)
HDMI:EDID preferred mode remained as DMT (27) 1280x800p @ 60 Hz with pixel clock 71 MHz
HDMI:EDID has only DVI support and no audio support
edid_parser exited with code 0

 

以及

edid-decode edid.dat

Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 30 e4 45 03 00 00 00 00 00 15
version: 01 04
basic params: 90 16 0e 78 02
chroma info: e8 87 96 5a 55 95 28 22 51 55
established: 00 00 00
standard: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
descriptor 1: 4c 1d 00 ec 50 20 18 30 40 30 57 00 d9 88 00 00 00 1b
descriptor 2: 16 12 00 80 50 20 16 30 ff ff ff ff ff ff ff ff 00 1b
descriptor 3: 00 00 00 fe 00 43 33 47 52 4e 80 31 30 31 57 58 31 0a
descriptor 4: 00 00 00 00 00 00 41 32 a8 00 00 00 00 01 01 0a 20 20
extensions: 00
checksum: 9a

Manufacturer: LGD Model 345 Serial Number 0
Made week 0 of 2011
EDID version: 1.4
Digital display
6 bits per primary color channel
Digital interface is not defined
Maximum image size: 22 cm x 14 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing is preferred timing
Established timings supported:
Standard timings supported:
Detailed mode: Clock 75.000 MHz, 217 mm x 136 mm
1280 1344 1392 1516 hborder 0
800 805 812 824 vborder 0
+hsync -vsync
Detailed mode: Clock 46.300 MHz, 4095 mm x 4095 mm
1280 2303 3326 1408 hborder 255
800 863 926 822 vborder 0
+hsync -vsync
ASCII string: C3GRN
Manufacturer-specified data, tag 0
Checksum: 0x9a (valid)
EDID block does NOT conform to EDID 1.3!
Missing name descriptor
Missing monitor ranges
Detailed block string not properly terminated

 

拼湊出產生了這個測試模式︰

hdmi_timings=1280 1 64 48 124 800 0 5 7 12 0 0 1 60 0 75000000 5

 

且依據

Specifying hdmi_group=1 in config.txt prevents later use of hdmi_timings #792

Please can the ability to modify HDMI timings on the fly (i.e. without having to carry out a reboot) be added to the firmware drivers #637

 

文本的精神,復作動態之驗證︰

pi@raspberrypi:~ vcgencmd hdmi_timings 1280 1 64 48 124 800 0 5 7 12 0 0 1 60 0 75000000 5 hdmi_timings=1280 1 64 48 124 800 0 5 7 12 0 0 1 60 0 75000000 5 pi@raspberrypi:~ tvservice -e "DMT 87"
Powering on HDMI with explicit settings (DMT mode 87)
pi@raspberrypi:~ fbset -depth 8 && fbset -depth 16</pre>   <pre class="lang:default decode:true ">pi@raspberrypi:~ vcgencmd measure_clock pixel
frequency(29)=75000000
pi@raspberrypi:~ $

 

因黑屏事件,偶而發現在 X Window 系統中,需要

Ctrl + Alt + F1

Ctrl + Alt + F7

重啟該顯示器也。

方法既已知,其餘者或不必多講的吧◎

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《四‧五上》

科學的樂趣是什麼呢?是發現自然的奧秘?或與神奇相逢嗎?還是知道控制世界的辦法?…… 也許有人只是好奇真理的模樣哩!說起 W!o+ 的快樂有點與眾不同︰『除錯』。

1280px-Nighthawks_by_Edward_Hopper_1942

愛德華‧霍普  夜遊者

 

一時心裡想著 Mrphs 曾經講過的話︰

W!o+ 小時候,許多快樂時光都在『除錯』中度過。他認為即使說『科南‧道爾』當『偵探』,未必然能是個『好偵探』。雖然大家以為他既能創造『大偵探』福爾摩斯, 又怎會自己不是的呢?因為一個作者早知道『結局』,掌握所有『線索』,過程常常不過是『故布疑陣』,迷惑讀者而已。這可與『真偵探』的遭遇大不相同 ,未能『先知』,就不能『神奇』!文章固然膾炙人口,要談深得三昧卻未必然的吧!!所以『寫程式』、『讀程式』、『測程式』 ……者 ,『錯誤』無論來自『何方』『何時』…… 都是良師益友,都要認真對待。此『不速之客』的『偶然』『錯誤』,往往恰恰是『利涉大川』者之『必然』『所需』。

【※作者註】

需:有孚,光亨,貞吉。 利涉大川。

彖曰:需,須也﹔險在前也。 剛健而不陷,其義不困窮矣。 需有孚,光亨,貞吉。 位乎天位,以正中也。 利涉大川,往有功也。

象曰:云上於天,需﹔君子以飲食宴樂。

初九:需于郊。 利用恆,無咎。
象曰:需于郊,不犯難行也。 利用恆,無咎﹔未失常也。

九二:需于沙。 小有言,終吉。
象曰:需于沙,衍在中也。 雖小有言,以終吉也。

九三:需于泥,致寇至。
象曰:需于泥,災在外也。 自我致寇,敬慎不敗也。

六四:需于血,出自穴。
象曰:需于血,順以聽也。

九五:需于酒食,貞吉。
象曰:酒食貞吉,以中正也。

上六:入于穴,有不速之客三人來,敬之終吉。
象曰:不速之客來,敬之終吉。 雖不當位,未大失也。

─── 摘自《W!o+ 的《小伶鼬工坊演義》︰ 一窺全豹之系統設計《葫蘆》

 

一位想找出事物之『bug』,然後『de-bug』者,該歸之何類耶?

論語‧雍也

子曰:知之者不如好之者,好之者不如樂之者。

『觀物』將成為『系統』,進而可作『實驗』乎!

─── 《樹莓派 0W 狂想曲︰ 觀物怡情《𝄡》

 

假使想要客製 HDMI 模式,進入樹莓派 『hdmi_timings』的天地,首先得面對雜散之論壇文章︰

Re: HOWTO: Create Custom HDMI modes

Sat Sep 10, 2016 4:48 pm

Anyone know what the units are supposed to be for the custom HDMI timings?

 

知道它的格式︰hdmi_timings=

<h_active_pixels> = horizontal pixels (width)
<h_sync_polarity> = invert hsync polarity
<h_front_porch> = horizontal forward padding from DE acitve edge
<h_sync_pulse> = hsync pulse width in pixel clocks
<h_back_porch> = vertical back padding from DE active edge
<v_active_lines> = vertical pixels height (lines)
<v_sync_polarity> = invert vsync polarity
<v_front_porch> = vertical forward padding from DE active edge
<v_sync_pulse> = vsync pulse width in pixel clocks
<v_back_porch> = vertical back padding from DE active edge
<v_sync_offset_a> = leave at zero
<v_sync_offset_b> = leave at zero
<pixel_rep> = leave at zero
<frame_rate> = screen refresh rate in Hz
<interlaced> = leave at zero
<pixel_freq> = clock frequency (width*height*framerate)
<aspect_ratio> = *

 

明白特定參數意指︰

The aspect ratio is:

HDMI_ASPECT_4_3 = 1
HDMI_ASPECT_14_9 = 2
HDMI_ASPECT_16_9 = 3
HDMI_ASPECT_5_4 = 4
HDMI_ASPECT_16_10 = 5
HDMI_ASPECT_15_9 = 6
HDMI_ASPECT_21_9 = 7
HDMI_ASPECT_64_27 = 8

 

更重要的是深入了解『EDID』是什麼︰

Extended Display Identification Data

Extended Display Identification Data (EDID) is a data structure provided by a digital display to describe its capabilities to a video source (e.g. graphics card or set-top box). It is what enables a modern personal computer to know what kinds of monitors are connected to it. EDID is defined by a standard published by the Video Electronics Standards Association (VESA). The EDID includes manufacturer name and serial number, product type, phosphor or filter type, timings supported by the display, display size, luminance data and (for digital displays only) pixel mapping data.

EDID structure versions range from v1.0 to v1.4; all these define upwards-compatible 128-byte structures. EDID structure v2.0 defined a new 256-byte structure, but subsequently has been deprecated and replaced by v1.3.[citation needed] HDMI versions 1.0–1.3c use EDID structure v1.3.[1]

DisplayID is a standard targeted to replace EDID and E-EDID extensions with a uniform format suited for both PC monitor and consumer electronics devices.

 

然後善用工具也。

‧ tvservice -d edid.dat

可以擷取目前顯示器的 EDID ,配合 /boot/config.txt 之

#hdmi_force_hotplug=1
#hdmi_edid_file=1

能夠不接螢幕開機進入 X Window 系統。

固然依文件說明,自己手動解碼亦可!

00000000   00 FF FF FF  FF FF FF 00  30 E4 45 03  00 00 00 00  ........0.E.....
00000010   00 15 01 04  90 16 0E 78  02 E8 87 96  5A 55 95 28  .......x....ZU.(
00000020   22 51 55 00  00 00 01 01  01 01 01 01  01 01 01 01  "QU.............
00000030   01 01 01 01  01 01 4C 1D  00 EC 50 20  18 30 40 30  ......L...P .0@0
00000040   57 00 D9 88  00 00 00 1B  16 12 00 80  50 20 16 30  W...........P .0
00000050   FF FF FF FF  FF FF FF FF  00 1B 00 00  00 FE 00 43  ...............C
00000060   33 47 52 4E  80 31 30 31  57 58 31 0A  00 00 00 00  3GRN.101WX1.....
00000070   00 00 41 32  A8 00 00 00  00 01 01 0A  20 20 00 9A  ..A2........  ..

 

不如使用工具乎?

‧ edidparser edid.dat

Enabling fuzzy format match...
Parsing edid.dat...
HDMI:EDID version 1.4, 0 extensions, screen size 22x14 cm
HDMI:EDID features - videodef 0x90 !standby !suspend !active off; colour encoding:RGB444; sRGB is not default colourspace; preferred format is native; support discrete frame rate
HDMI:EDID found monitor ascii descriptor tag 0xfe
HDMI:EDID ignored unknown descriptor tag 0x0
HDMI:EDID does not yet know monitor vertical range, setting to default 24 to 120Hz
HDMI:EDID failed to find a matching detail format for 1280x800p hfp:64 hs:48 hbp:124 vfp:5 vs:7 vbp:12 pixel clock:75 MHz
HDMI:EDID calculated refresh rate is 60 Hz
HDMI:EDID guessing the format to be 1280x800p @60 Hz
HDMI:EDID found preferred DMT detail timing format: 1280x800p @ 60 Hz (27)
HDMI:EDID failed to find a matching detail format for 1280x800p hfp:1023 hs:1023 hbp:-1918 vfp:63 vs:63 vbp:-104 pixel clock:46 MHz
HDMI:EDID calculated refresh rate is 40 Hz
HDMI:EDID guessing the format to be 1280x800p @30 Hz
HDMI:EDID found unknown detail timing format: 1280x800p hfp:1023 hs:1023 hbp:-1918 vfp:63 vs:63 vbp:-104 pixel clock:46 MHz
HDMI:EDID established timing I/II bytes are 00 00 00
HDMI:EDID standard timings block x 8: 0x0101 0101 0101 0101 0101 0101 0101 0101 
HDMI:EDID adding mandatory support for DMT (4) 640x480p @ 60Hz
HDMI:EDID filtering formats with pixel clock > 162 MHz or h. blanking > 1023
HDMI:EDID best score mode initialised to DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now DMT (4) 640x480p @ 60 Hz with pixel clock 25 MHz (score 36864)
HDMI:EDID best score mode is now DMT (27) 1280x800p @ 60 Hz with pixel clock 71 MHz (score 5184320)
HDMI:EDID preferred mode remained as DMT (27) 1280x800p @ 60 Hz with pixel clock 71 MHz
HDMI:EDID has only DVI support and no audio support
edid_parser exited with code 0

 

或許最好也知 linux kernel/xrandr

‧ edid-decode edid.dat

edid-decode(1)              General Commands Manual             edid-decode(1)

NAME
       edid-decode - Decode EDID data in human-readable format

SYNOPSIS
       edid-decode [in] [out]

DESCRIPTION
       edid-decode  decodes  EDID  monitor  description data in human-readable
       format.  It takes zero, one, or two  arguments.   If  invoked  with  no
       arguments  it  reads from standard input and writes to standard output.
       With one argument, the file named by  the  argument  is  read  instead.
       With  two  arguments,  normal output is suppressed, and the binary EDID
       blob is written to the file named by the second argument.

       Input files may be raw binaries or ASCII text.  ASCII input is  scanned
       for  hex  dumps;  heuristics  are  included  to  search for hexdumps in
       xrandr(1) property output and Xorg(1) log file formats,  otherwise  the
       data  is  treated as a raw hexdump.  EDID blocks for connected monitors
       can be found in /sys/class/drm/*/edid on modern Linux systems with ker‐
       nel modesetting support.

 

格式耶◎

pi@raspberrypi:~ edid-decode edid.dat Extracted contents: header:          00 ff ff ff ff ff ff 00 serial number:   30 e4 45 03 00 00 00 00 00 15 version:         01 04 basic params:    90 16 0e 78 02 chroma info:     e8 87 96 5a 55 95 28 22 51 55 established:     00 00 00 standard:        01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 descriptor 1:    4c 1d 00 ec 50 20 18 30 40 30 57 00 d9 88 00 00 00 1b descriptor 2:    16 12 00 80 50 20 16 30 ff ff ff ff ff ff ff ff 00 1b descriptor 3:    00 00 00 fe 00 43 33 47 52 4e 80 31 30 31 57 58 31 0a descriptor 4:    00 00 00 00 00 00 41 32 a8 00 00 00 00 01 01 0a 20 20 extensions:      00 checksum:        9a  Manufacturer: LGD Model 345 Serial Number 0 Made week 0 of 2011 EDID version: 1.4 Digital display 6 bits per primary color channel Digital interface is not defined Maximum image size: 22 cm x 14 cm Gamma: 2.20 Supported color formats: RGB 4:4:4 First detailed timing is preferred timing Established timings supported: Standard timings supported: Detailed mode: Clock 75.000 MHz, 217 mm x 136 mm                1280 1344 1392 1516 hborder 0                 800  805  812  824 vborder 0                +hsync -vsync  Detailed mode: Clock 46.300 MHz, 4095 mm x 4095 mm                1280 2303 3326 1408 hborder 255                 800  863  926  822 vborder 0                +hsync -vsync  ASCII string: C3GRN Manufacturer-specified data, tag 0 Checksum: 0x9a (valid) EDID block does NOT conform to EDID 1.3! 	Missing name descriptor 	Missing monitor ranges 	Detailed block string not properly terminated pi@raspberrypi:~ 

 

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《四‧四》

承上篇,縱已知 tvservice -m DMT | CEA 回報模式或數值未必可用 ,然其終究也是判定顯示器好壞指標乎?

[1024×600]  之 [640×480]

※ 正常開機,進入 X Window 系統。

 

[1280×800] 的 [640×480]

※ 不能開機直接進入 X Window 環境。啟用終端機模式,無法擷取正確畫面,下圖所顯示之兩段式模擬畫面,實處於同一個螢幕也。

 

故而假借二分逼近法︰

在《λ 運算︰計物數《上》》一文中,我們說到『皮亞諾』 Peano 提出了『自然數』之五條公設的系統。用著『未定義』的『基元』數『零 0』,以及『後繼數』successor 的『概念』,打造了『一階算術』系統,現今稱之為『皮亞諾算術系統』。在《布林代數》文章裡,我們對比了『布林代數』、『集合論』與『邏輯學』之間的『密切關係』。整個『布林代數』是可以建立在一個二元運算『孤虛』 ── Sheffer豎線 | ── 之上。也就是說一個『系統』的『公設化』往往不只一種『選擇』,或許是因為雖然兩個看起來『不同』的『概念』,它們彼此之間的『邏輯關係』卻是『等價的』,所以『甲可以推導出乙』,而且『乙能夠演繹出甲』,在此處,我們僅以與『無窮小』概念的『親疏遠近』編排次序,並不論及何者更為『基本』這樣的判斷。

羅素悖論』在『集合論』的發展史上產生了重大的影響,因此『集合之集合』的構造勢必得『避免矛盾』,『坎特爾』 Cantor  證明了『實數集合』的『元素』是『不可數』的多,這再次引發了如何『列舉』的『難題』,也就是說既然『實數』如果無法『一一指定』,那你又怎麽能夠確定『所說之數』是『存在的』呢?比方說 \bigcap \limits_{0}^{\infty} \ (0, 2^{-n}) = \phi 。所以我們從『言之有物』的觀點,就直接『同意』所謂的『選擇公理』︰一個【集合族】是指由非『空集合\phi 所組成的一個『集合』。『存在』著一種【選擇函數】,它是個定義在某個『集合族X 上的函數,對於這個函數來講,所有在『集合族X 中的『集合元素S,都能夠『選擇f_{choice}(S)  \in S  。也就是說 f_{choice} (S) 可以『指定』某一個 S 中的『元素』 。這裡所說的『同意』之意思就不過是想要在『直觀』中『簡化』討論之事項,比方講像某些『探討』著一條平面上的『封閉曲線』,它到底是不是能夠將『平面』分割成『曲線內』與『曲線外』之兩個部分的此類『議論』。這樣『實數分析』中所謂的『疊套閉區間I_n = [a_n, b_n]
\ a_n < a_{n+1}, b_{n+1} < b_n, \ n=1 \cdots n 的『概念』,就『超實數r^{*} = r \pm \delta x 來講,就是『標準部份函數st(r^{*}) = r ,所以說如果那個 r, \ a_n \leq r \leq b_n, \ |b_n - a_n| \approx 0  的話,一定會有 \bigcap \limits_{1}^{\infty} I_n \neq \phi = r ,也就是說這就『確定』了那個『實數值』。假使我們換個觀點來看 a_nb_n 都各自構成一個了『單調』之『上升』以及『單調』之『下降』的『序列』,而且 |b_n - a_n| \approx 0 ,那麼難到不該 a_{\infty} = b_{\infty} = r 的嗎?如果說自然界之『物理量』總是來自於『度量』,因此那兩個稱作『柯西序列』 Cauchy sequence 的 a_n, b_n 的『序列』,它們所『代表』的就是『量測』的『極限分析』的啊!假使用『超整數』與『巨量H, K 可敘述為 st (a_H-b_K)= 0 。假使設想著對於『可列舉』之物,至少可以說在『無窮遠』處之時﹐『那些‧哪些』的物將會是距離『這麼‧這麼』之『無窮近』的吧?然而對於『不可列舉』之物,我們真的還能夠講述著『某個‧某個』的『什麼』的嗎?因為說不定它還框陷在『難計』的『侑限』裡,你又怎麽可能得到『遠近』之『結論』的呢??或許這就是『有理數』的『可數性』很適合用來『建構』那種『不可數性』的吧!!

250px-Axiom_of_choice.svg
選擇公理 axiom of choice

350px-Banach-Tarski_Paradox.svg
分球怪論

250px-Paradoxical_decomposition_F2.svg
巴拿赫-塔斯基定理
Banach–Tarski paradox

400px-Illustration_nested_intervals.svg
疊套區間

250px-Cauchy_sequence_illustration.svg
柯西序列

250px-Cauchy_sequence_illustration2.svg
非柯西序列

700px-PerpendicularBisector.svg

1280px-Algebraicszoom

threekindnumber

── 摘自《【Sonic π】電路學之補充《四》無窮小算術‧下下‧上

 

驗證 raspbian stretch 版本始末,說此恐將失敗,最後成功者耶◎

pi@raspberrypi:~ tvservice -s state 0x120006 [DVI DMT (27) RGB full 16:10], 1280x800 @ 60.00Hz, progressive pi@raspberrypi:~ tvservice -m DMT
Group DMT has 2 modes:
           mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive 
  (prefer) mode 27: 1280x800 @ 60Hz 16:10, clock:71MHz progressive 
pi@raspberrypi:~ tvservice -m CEA Group CEA has 0 modes: pi@raspberrypi:~ 

 

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《四‧三》

什麼是『人工智慧AI Artificial Intelligence 呢?『人工』意味著人為的,它不是天生的,設想萬年前的人將如何區分現今的『人造物』或『自然物』呢?人能定義什麼是『人造物』嗎?反過來說人能定義何謂『自然物』的嗎?至於『智慧』一詞就更難講清的了,不如引用莊子在《莊子‧齊物論》──  文本摘自漢川草廬 ── 的一段議論吧︰

瞿鵲子問乎長梧子曰:「吾聞諸夫子:『聖人不從事於務,不就利,不違害,不喜求,不緣道;無謂有謂,有謂無謂,而遊乎塵垢之外。』夫子以為孟浪之言,而我以為妙道之行也。吾子以為奚若?」

 

長梧子曰:「是黃帝之所聽熒也,而丘也何足以知之!且汝亦大早計,見卵而求時夜,見彈而求鴞炙。予嘗為女妄言之,女以妄聽之奚?旁日月,挾宇宙,為其脗合,置其滑涽,以隸相尊。眾人役役,聖人愚芚,參萬歲而一成純。萬物盡然,而以是相蘊。

 

 

予惡乎知說生之非惑邪?予惡乎知惡死之非弱喪而不知歸者邪?麗之姬,艾封人之子也,晉國之始得之也,涕泣沾襟;及其至於王所,與王同筐床,食芻豢,而後悔其泣也。予惡乎知夫死者不悔其始之蘄生乎?

 

 

夢 飲酒者,旦而哭泣;夢哭泣者,旦而田獵。方其夢也,不知其夢也。夢之中又占其夢焉,覺而後知其夢也。且有大覺而後知此其大夢也,而愚者自以為覺,竊竊然知 之。君乎,牧乎,固哉!丘也與女,皆夢也;予謂女夢,亦夢也。是其言也,其名為弔詭。萬世之後而一遇大聖,知其解者,是旦暮遇之也。

 

 

既 使我與若辯矣,若勝我,我不若勝,若果是也?我果非也邪?我勝若,若不吾勝,我果是也?而果非也邪?其或是也,其或非也邪?其俱是也,其俱非也邪?我與若 不能相知也,則人固受其黮闇,吾誰使正之?使同乎若者正之,既與若同矣,惡能正之?使同乎我者正之,既同乎我矣,惡能正之?使異乎我與若者正之,既異乎我 與若矣,惡能正之?使同乎我與若者正之,既同乎我與若矣,惡能正之?然則我與若與人俱不能相知也,而待彼也邪?

 

 

 

化聲之相待,若其不相待,和之以天倪,因之以曼衍,所以窮年也。何謂和之以天倪?曰:是不是,然不然。是若果是也,則是之異乎不是也,亦無辯;然若果然也,則然之異乎不然也亦無辯。忘年忘義,振於無竟,故寓諸無竟。」

瞿鵲子問長梧子說:「我曾聽孔夫子說過:『聖人不從事俗務,不趨就利益,不躲避危害,不喜求於世,不攀援拘泥於道;沒說話像說了,說了話又像沒說,而遨遊於塵囂之外。』孔夫子認為這是孟浪無稽之言,但我以為這是妙道之行。你認為如何?」

長 梧子說:「這些話黃帝聽了都疑惑,而孔丘如何能夠知道呢!再說你也太操之過急,見到雞蛋就想求有報曉的公雞,見到彈丸就想烤吃鴞鳥。我不妨對你妄言說說聖 人之道,你就姑且聽聽,怎麼樣?聖人是依附日月而在,懷抱著宇宙,和萬物合為一體的,任其是非紛亂不顧,把卑下看作尊貴是沒有貴賤之分的。眾人汲汲碌碌, 聖人愚憨渾沌,揉合萬年歲月而成一精純之體。萬物都是如此的,是互相蘊含精純於其中的。

我如何知道貪生不是迷惑呢?我如何知道怕死不是像幼 兒流落在外而不知回家呢?美人麗姬,是艾地守封疆人的女兒,晉獻公剛得到麗姬時,麗姬哭得衣服都濕透了;等她到了王宮裏,和晉王睡同一張床,吃同樣的美 味,這時才後悔當初不該哭泣。我如何知道死的人不會後悔當初不該戀生呢?

夢見飲酒作樂的人,醒來後可能遇到傷心事而哭泣;夢見傷心哭泣的 人,醒來後可能去享受田獵之樂。當做夢時,不知道那是夢。有時夢中還在做夢,醒來後才知是做夢。且只有大知覺的人才知道人生就是一場大夢,而愚人卻自以為 清醒,自認為什麼都知道。說什麼君貴啊,臣賤啊,真是固陋極了!孔丘與你,都是在做夢;我說你在做夢,也是在做夢。我說的這些話,名稱叫作怪異的言論。如 果萬世後遇到一位大聖人,瞭解這些道理,也如同朝夕碰到一樣平常。

假使我與你辯論,你勝了我,我沒勝你,你果真是對嗎?我果真是錯嗎?我勝 你,你沒勝我,我果真是對嗎?而你果真是錯嗎?是我們有一人是對的,有一人是錯的呢?還是我們兩人都對,或者都錯呢?我和你都不能夠知道,而凡人都有成 見,我找誰來正言呢?假使找個意見和你相同的來評判,他既然意見與你相同,如何還能評判呢?假使找個意見和我相同的來評判,他既已和我意見相同,如何能夠 評判呢?假使找個和你我意見都不同的來評判,他既與你我都不同了,如何能夠評判呢?假使找個意見和你我都相同的來評判,他既然與你我都相同,如何還能評判 呢?那麼我和你和其他人都不能夠知道,還要等待誰來正言呢?

是非之辯是相互對待而成的,如果要使它們不相互對待,要調合於自然的分際,因任 其散漫流衍變化,以悠遊而盡其一生。什麼叫調合於自然的分際?可以這麼說:有是就有不是,有然就有不然。是果真是『是』,那麼就有別於『不是』,也沒什麼 好辯了;然果真是『然』,那麼就有別於『不然』,也沒什麼好辯了。忘掉生死忘掉是非,遨遊於無窮的境域,所以也就能夠寄寓於無窮的境域了。」

─── 《人工智慧!!

 

在仔細閱讀《Video options in config.txt》之後,思量這兩個顯示器也只有解析度差異︰ 1024×600 vs. 1280×800 。

[1024×600]
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0

[1280×800]
max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1280 800 60 6 0 0 0

即使效法陶侃搬磚拆來拔去變更系統亦無妨乎!

結果竟然徒勞無功,一者總是 OK ,另者始終 NG ?

一時想起莊子的『公正人之說』,索性用第三者看看到底是如何耶 ??熟料此二螢幕都顯示正常呦,將如之何哉!!

問題既已回到樹莓派主版上,彷彿與 HDMI Timing 有關哩??且先回顧文本

STICKY: HOWTO: Create Custom HDMI modes

Tue Dec 04, 2012 11:03 pm

We’ve had a steady stream of requests for supporting HDMI modes that aren’t from the official CEA/DMT list of modes.

I’ve implemented CVT:
http://en.wikipedia.org/wiki/Coordinated_Video_Timings
You specify the new mode in config.txt with the following config string:

Code: Select all

hdmi_cvt=<width> <height> <framerate> <aspect> <margins> <interlace> <rb>
width        width in pixels
height       height in pixels
framerate    framerate in Hz
aspect       aspect ratio 1=4:3, 2=14:9, 3=16:9, 4=5:4, 5=16:10, 6=15:9
margins      0=margins disabled, 1=margins enabled
interlace    0=progressive, 1=interlaced
rb           0=normal, 1=reduced blanking

The first three arguments are required. The remaining ones are optional. aspect defaults to 16:9 if not specified.

 

,比對顯示器差異︰

[1024×600]

pi@raspberrypi:~ tvservice -s state 0x12000a [HDMI DMT (87) RGB full 15:9], 1024x600 @ 60.00Hz, progressive pi@raspberrypi:~ tvservice -m DMT
Group DMT has 12 modes:
           mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive 
           mode 5: 640x480 @ 72Hz 4:3, clock:31MHz progressive 
           mode 6: 640x480 @ 75Hz 4:3, clock:31MHz progressive 
           mode 8: 800x600 @ 56Hz 4:3, clock:36MHz progressive 
           mode 9: 800x600 @ 60Hz 4:3, clock:40MHz progressive 
           mode 10: 800x600 @ 72Hz 4:3, clock:50MHz progressive 
           mode 11: 800x600 @ 75Hz 4:3, clock:49MHz progressive 
           mode 16: 1024x768 @ 60Hz 4:3, clock:65MHz progressive 
           mode 17: 1024x768 @ 70Hz 4:3, clock:75MHz progressive 
           mode 18: 1024x768 @ 75Hz 4:3, clock:78MHz progressive 
           mode 36: 1280x1024 @ 75Hz 5:4, clock:135MHz progressive 
  (prefer) mode 87: 1024x600 @ 60Hz 15:9, clock:49MHz progressive 
pi@raspberrypi:~ tvservice -m CEA Group CEA has 15 modes:            mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive             mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive             mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive             mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive             mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced             mode 6: 720x480 @ 60Hz 4:3, clock:27MHz x2 interlaced             mode 7: 720x480 @ 60Hz 16:9, clock:27MHz x2 interlaced    (native) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive             mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive             mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive             mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive             mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced             mode 21: 720x576 @ 50Hz 4:3, clock:27MHz x2 interlaced    (native) mode 22: 720x576 @ 50Hz 16:9, clock:27MHz x2 interlaced             mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive  pi@raspberrypi:~ 

 

[1280×800]

pi@raspberrypi:~ tvservice -s state 0x120006 [DVI DMT (27) RGB full 16:10], 1280x800 @ 60.00Hz, progressive pi@raspberrypi:~ tvservice -m DMT
Group DMT has 2 modes:
           mode 4: 640x480 @ 60Hz 4:3, clock:25MHz progressive 
  (prefer) mode 27: 1280x800 @ 60Hz 16:10, clock:71MHz progressive 
pi@raspberrypi:~ tvservice -m CEA Group CEA has 0 modes: pi@raspberrypi:~

 

故知 1024×600 者之解析度時序相容性大也!!

非常啟始 1280×800 mode 果然很 OK 的ㄚ!!??

 

 

 

 

 

 

 

 

【鼎革‧革鼎】︰ Raspbian Stretch 《四‧二》

為了方便觀察 X Window 啟動錯誤,且先安裝

sudo apt install xserver-xorg-legacy

,修改預設值︰

pi@raspberrypi:~ more /etc/X11/Xwrapper.config  # Xwrapper.config (Debian X Window System server wrapper configuration file) # # This file was generated by the post-installation script of the # xserver-xorg-legacy package using values from the debconf database. # # See the Xwrapper.config(5) manual page for more information. # # This file is automatically updated on upgrades of the xserver-xorg-legacy # package *only* if it has not been modified since the last upgrade of that # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command as root: #   dpkg-reconfigure xserver-xorg-legacy  #allowed_users=console  needs_root_rights=yes allowed_users=anybody pi@raspberrypi:~

 

在確定 lightdm 當下組構後︰

pi@raspberrypi:~ /usr/sbin/lightdm --show-config    [Seat:*] B  greeter-session=pi-greeter B  greeter-hide-users=false A  session-wrapper=/etc/X11/Xsession B  autologin-user=pi  Sources: A  /usr/share/lightdm/lightdm.conf.d/01_debian.conf B  /etc/lightdm/lightdm.conf pi@raspberrypi:~

 

啟動 lightdm.service systemd 服務,果以失敗告終︰

pi@raspberrypi:~ sudo systemctl start lightdm.service pi@raspberrypi:~ sudo systemctl status lightdm.service
● lightdm.service - Light Display Manager
   Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2017-10-20 17:05:45 CST; 2s ago
     Docs: man:lightdm(1)
  Process: 709 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
  Process: 705 ExecStartPre=/bin/sh -c [ "(cat /etc/X11/default-display-manager 2>/dev/null)" = "/us  Main PID: 709 (code=exited, status=1/FAILURE)  10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Main process exited, code=exited, status=1/F 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Unit entered failed state. 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Failed with result 'exit-code'. 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Service hold-off time over, scheduling resta 10月 20 17:05:45 raspberrypi systemd[1]: Stopped Light Display Manager. 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Start request repeated too quickly. 10月 20 17:05:45 raspberrypi systemd[1]: Failed to start Light Display Manager. 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Unit entered failed state. 10月 20 17:05:45 raspberrypi systemd[1]: lightdm.service: Failed with result 'exit-code'. pi@raspberrypi:~

 

為明原因,因此用 xinit 直接執行 X11/Starting Sessions 也。

pi@raspberrypi:~ xinit /usr/bin/startlxde-pi   X.Org X Server 1.19.2 Release Date: 2017-03-02 X Protocol Version 11, Revision 0 Build Operating System: Linux 4.9.41-v7+ armv7l Raspbian Current Operating System: Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=800 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=5ddd5cbb-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait Build Date: 18 October 2017  04:55:30PM xorg-server 2:1.19.2-1+rpt1+deb9u2 (https://www.debian.org/support)  Current version of pixman: 0.34.0 	Before reporting problems, check http://wiki.x.org 	to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, 	(++) from command line, (!!) notice, (II) informational, 	(WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Fri Oct 20 17:06:44 2017 (==) Using system config directory "/usr/share/X11/xorg.conf.d" modprobe: FATAL: Module g2d_23 not found in directory /lib/modules/4.9.41-v7+ xf86TslibControlProc xf86TslibControlProc /usr/lib/xorg/Xorg: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: AddEnabledDevice xinit: giving up xinit: unable to connect to X server: Connection refused xinit: server error pi@raspberrypi:~ 

 

再加上

python3 ~/kivy/examples/demo/pictures/main.py

,運作正常。

 

當真懸疑的很呦!

嘗聞樹莓派論壇曾經有人談起︰

Boot: ‘Failed to start Light Display Manager.’

Tue Feb 23, 2016 12:09 pm

Yesterday I started my RasPi 2 and it booted up normally, but then it shows the text ‘[FAILED] Failed to start Light Display Manager. See “systemctl status lightdm.service” for details.’ The result can be found here:
https://www.dropbox.com/s/e1kaqldzo9hz9 … 9.jpg?dl=0.
‘journalctl -u lightdm’ returns ‘No journal files were found.’.
The internet didn’t help so I hope some of you guys can help me out.

 

那時不以為意,誰知眼前就遇之矣?

竟然換個螢幕就 OK 了呦◎