You are not logged in.
Hey everyone, this is my first post here, although I have been using Arch Linux for nearly a year at this point.
MPV doesn't seem to follow the --geometry setting when I use it in a framebuffer, with drm.
This is the command that I use:
mpv -vo=drm --geometry=800x600 video.webm
What I expect:
The video plays in 800x600 resolution in the tty.
What actually happens:
The video plays in fullscreen, no matter what settings I use.
MPV log file: https://0x0.st/0Zdn.json
Any help would be greatly appreciated.
Last edited by Rockingcool (2022-03-16 22:09:23)
Offline
I believe that link you posted to the logfile is broken somehow. What's showing up there for me appears to be an lldb backtrace (that includes 0Zdn.json in the file which is what clued me in to something being off).
All the best,
-HG
Offline
I fetched the file using wget, and it seems to work for me. But you're right, visiting the web page does show an error. As I said, it's my first time posting here, so if I'm doing something wrong regarding the pastebin, please let me know.
Last edited by Rockingcool (2022-03-16 01:51:33)
Offline
What I expect:
The video plays in 800x600 resolution in the tty.
Even if so.
mpv --vf=scale=800:-2You are not displaying it on the tty.
For tty you would have to like this.
mpv --vo=tctOffline
You are not displaying it on the tty.
For tty you would have to like this.mpv --vo=tct
I apologize for the unclear wording. I meant the framebuffer, using the drm output. Not exactly the tty itself. Using
mpv -vo=drmthe video is outputted to the framebuffer, but it's in fullscreen.
Last edited by Rockingcool (2022-03-16 02:25:00)
Offline
Your framebuffer is not a window, the geometry option is a hint for window managers. Your framebuffer covers the entirety of your screen, that's the point of it. What you probably want is the
--drm-draw-surface-size=<[WxH]>option, but that will still cover your entire screen.
Last edited by V1del (2022-03-16 02:46:20)
Offline
What you probably want is the
--drm-draw-surface-size=<[WxH]>option, but that will still cover your entire screen.
Thank you for the response. However, this setting does not seem to work for me. It continues to play the video in fullscreen in the same resolution as it used to.
I also remember seeing a reddit thread about someone who used mplayer to play a video in a corner of his screen. Is that possible with MPV?
Offline
There are no windows in the framebuffer (only in directfb). Your "window" is fullscreen. In the case of running the program on frambuffer, it is not possible to use something else at the same time. You must exit the given application to be able to use the console on the tty3 (example). The more the one available underneath from which you launched mpv will not be available at the same time, except for this mpv control.
Once upon a time, I used to put the mplayer image displayed in the right place with the expand filter. I don't know if it still works in mpv.
mplayer -vo fbdev2 -vf scale=800:-2,expand=0:-32:0:0https://man.archlinux.org/man/mplayer.1 … x:y:o:a:r_
Last edited by latalante1 (2022-03-16 07:15:29)
Offline
--drm-draw-surface-size=<[WxH]>
Sets the size of the surface used on the draw plane. The surface will then be upscaled to the current screen resolution. This option can be useful when used together with the drmprime-drm hwdec interop at high resolutions, as it allows scaling the draw plane (which in this case only handles the OSD) down to a size the GPU can handle.
When used without the drmprime-drm hwdec interop this option will just cause the video to get rendered at a different resolution and then scaled to screen size.Note: this option is only available with DRM atomic support. (default: display resolution)
I think mplayer's fbdev/2 backend/s can/could do that, https://archlinux.org/packages/extra/x86_64/mplayer/
Edit: fuck.
Last edited by seth (2022-03-16 07:15:11)
Offline
Ah I remembered. Under mplayer it was possible to display video with framebuffer output without buffering. So then under certain circumstances, the console could be partially visible. I used this in the days of 3DFx Banshee in a computer (maybe around 2003).
mplayer -vo fbdev -nodoubleOffline
I also remember seeing a reddit thread about someone who used mplayer to play a video in a corner of his screen.
Settings for FHD monitor: bottom right corner of the screen, 550px 'window' width.
mplayer -vo fbdev2 -geometry 1350:860 -xy 550- vo sets the output (fbdev or fbdev2)
- geometry sets the starting point (top left corner) of the 'window'
- width sets the 'window width', height is calculated to keep aspect ratio
AFAIK mpv takes the whole screen as an output since forever.
Offline
OK, so this can only be done with mplayer, not mpv. Thank you, I will mark this as solved now.
Offline