- @david
Attached my tinypilot (v2.6.1) to a ubuntu host (22.04 LTS), boots to 640x480 - persists across reboot of host and tinypilot.
$ sudo get-edid | sudo parse-edid
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No byte reading on this bus...
Problem requesting slave address: Bad file descriptor
1 potential busses found: 3
256-byte EDID successfully retrieved from i2c bus 3
Looks like i2c was successful. Have a good day.
Checksum Correct
Section "Monitor"
Identifier "TinyPilot"
ModelName "TinyPilot"
VendorName "TSB"
# Monitor Manufactured week 45 of 2020
# EDID version 1.3
# Digital Display
# Display Physical Size not given. Normal for projectors.
Gamma 2.20
Option "DPMS" "false"
Horizsync 18-80
VertRefresh 24-90
# Maximum pixel clock is 160MHz
#Not giving standard mode: 1280x720, 60Hz
#Not giving standard mode: 1280x960, 60Hz
#Not giving standard mode: 1280x800, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1600x900, 60Hz
#Not giving standard mode: 1280x960, 60Hz
#Not giving standard mode: 1024x768, 60Hz
#Extension block found. Parsing...
#WARNING: I may have missed a mode (CEA mode 60)
#WARNING: I may have missed a mode (CEA mode 61)
#WARNING: I may have missed a mode (CEA mode 62)
Modeline "Mode 2" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
Modeline "Mode 0" 79.75 1920 1976 2168 2416 1080 1083 1088 1102 +hsync +vsync
Modeline "Mode 1" 115.00 1920 1968 2000 2080 1080 1083 1088 1106 +hsync +vsync
Modeline "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 4" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 5" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
Modeline "Mode 6" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 7" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 8" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 9" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Option "PreferredMode" "Mode 2"
EndSection
$ sudo lshw | grep -A5 graphics
*-graphics
product: VESA VGA
physical id: 1
logical name: /dev/fb0
capabilities: fb
configuration: depth=32 resolution=640,480
For completeness, from the tinypilot -- though I haven't touched it here:
$ cat /home/ustreamer/edids/tc358743-edid.hex
00ffffffffffff005262769800888888
2d1e0103800000781aee91a3544c9926
0f50547fef8081c08140810081809500
a9c081406140271f80f07138164038c0
350000000000001eec2c80a070381a40
3020350000000000001e000000fc0054
696e7950696c6f740a202020000000fd
00185a125010000a20202020202001aa
02031ef14b010204131f2021223c3d3e
2309070766030c00300080e2007f0000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000000000000000000000000008e
Linked from:
- David @david2023-12-04 15:00:48.030Z
Hi @crognlie, I'm sorry you're experiencing this resolution issue.
Thanks for all of those details! Your EDID looks correct, so your TinyPilot should prefer 1080p from your target machine. I think there may be a different issue here.
Can you share a TinyPilot log for me to review? On your TinyPilot web interface, go to System > Logs and click Get Shareable URL. Then paste the link in your reply.
Are you using an adapter here (like VGA to HDMI)? Or are you just using an HDMI cable to connect your TinyPilot to your display output?
- David @david2023-12-05 11:31:23.823Z
Thanks for sharing those logs, @crognlie!
Those logs suggest your TinyPilot requested (and is receiving) 1920x1080 at 30Hz.
Could you share a screenshot of the issue?
You also mentioned that this is at boot - does the issue resolve itself once your target machine has booted?
- David @david2023-12-06 12:43:16.401Z
Thanks for the screenshot! It looks like your target machine is rendering a 640x480 image and then scaling it to 1920x1080 to output to your TinyPilot. That would also explain why the text is stretched.
It looks like you're using Ubuntu Server here. I did a test with an Ubuntu Server VM (following the instructions in this YouTube video) and I think you'll need to update your grub file to change the render resolution. It doesn't look like you can get the command line to output at 1920x1080 (at least in my test), so I used 1280x1024 here.
I'd recommend following the YouTube guide I linked, but here's what I did:
On your target machine, edit
/etc/default/grub
(I'd recommend backing up the file):sudo nano /etc/default/grub
Change the
GRUB_CMDLINE_LINUX_DEFAULT=""
line to:GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
Then, at the bottom of the file, add this line:
GRUB_GFXPAYLOAD_LINUX=1280x1024
Save the file, and run
update-grub
:sudo update-grub
And reboot.
If those changes improve your render resolution, but the display is still stretched at 1080p, I can send you a new EDID for your TinyPilot to prefer 1280x1024 as the default resolution.
I hope that helps! Please let me know if you have any questions.
Thanks @david. I'm not sure if there's anything that can be done on the tinypilot side to have better resolutions show up to VESA (such that the default
GRUB_GFXPAYLOAD=auto
) would find the larger 4:3 modes, but my issue is solved with:GRUB_GFXMODE=1920x1080,1280x1024,800x600,640x480,auto
I very much appreciate the time you spent on this. Thanks so much!
- David @david2023-12-07 11:24:54.334Z
You're welcome! I'm happy the CLI is more usable now.
I'm not sure if there's anything that can be done on the tinypilot side to have better resolutions show up to VESA
I don't know if there is. TinyPilot uses its EDID to communicate its display capabilities and preferences to target machines, so there's nothing else TinyPilot can do here as far as I know. Your target machine seemed to output a 1920x1080p signal the whole time - the problem was with the image rendering.
I don't know how
GRUB_GFXMODE
orGRUB_GFXPAYLOAD
handleauto
here, but that behavior would probably point to the underlying issue.