Xorg and laptops with integrated + discrete graphic card

I read some generic thread in old facebook logik. But I need more precise info.

I’m trying to install the dku on my laptop (with one ryzen with an integrated gpu and one discrete 3070). After install the dku, installing the graphic driver, I get a black screen. Identifying the problem, I can boot in rescue mode an edit the xorg.conf.

I know I have to add the pci id of the 3070 to xorg.conf file. The pci id is 1.00.0. Searching by a pci section, I can found one with "PCI::: " After edit it, according with some info founded, like PCI 1:0:0, it still not working.

The file has also a section for the integrated gpu (pci 6:0:0), but I’m not sure if it’s to disable it.

I could boot in graphic mode disabling (renaming) the xorg.conf so I know that the it is the problem.
No more ideas… Maybe @Jack Horrors?

thanks!!

Does your bios have the option to disable internal GPU?

last time I looked at it with my alikenware and a rtx 1080 mobile this did the trick, never gotten optimus to work :frowning:

nope. I can reboot on windows, choose “performance” mode with the omen app (the laptop is a hp omen 16) , and reboot. Acording with hp info, that disable igpu. but I’m not sure if it’s only for windows. Anyway, I already did that.

If you’re wanting to add a device to your xorg config, the easiest way is to do

nvidia-xconfig -a

This rebuilds your xorg config with to use all GPUs currently connected.
I would recommend backing up and deleting the old xorg.conf so it makes a completely fresh one and seeing if that helps.

Hopefully then you are able to get to a desktop. I’ve never set up a flame laptop but you may also need/want to blacklist the i915 driver?

I just was doing that :sweat_smile: nvidia-xconfig -a returns “unable to determine the number of gpus error.”

lspci command returns:

  • AMD integrated GPU Cezanne (rev4) at pci 6:00:0
  • GPU Geforce RTX 3070 Mobile at pci 1:00:0

(the cpu is a ryzen)

I attach the xorg created by the DKU.

Resumen
Section "ServerLayout"
    Screen          0  "Screen Default 0"     0 0
    Screen          1  "Screen Dummy Dual GPU Screen" Relative "Screen Default 0"  0 0

    Identifier     "XFree86 Configured"
EndSection

Section "Files"
    FontPath     "unix/:7100"
EndSection

Section "Module"
    Load  "glx"        # OpenGL X protocol interface
    Load  "extmod"     # Misc. required extensions
EndSection

Section "ServerFlags"
    Option        "VTSysReq"   "on"
    Option        "DontVTSwitch" "on"
    Option        "DontZoom"   "on"
    Option        "AutoAddDevices" "True"
    Option        "AutoAddGPU"   "false"
EndSection

Section "Extensions"
#    Option       "Composite"     "Disable"
EndSection


Section "InputClass"
    Identifier "Keyboard0"
    MatchIskeyboard "on"
    Option      "XkbModel"  "pc105"
    Option      "XkbCompat" "basic+misc"
    Option      "XkbLayout" "us"
    Option      "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection


Section "InputClass"
    Identifier  "ERASER"
    MatchDriver "wacom"
    MatchProduct "eraser|Eraser|ERASER"
    Option        "Mode" "Absolute"
#    Option      "Rotate" "HALF"
#    Option      "ScreenNo" "0"
#    Option      "TwinView" "horizontal"
EndSection

Section "InputClass"
    Identifier  "cursor"

    MatchDriver "wacom"
    MatchProduct "cursor|Cursor|CURSOR"
#    Option        "Mode" "Absolute"
#    Option      "Rotate" "HALF"
#    Option      "ScreenNo" "0" 
#    Option      "TwinView" "horizontal"
EndSection

Section "InputClass"
    Identifier  "pad"
    
    MatchDriver "wacom"
    MatchProduct "pad|Pad|PAD"
    Option      "Mode" "Absolute"
#    Option      "Rotate" "HALF"
#    Option      "ScreenNo" "0"
#    Option      "TwinView" "horizontal"    
EndSection


Section "InputClass"
    Identifier  "touch"
    
    MatchDriver "wacom"
    MatchProduct "touch|Touch|TOUCH|Finger|finger|FINGER"
#    Option      "Rotate" "HALF"
#    Option      "ScreenNo" "0"
#    Option      "TwinView" "horizontal"
    Option      "Touch" "off"    
EndSection

Section "Monitor"
    Identifier   "Generic EDID"
    VendorName   "---"
    ModelName    "NVIDIA Generic EDID"
EndSection

Section "Device"
    Identifier  "Dual GPU"
    Driver      "nvidia"
    BoardName   "Unknown"
    BusId       "PCI:6:0:0"
    Option      "UseDisplayDevice" "none"
    Option      "Interactive" "False"
    Option      "HardDPMS" "False"
EndSection

Section "Monitor"
    Identifier   "Generic 1920x1200 EDID"
    VendorName   "---"
    ModelName    "NVIDIA Generic 1920x1200 EDID"
    HorizSync    30.0 - 95.0
    VertRefresh  50.0 - 180.0
EndSection

Section "Screen"
    Identifier "Screen Dummy Dual GPU Screen"
    Device     "Dual GPU"
    Monitor    "Generic 1920x1200 EDID"
    DefaultDepth 24
    SubSection "Display"
        Virtual  1920 1200
        Depth 24
    EndSubSection
EndSection

Section "Monitor"
    Identifier   "Generic Monitor"
EndSection

Section "Device"
    Identifier  "NVIDIA Generic"
    Driver      "nvidia"
    Option      "Overlay" "on"
    Option      "HardDPMS" "False"
    Option      "Interactive" "False"
#    Option      "ModeValidation" "NoEdidMaxPClkCheck, NoHorizSyncCheck, NoVertRefreshCheck"
#    Option      "ExactModeTimingsDVI" "True"
#    Option      "TwinView" "true"
#    Option      "UseDisplayDevice" "DFP-X"
#    Option      "IncludeImplicitMetaModes" "False"
#    Option      "nvidiaXineramaInfoOrder" "DFP-X"
#    Option      "MetaModes" "DFP-X: X1RESxY1RES +X1OFFSET+0,  DFP-Y: X2RESxY2RES +X2OFFSET+0"
    Option      "BusID" "PCI:::"
EndSection

Section "Screen"
    Identifier     "Screen Default 0"
    Device         "NVIDIA Generic"
    Monitor        "Generic Monitor"
    DefaultDepth   24 
    SubSection     "Display"
        Depth 24
    EndSubSection
EndSection

Log shows an “(EE) no screens found (EE)” error. And indeed, when I boot without any xorg file, nvidia control panel shows “no screens detected”. The section I edit is Device, NVIDIA Generic, and replacing “BusID” “PCI:::” by “BusID” “PCI:1:0:0”

So I don’t know what is really the problem. device? screen? Monitor? . The damn xorg has been always like a moebius stripe . A section A calling to a section B calling to a section C calling to section A. :face_with_raised_eyebrow:

Ah right, integrated ryzen not intel! my bad.

For sure! and the xorg setup Flame installs is quite obtuse… Can you please try run that again but delete the existing xorg.conf?

When running nvidia-xconfig with an existing xorg it appends/merges the new information. There is a lot of wacky shit in that one we don’t need or want to deal with right now so we need to make a completely fresh one. And yeah, it looks like its trying to setup a display on “screen default 0” using “nvidia generic” but “nvidia generic” is looking messed up.

Hi again.

To complete the story, I was finally able to get the graphical environment working. The fix was use xorg’s command (Xorg :1 -configure) and then to try to copy and mix all main sections as close as possible to the original dku’s xorg. Everything seems works ok for the desktop. Nividia panel, system info , shows the grapic card up and running. The graphic card section shows the right PCI:1:0:0 id. BUT, flame does not launch. I get “abnormal termination code -11” which means basically some hardware does not like it, altought, Hardware validation tool shows the graphic card in green, like “passed”.

I am perfectly aware that this stuff is an exotic experiment and that it’s not supported at all. First, this was just an experiment. But now, it would be great to have flame working in my laptop because I’m moving, and I’ll spend a lot of time out of the office, and would like to share the license between the office and my new temporary home.

Well , I think that even though the system information says that the nvidia card is active, (which it is) the system is still somehow using the integrated card because it is related to some “screens” or “displays” used. (Nvidia panel shows an screen called “PRIME” ) . I keep an original “AMD device” section created by Xorg, and if disabled it, I lost the graphical enviromment again.

I’d to try to disable completely the integrated gpu, if it woud be possible. I’d like to make one last attempt editing the xorg file trying to setup a new screen, display device, whatever, which call directly to the nvidia card. If someone of the original thread mentioned, or someone with a laptop with dual gpu could share their xorg file, or simply someone with a little knowledge about xorg, I would be eternally grateful.

this is my current xorg file:

and this the original xorg file

I hate to say it but it’s possible you’re out of luck with that laptop :pensive: I have a Yoga 730 with both integrated and discrete GPUs and even though I do have it all working in CentOS so I can run Houdini, Resolve, Blender etc on the NVIDIA GPU, Flame just crashes immediately - who knows why, it probably has more complicated GPU detection logic than other apps which is fair enough…

For what it’s worth mine uses the older Optimus stack which involves bumblebee (the daemon that handles the discrete GPU), primus (the bridge that pipes images from the dGPU to the iGPU for display) and optirun (which lets you choose which GPU to use). I don’t have an /etc/X11/xorg.conf at all, it just automatically uses the iGPU, then bumblebee has its own config file where all I changed was the dGPU’s PCI bus ID. It sounds like yours is using the newer PRIME stuff which should be more likely to work - the docs for setting it up are here. A good test is to run glxinfo | grep renderer and check it says NVIDIA rather than Mesa/Intel/AMD but I wouldn’t be surprised if Flame still gets confused :disappointed:

Anyway for anyone thinking about a Linux laptop I would deffo avoid these Optimus “muxless” ones and find one where you can disable the integrated GPU in the BIOS - the HP Zbook Studio G3 and the Zbook 17 G4 let you do that and worked well with Flame even though they were still kind of a nightmare to set up, and I think Jack got a few 2019 Razer 15s to work…

One way or another, I am aware that this laptop is most likely simply incompatible. It was only a last chance to get this thing working. I bought this laptop for my personal use. What a pity :relieved:

2 Likes

I know it is late but this did it for me using:

Rocky-8.7-x86_64-dvd1-ADSK_REV001
DKU_18.0.0
autodesk_flame_2024_LINUX64

on a laptop with amd ryzen with integrated gpu and gtx3070.
I used the nvidia drivers as the Dku ones would break something even with safeboot turned off.
Hope this helps someone in the future.
Thank you all for the help.

2 Likes

Could you give us more details? what drivers version are you using? Do your laptop have some disabling gpu option in the bios?

Yes I had to disable the igpu in the Bios, option is called:
‘Enable hybrid Graphics/advanced optimus(when available)’ i set it to disabled.

I am using the latest drivers from NVIDIA( as of now ) they are:
’ Driver Version: 530.30.02 CUDA Version: 12.1 ’

Hope this helps.

1 Like

ah! that´s the point. Lucky you .