Display available at only one resolution; suspect xorg & drivers are problem.

Hi all,

I’m currently having an issue with xorg drivers for amd, and nvidia (both nouveau and nvidia prop) in a clean install of Leap 15.1. Details below, but short version is: Did clean install; boots okay, all components work, but screen is set at 800x600 resolution (laptop display capable of much better). No options to change it. Tried updating drivers, no luck. Tried installing nvidia proprietary, no luck. I can mess it up worse, but can’t seem to fix.

Details:

Background: I am a decently longtime SuSE user (>10 years), but not deep level user, know very basic terminal commands, can install and update system, manage partitions, use zypper and yast, etc… Brother Penguin was always trouble shooter of family, unfortunately we lost him to cancer recently, so I’m trying to learn and keep using SUSE. My last install was Leap 15.0 on a Lenovo ideapad 330 with AMD Ryzen 5. Went fairly smoothly, found initial graphics trouble that I managed to solve myself by updating kernel and amdgpu drivers. Currently still using machine and is working well.
*
Machine:* Asus FX505 laptop, AMD Ryzen 7 with integrated gpu, and nVidia GTX1650. (other details seem irrelevant to this problem, but available if needed)

Install: Leap 15.1 downloaded 05 June 2019, clean. (All functions seem to be working quite well, network connectivity, etc.)

Problem(s): Upon boot, the display has a resolution of 800x600. It is not possible to change this in the display manager gui. Output of xrandr does not list other modes for display. Adding a mode manually to xrandr does not work.
Also, occasionally the display flashes ‘No External Display’. Not often, but about same as when it would dim.
Also, display does not dim or go to screensaver/lock screen.

*What I’ve tried: *
-Wiping disks, clean install of Leap 15.0. No help.
-Install of Leap 15.0 and nVidia graphics drivers. No help.
-Install of Leap 15.0 and update all open source drivers and kernel. No help.
-Install of Leap 15.0 and nVidia graphics drivers and suse-prime (to use ‘optimus’ settings). No help.
-(All of above with Leap 15.1). No help.

I’ve been using Yast and/or Zypper to install all the drivers. (varying combinations, have been at this for several days)

Current state:
Leap 15.1 clean install, nothing tried yet.

What I suspect:
Consulting the Xorg.0.log upon initial boot we have the following which seem relevant:

Loads defaults, automatically enables and ads devices, and so on.

First warning:

(WW) The directory "usr/share/fonts/misc/sgi" does not exist. 

loading fonts, modules and so on, then:

 (WW) Ignoring unrecognized extension "XFree860DGA" 

loads some modules then it matches: ati as autocfiged driver 0, modesetting as autoconfiged driver 1, fbdev as autoconfig driver 2, vesa as autoconfig driver 3. ((NOTE, seems odd that despite nouveau installed, doesn’t match at all. Also amdgpu))
loads more modules

First errors are after that:

 (EE) open /dev/dri/card0: No such file or directory
(WW) Falling back to old probe method for modesetting
(EE) open /dev/dri/card0: No such file or director 

in response it loads the sub module “fbdevhw”

Then we have a new error:

 (EE) Unable to find a valid framebuffer device 
(WW) Falling back to old probe method for fbdev 

loads submodule again,

Finally our last two errors:

 (EE) Screen 0 deleted because of no matching config section.
(II) UnloadModule: "modesetting"
(EE) Screen 0 deleted because of no matching config section. 

After this, FBDEV configures the screen, and then we seem to be out of the relevant lines.

The only Errors in the entire Xorg log are those listed above.

So, I suspect the problem is somewhere in here. First of all, Xorg doesn’t seem to load installed drivers here. Possibly this is because of the missing /dev/dri/?

Advice is appreciated.

Thanks for your time,
SisPenguin

It really is not an optimus (Intel+NVIDIA)

I doubt that NVIDA driver helps since it replaces the mesa stack with it’s own code and that breaks other graphic architectures

Maybe you can turn off one or the other GPU in the BIOS.

The low res is due to fallback drives/

Sorry have never heard of this configuration before

Key to enabling X to work properly (if not using proprietary NVidia drivers) is to not disable KMS. I wrote a whole SDB page about nomodeset, which is often required to succeed in installing, but blocks competent X in completed installations.

I googled Asus FX505 and found specs very different from your description. Please install (ancient) inxi rpm or (current) script from source, and provide here using code tags input and output output from Konsole or Xterm or Gnome-terminal or equivalent X environment:

# inxi -GxxSMC

Trying to separate useful information from irrelevance in Xorg.0.log can be quite vexing. Rather than collecting only error messages from it you should upload it for our perusal. Please upload it to susepaste.org or pastebin.com or equivalent and post link to it here. Please only upload a version of it that does not disable KMS. The susepaste command sometimes works as it should to possibly make uploading such large files easier. It’s been obstinate lately.

Sometimes video problems like you are having can be worked around by disabling or removing Plymouth. I keep it uninstalled on all my PCs.

Thanks all for your suggestions:

In response to mrmazda:
I’m sorry, I should have been more specific: the computer is an ASUS FX505DT (specifications pre-addition of RAM and SSHD here: https://www.asus.com/Laptops/ASUS-TUF-Gaming-FX505DD-DT-DU/specifications/)

return of inxi:

 System:    Host: Margay Kernel: 4.12.14-lp151.28.4-default x86_64 bits: 64 gcc: 7.4.0
           Desktop: KDE Plasma 5.12.8 (Qt 5.9.7) dm: sddm,sddm
           Distro: openSUSE Leap 15.1
Machine:   Device: laptop System: ASUSTeK product: TUF Gaming FX505DT_FX505DT v: 1.0 serial: N/A
           Mobo: ASUSTeK model: FX505DT v: 1.0 serial: N/A
           UEFI: American Megatrends v: FX505DT.301 date: 04/01/2019
CPU:       Quad core AMD Ryzen 7 3750H with Radeon Vega Mobile Gfx (-HT-MCP-) 
           arch: Zen rev.1 cache: 2048 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm) bmips: 18364
           clock speeds: min/max: 1400/2300 MHz 1: 1400 MHz 2: 1400 MHz 3: 1400 MHz
           4: 1400 MHz 5: 1400 MHz 6: 1400 MHz 7: 1400 MHz 8: 1400 MHz
Graphics:  Card-1: NVIDIA Device 1f91 bus-ID: 01:00.0 chip-ID: 10de:1f91
           Card-2: Advanced Micro Devices [AMD/ATI] Device 15d8
           bus-ID: 05:00.0 chip-ID: 1002:15d8
           Display Server: x11 (X.Org 1.20.3 )
           drivers: fbdev,ati (unloaded: modesetting,vesa,radeon)
           Resolution: 800x600@75.00hz
           OpenGL: renderer: llvmpipe (LLVM 7.0, 128 bits)
           version: 3.3 Mesa 18.3.2 (compat-v: 3.1) Direct Render: Yes 

Xorg.0.log here: https://pastebin.com/2eF7EP4K (susepaste.org seemed to not be working)

Tried disabling Plymouth; no change.
Tried all options on the SDB nomodeset page, no change.
I did not need to use nomodeset when installing; Leap 15.1 and 15.0 installed at expected resolution, but upon booting the clean install, we have this problem.
To the best of my knowledge I am trying not to disable KMS. There is no ‘nomodeset’ included in any of the bootloader lines and I did not add it at any point. Xorg unloads modesetting, vesa, radeon on it’s own and I don’t know how to stop this.

Again, thanks for your help and advice all.

That log is another copy of inxi ouput, not Xorg.0.log. :frowning:

Let me try that again. Too many things to copy and paste…tsk tsk.

https://pastebin.com/xYen6Edx

Thanks so much for helping me try to figure this out.

In other news, updates.

Fascinatingly, we can get 1920x1080 by loading the boot menu from the BIOS. However, if we do that, we’re stuck at it and can’t change the resolution.

Cheers,
SisPenguin

Okay, so I’ve gotten somewhere:

Being somewhat dumb, I didn’t think to upgrade the kernel beyond 4.19 (what worked for the last Ryzen I installed openSUSE on) though I did that right away. Turns out, the H series Ryzens aren’t supported until 5.0 and higher. So upgrading kernel to the stable version from 5.1.8 has solved the problem, sort of.
Basically, now the AMD gpu runs perfectly using the amdgpu driver which is awesome! We can change screen resolution, and have a blast doing it.

Still though, now it doesn’t load nouveau or nvidia drivers at all. I’ve tried both, but no luck there. So, kinda weird. And perhaps weirder, to me:

xrandr --listproviders gives:

 Providers: number : 1
Provider 0: id: 0x54; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 4; outputs: 1; associated providers: 0; name: Unknown AMD Radeon GPU @ pci:0000:05:00.0
    output eDP 

So, it no longer knows that the nvidia card is there? (I swear I didn’t take it out. . .)

Question: Is the nouveau driver that’s packed with Leap 15.1 built for 4.12 kernel? If so, is there one (maybe in Tumbleweed repo?) built for 5.1? Thoughts on whether or not that would help out here?

Thanks again for all your advice and help!
Cheers,
SisPenguin

As gogalthorp suggested, you have a quite uncommon hardware configuration, one none here are likely to have experience with. You may indeed need to change a BIOS setting to enable either NVidia GPU alone or both NVidia GPU in tandem with AMD APU. That Asus URL seems to say only the NVidia GPU should be in use.

Nouveau has multiple meanings. One is a kernel driver that provides video modesetting (KMS), which is either enabled (default) or not. Not is usually via cmdline option or blacklisting. Nouveau is also the name of a DDX driver (for X), dependent on KMS being enabled. Second, the Nouveau DDX is an optional driver provided by the package xf86-video-nouveau. The default DDX applicable to all major brand GPUs (Intel, AMD, NVidia) is named modesetting, which is provided by X rather than a separate package. The modesetting DDX should support either of your graphics devices, or both, if they are both old enough for any support. Your NVidia GPU might be too new, or the combination Windows supports is not yet supported in any X and kernel combination.

To show what is happening now you should upload a newer Xorg.0.log running the 5.1.x kernel with X in an appropriate screen resolution. Chances are the amdgpu DDX is in charge, possibly blocking the NV GPU.

Hi
So what do you want to use the Nvidia GPU for that can’t be provided by the Vega GPU?

Is it present from the output of;


/sbin/lspci -nnk | egrep -A3 "VGA|Display|3D"

More updates:

So, it’s not quite working correctly.
In regards to what I want to do that the Vega can’t seem to do. Nothing, except allow programs to change the resolution on start. That being the primary problem right now, due to some weird piece of this configuration, software seems to not be allowed to reset the resolution on it’s own. i.e. I can’t launch something that wants to run 800x600 while the screen is set to 1920x1080, without manually resetting res first.
Otherwise, graphics rendering, etc. I’m a research mathematician and I do a lot of modeling and rather intense computing at times; I’d kind of like to free the memory by using the nVidia gpu, also for 3D modeling, etc. As I said, this isn’t unusable by any means, and it is mostly fixed by the kernel update, but it’s now more about optimal performance for taxing circumstances than ‘it doesn’t work’.

Did a bit more work recompiling kmps and yes, the nVidia card is seen by inxi, and lspci. The xrandr weirdness is caused by below:

Talking with one of the developers at nVidia we have learned some things:
It is an Optimus configuration, so I can’t shut off a GPU in the BIOS. The solution is going to involve a bit of rewrite in suse-prime to get it to switch drivers appropriately. We’ll start working on this today (dev and self) and tomorrow.

I’ll post outputs of logs in a bit, after I get through with my research meetings today.

I can keep you all informed here if you like.

Moral of the story to date:
-If anyone is using AMD Ryzen 5, 7 series processors in a laptop, and has video card problems, suggest updating to the 5.1 kernel; should get amdgpu to work.
-If anyone else comes up with this type of insane config, it’s probably a pseudo-optimius configuration and will need the suse-prime udate.
-You guys are awesome about helping out!

Thanks so much!
SisPenguin