Skip to content
YMK Must be Kidding
Go back

自己做的 terminal 在 LG 螢幕上沒有 login 提示、字又糊糊的,兩次都是螢幕的問題

這篇是叫 Claude 從我的筆記整理出來,事情真的發生過,字是他打的,連語氣也是叫他學我的,我只負責瞄一下的喔。

螢幕上沒東西,先怪螢幕,再怪板子

先講這是什麼東西

我最近在做兩台自己的 terminal。一台叫 tang console,是一塊 FPGA 板子上跑 Linux,HDMI 直接輸出 1080p30 的文字畫面;另一台是 前一篇 那台 pico2w-tang-term,Pico 2 W 加 Tang Nano 20K,720p 輸出。兩台都是接上 HDMI 跟鍵盤就能用的小盒子,很復古,字很大,就是故意的。

工作室的螢幕是 LG 的 32SR83U,就是那種裡面有 webOS、可以自己開 YouTube、比我的板子聰明很多的智慧螢幕。平常也接著 Google TV 的播放器跟一台 PC。這篇要講的就是它,跟它玩了兩次,兩次都輸。

第一次:開機訊息都有,就是沒有 login

tang console 接上去,OpenSBI 的 banner 有、kernel 的 boot log 一行一行刷過去也有,然後畫面就剩下桌布。tang-vex login: 呢?沒有。等了一下,還是沒有。換一台別的螢幕接,提示好好的在那邊,一副「你在找我嗎」的樣子。

好,那就是板子的問題嘛。(不是。)懷疑過 tanglink 這條控制線、懷疑過 SD 卡釋放的時機、懷疑過 flash 的 layout,一個一個查,全都沒有關係。板子很冤,但那時候沒人知道。

答案是 overscan。webOS 看到 1080p30 這種訊號,就當作是電視的影片訊號來處理:「喔,這是電影吧,邊邊要裁一圈才好看」,於是上面切掉兩三行字,左右各切掉十來個字。偏偏 login 的那個小面板就畫在最上面三行,整個被裁光光;boot log 有 54 行,少了上面幾行誰看得出來,所以前面才會一切看起來正常。它不是沒畫 login,它是畫了,然後螢幕幫我收起來了。

修法超簡單,螢幕的選單:圖片 → 畫面比例 → 「點對點掃描」打開。提示就這樣出現了。查板子查了半天,結果是按遙控器喔。遙控器上面沒有 bug,遙控器上面只有按鈕。

順便一提,另一台 4K 螢幕更直接,「input timing not supported」,連門都不開,可是 Pico 2 W 送 1080p30 它就收。差別在我們的 pixel clock 是 75 MHz、一行 2222 個 pixel,跟標準的 74.25 MHz、2200 差了 1%。電腦螢幕覺得差不多就好,電視類的螢幕覺得差 1% 就是陌生人。下一版 bitstream 打算加上 HDMI 的 AVI infoframe,正式跟螢幕自我介紹「我是電腦畫面,不要裁」,再用板上的時脈產生器把 pixel clock 做成剛剛好的 74.25 MHz,大家都是標準人。

第二次:字有時候糊,有時候不糊

幾天後換 pico2w-tang-term 接同一台螢幕,字看起來糊糊的。可是只有有時候糊,一下清楚一下糊,像是螢幕自己有心情。字型是自己做的,第一個反應當然是懷疑字型、懷疑 scaling、懷疑 720p 被放大的時候是不是哪裡算錯了。又是板子先被叫去問話。

後來發現規律了:螢幕上一個 HDMI 輸入如果是 Google TV 播放器,切過來就糊;上一個如果是 PC,切過來就清楚。

所以是螢幕把上一個輸入的畫質處理整組帶過來。看影片用的那些銳利化、降噪、動態補償什麼的,Google TV 用完沒卸妝,直接套在我的文字畫面上,白底黑字被當成 4K 電影在修圖,不糊才怪。跟我們的字型一點關係都沒有,板子第二次被冤枉。

下次怎麼看

  1. 某台螢幕上「沒有提示、只有背景」,別的螢幕正常,先去找 overscan 或「點對點」的選項。
  2. 智慧螢幕跟電視會把非標準的 timing 當影片處理,裁邊、加畫質處理都有可能。能送標準 timing 就送標準的,不要讓它有機會發揮創意。
  3. 字糊糊的但不是每次都糊,先想想上一個輸入是什麼,可能是別人留下來的妝。
  4. 板子真的沒那麼容易壞,遙控器先按一按。

查板子查了半天,答案在遙控器上喔


分享這篇:

Next Post
Pico 2 W 的 Wi-Fi 收不到封包,Claude 猜了六次錯了五次,最後是 bisect 救的