You are not logged in.

#1 2017-06-01 01:21:14

ralph_13
Member
Registered: 2015-02-06
Posts: 73

[SOLVED] uvesafb cannot reserve video memory

Hey, I know this is covered in the wiki, but the advice did not help me at all, maybe I'm doing something wrong.

-Installed uvesafb
-"$ grep vga /proc/cmdline" and "$ grep -ir vga /etc/modprobe.d/" never returned any results
-only thing in /etc/modprobe.d is a file to change sound cards' load order for alsa
-commented line in grub config
-generated config file
-added mkinitcpio hook
-$ mkinitcpio -p linux
-reboot
-error mentioned in topic title
-added kernel parameters mentioned in the wiki
-reboot
-error persists

$ cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-linux root=UUID=531c6d69-a891-48be-859b-090686668ef0 rw quiet splash video=vesa:off vga=normal

Not sure if relevant, but the uvesafb resolutions list mentioned is missing:

$ ls /sys/bus/platform/drivers/uvesafb
bind  module  uevent  unbind  v86d

I did not edit "/usr/lib/modprobe.d/uvesafb.conf", but the file does exist and looks fine. Thanks in advance for any help.

edit: My video driver is ATI/Radeon, GPU: AMD/ATI Wrestler [Radeon HD 7290]

Last edited by ralph_13 (2017-10-19 03:32:28)

Offline

#2 2017-06-03 00:23:13

ralph_13
Member
Registered: 2015-02-06
Posts: 73

Re: [SOLVED] uvesafb cannot reserve video memory

Just making sure, my /proc/cmdline is set up right, right? Also, looking at the boot log, the memory uvesafb requests is the first one to be reserved, presumably by vesa. I thought about 'misplacing' vesa's files then chrooting into the system from the install usb and changing it back if I end up without a framebuffer at all. Is it worth to give that a try, or will I screw up my system?

Offline

#3 2017-06-03 06:57:24

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,874

Re: [SOLVED] uvesafb cannot reserve video memory

I'd worry about the "splash" parameter. Did you try adding "pci=nocrs"?

Offline

#4 2017-06-06 05:02:04

ralph_13
Member
Registered: 2015-02-06
Posts: 73

Re: [SOLVED] uvesafb cannot reserve video memory

I just added "splash" and "quiet" to see what they did, I removed them after my original post. Tried "pci=nocrs", no effect. I found a possible solution on this thread, it mentions pre-allocating the memory offset (in my case, starting at 0xb0000000). I grepped system in dmesg to find the start/end, but no mention of the memory specified in my error. So, I did:

$ dmesg | grep 0xb0000000
[    0.336995] pci 0000:00:01.0: reg 0x10: [mem 0xb0000000-0xbfffffff pref]
[    0.940415] efifb: framebuffer at 0xb0000000, using 3072k, total 3072k
[    1.114971] uvesafb: cannot reserve video memory at 0xb0000000

The plot thickens: I have no idea what "efifb" means or if it's at all safe to disable it (sounds to me like something boot related? But then again it does mention the framebuffer, maybe it's just a stupid codename for vesa? Couldn't find anything at all on google or locate). Also, what's the point of pre-allocating memory if not specifically to uvesafb, won't "efifb" reserve it anyway? Somewhere I can read more about this in specific?

Offline

#5 2017-06-06 07:03:51

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,874

Re: [SOLVED] uvesafb cannot reserve video memory

The UEFI framebuffer, try

BOOT_IMAGE=/vmlinuz-linux root=UUID=531c6d69-a891-48be-859b-090686668ef0 rw quiet splash video=efifb

without uvesafb and whether that suffices for you...

Offline

#6 2017-06-06 17:52:00

ralph_13
Member
Registered: 2015-02-06
Posts: 73

Re: [SOLVED] uvesafb cannot reserve video memory

Sorry for not mentioning this before, but the only reason I'm trying to load uvesafb is to change the framebuffer resolution, something that's implied in the wiki not to be possible with the default drivers. I was able to load it with video=efifb:off, but as soon as it's loaded and the resolution changes (during boot) the screen turns (and stays) black. I'd be totally okay with other ways of changing the resolution without uvesafb, will look further into that. Also, why is efifb not documented at all, anywhere? Since it's the one loaded even with the default configs, I'm assuming it replaces vesa as the framebuffer driver for all machines booting through UEFI? I think we should talk about it in the wiki.

Offline

#7 2017-06-06 18:43:12

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 78,874

Re: [SOLVED] uvesafb cannot reserve video memory

Can you "video=uvesafb"?

Also, why is efifb not documented at all, anywhere?

Epic UEFI conspiration? *shrug* (ie. idk, sorry)

Offline

#8 2017-10-16 20:33:23

ralph_13
Member
Registered: 2015-02-06
Posts: 73

Re: [SOLVED] uvesafb cannot reserve video memory

Okay, so I came back to this issue after a while and managed to get past the black screen and see the log. Just for clarification, I did video=uvesafb from the start, but it didn't work because efifb got to the memory first. So I did video=efifb:off, and it does load uvesafb.

With the default driver, the boot starts at a lower resolution, then halfway through it switches to the native 1366x768 and resumes booting normally. With uvesafb, right after GRUB it's already at 1366x768, then at the point where the default driver would change resolution, the screen goes black, comes back with the same resolution, then immediately goes black again and stays that way.

I suspected that the tty was working fine even though there was no video output, so I entered my login and password (I don't have a display manager) and started X "in the dark". It did start up and I could get the log. I now believe that uvesafb simply is not compatible with my graphics card, even though the wiki states it should support as much hardware as the default driver. Anyway, here's the relevant part of the log concerning the gpu:

[   13.488121] [drm] radeon kernel modesetting enabled.
[   13.858885] radeon 0000:00:01.0: VRAM: 384M 0x0000000000000000 - 0x0000000017FFFFFF (384M used)
[   13.858893] radeon 0000:00:01.0: GTT: 1024M 0x0000000018000000 - 0x0000000057FFFFFF
[   13.862741] [drm] radeon: 384M of VRAM memory ready
[   13.862747] [drm] radeon: 1024M of GTT memory ready.
[   14.206352] [drm] radeon: dpm initialized
[   14.270724] radeon 0000:00:01.0: WB enabled
[   14.270733] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000018000c00 and cpu addr 0xffff9367df037c00
[   14.270739] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000018000c0c and cpu addr 0xffff9367df037c0c
[   14.271253] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffb87bc2032118
[   14.271264] radeon 0000:00:01.0: radeon: MSI limited to 32-bit
[   14.271364] radeon 0000:00:01.0: radeon: using MSI.
[   14.271425] [drm] radeon: irq initialized.
[   15.339406] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   16.431126] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   17.495255] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   18.525490] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   19.549487] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   20.590173] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   21.614354] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   22.638425] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   23.662310] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   24.686246] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, trying to reset the VCPU!!!
[   24.709661] [drm:uvd_v1_0_start [radeon]] *ERROR* UVD not responding, giving up!!!
[   24.732935] radeon 0000:00:01.0: failed initializing UVD (-1).
[   25.756906] [drm:r600_ib_test [radeon]] *ERROR* radeon: fence wait timed out.
[   25.761045] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on GFX ring (-110).
[   25.765155] [drm:radeon_device_init [radeon]] *ERROR* ib ring test failed (-110).
[   25.830072] [drm] radeon atom DIG backlight initialized
[   26.273240] fbcon: radeondrmfb (fb1) is primary device
[   29.107230] radeon 0000:00:01.0: fb1: radeondrmfb frame buffer device
[   29.121237] [drm] Initialized radeon 2.50.0 20080528 for 0000:00:01.0 on minor 0 

I can't really make so much sense of that, sorry. Also:

[    1.087774] uvesafb: 
[    1.133918] uvesafb: VBIOS/hardware supports DDC2 transfers
[    1.135966] uvesafb: monitor limits: vf = 60 Hz, hf = 47 kHz, clk = 69 MHz
[    1.136349] uvesafb: scrolling: redraw
[    1.275686] uvesafb: mode switch failed (eax=0x34f, err=0). Trying again with default timings.
[    1.438563] uvesafb: mode switch failed (eax=0x34f, err=0). Trying again with default timings.
[    1.615106] uvesafb: framebuffer at 0xb0000000, mapped to 0xffffb87bc1000000, using 8448k, total 16384k
[   15.334853] uvesafb: mode switch failed (eax=0x34f, err=0). Trying again with default timings.
[   25.770336] [drm] parse error at position 6 in video mode 'uvesafb'
[   25.770500] [drm] parse error at position 6 in video mode 'uvesafb'
[   25.770622] [drm] parse error at position 6 in video mode 'uvesafb' 

For the record, what I'm trying to do is use the tty with a lower resolution so I can play console cataclysm-dda with an 8x8 font. I'd just use a terminal emulator in X so I can scale the font, but it just runs too slow, the framebuffer terminal runs it perfectly. Anyway, I'd be really thankful if someone with more experience could take a look at the log. I can also post the full log if  By the way, the same thing happens no matter what resolution I set in uvesafb's options, or if I don't set one at all. I can also post the full log, but I don't believe there's anything else of interest.

Edit: Is radeondrmfb radeon's framebuffer driver? If so, that means there are at least 4 drivers for the framebuffer installed in my machine: vesa, efifb, uvesafb and radeondrmfb? Since half of them don't seem to have their existence acknowledged anywhere at all, this is getting really confusing.

By the way, does anyone know any 16x16 console (psfu) fonts? That would also be okay, at least for now.

Edit2: Seems like radeondrmfb is radeon's module for the fb, also what makes the resolution change to 1366x768 with the default driver. After some research, I'm led to believe that uvesafb IS NOT COMPATIBLE with drm drivers. That's why the screen goes black after the radeon modules are loaded. Still, I could be wrong. Maybe if I could just use vesa and tell the radeon drivers I want a different resolution for the fb, but how?

Last edited by ralph_13 (2017-10-16 22:08:12)

Offline

#9 2017-10-19 03:27:52

ralph_13
Member
Registered: 2015-02-06
Posts: 73

Re: [SOLVED] uvesafb cannot reserve video memory

Solution, at least for radeon users:

1. Set your resolution through KMS. I just set a kernel parameter such as "video=800x600".
2. Specify the resolution you want in X in .xinitrc.

Offline

Board footer

Powered by FluxBB