[guide] UGREEN Revodok Max 313

Hello there!

I am using a Framework 13 AMD Ryzen 7840U (BIOS 3.03). I needed to have a single USB-C connectivity on my desk that would accommodate:

  • 3 USB-A peripherals (camera, keyboard, mouse)
  • 2 screens
  • possibly Thunderbolt 4 daisy chaining (cf this post)
  • eventually charging external devices with USB-C/PD

I chose the UGREEN Revodok Max 313

On Windows 11, everything worked out of the box.

On Ubuntu 22.04, only the screens (one HDMI, one DP) failed to work. To fix this, I went berserk and chose to upgrade to 24.04. But I finally made it work:

  • I did a complete wipe/reinstall of my Ubuntu partition. After this step, the screens would connect/display. But they would flicker/turn on-off every few seconds.
  • I updated to the 6.10.2 kernel using mainline.
  • I updated to AMD drivers using the oibaf PPA.
  • I added amdgpu.sg_display=0 to the boot command line.
$ uname -a
Linux enterprise-c 6.10.2-061002-generic #202407271100 SMP PREEMPT_DYNAMIC Sat Jul 27 11:37:35 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
$ glxinfo | grep Mesa   
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.3~git2407280600.a211a5~oibaf~n (git-a211a51 2024-07-28 noble-oibaf-ppa)
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.3~git2407280600.a211a5~oibaf~n (git-a211a51 2024-07-28 noble-oi
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.3~git2407280600.a211a5~oibaf~n (git-a211a51 2024-07-28 noble-oibaf-ppa)

And voilĂ , now it works without any issue.

3 Likes

Hi @Jean-Marc_Le_Roux ,

Really appreciate the effort in putting this guide, we usually don’t recommend docks as we can’t do extensive tests for most of them, but really welcomes any community effort for specific workarounds for specific brand and models to work. :slight_smile:

1 Like

Thanks for looking onto this.

I have FW16 with a CalDigit TS4 dock that is exhibiting the same issue with the monitors. Can you explain to me how to add that to the boot command line? I am a relatively new to Linux (using Fedora 40).

I’d like to see if this will help me too.

Current release kernel is 6.9.11 but hoping to see 6.10.0 soon.

Follow these steps to add amdgpu.sg_display=0 to the Linux boot command line on Fedora 40:

  1. Open Terminal:

    • Press Ctrl+Alt+T to open a terminal window.
  2. Edit the GRUB Configuration:

    • Use a text editor with superuser privileges to edit the GRUB configuration file. You can use nano, vi, or gedit. Here, we’ll use nano for simplicity. Type the following command and press Enter:
      sudo nano /etc/default/grub
      
  3. Find the GRUB_CMDLINE_LINUX Line:

    • Look for the line starting with GRUB_CMDLINE_LINUX. It will look something like this:
      GRUB_CMDLINE_LINUX=""
      
  4. Add the Parameter:

    • Inside the quotes, add amdgpu.sg_display=0. If there are already other parameters, separate them with a space. For example:
      GRUB_CMDLINE_LINUX="quiet splash amdgpu.sg_display=0"
      
  5. Save and Exit:

    • If using nano, save the changes by pressing Ctrl+O, then press Enter to confirm. Exit by pressing Ctrl+X.
  6. Update GRUB:

    • After editing the GRUB configuration file, you need to update the GRUB bootloader configuration. Run the following command:

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    • For UEFI systems, use this command instead:

      sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
      
  7. Reboot:

    • Reboot your system to apply the changes. You can do this by typing:
      sudo reboot
      

After following these steps, amdgpu.sg_display=0 will be added to your boot command line, and your system will use this parameter on the next boot.

1 Like

Thank you! Today Fedora 40 got updated to 6.9.12. I followed your steps, and same behavior. I’m going to leave that boot command line in and wait for kernel updates to see if starts working once we get 6.10.2.

You can thank ChatGPT actually :stuck_out_tongue:

1 Like

Fedora 40 is now on 6.10.3-200.fc40.x86_64 and still same issue.

Confirmed that amdgpu.sg_display=0 is still in GBRUB_CMDLINE_LINUX

(I’m getting a 403 error when trying to put the real command (no dot) “u.name -a” into a preformated text like with the glxinfo below. Weird)

$ u.name -a
Linux framework16 6.10.3-200.fc40.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Aug  5 14:30:00 UTC 2024 x86_64 GNU/Linux
$ glxinfo | grep Mesa 
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.5
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.1.5
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.1.5

Can the power button turn the framework on and of?

Once it goes into this crashed state, a proper shutdown or reboot will get to a black screen but will not actuall shutdown or reboot. I would have to hold down the power button until it shuts off.

Oh sorry for the misunderstanding.
I was asking if the Power Button of the Dock can turn the framework on and off in general.
I wasn’t referring to the crashes

Oh, I have a CalDigit TS4 that is exhibiting the same issue with the 3rd display being detected as an unknown display. I made the edits as OP to hopefully fix it. OP has kernel 6.10, but mine was 6.9.12, Today Fedora 40 got 6.10.3 but still no happiness with the mod:

The CalDigit TS4 doesn’t have a power button to turn on the laptop. I also had a Dell WD22TB4 that exhibit the same behavior and has a power button, but I didn’t test the power button functionality while I had it.